Explorar o código

wxGUI: fix trac https://trac.osgeo.org/grass/ticket/460
(merge from devbr6, https://trac.osgeo.org/grass/changeset/35571)


git-svn-id: https://svn.osgeo.org/grass/grass/trunk@35573 15284696-431f-4ddb-bdfa-cd5b030d7da7

Martin Landa %!s(int64=16) %!d(string=hai) anos
pai
achega
1e3665a605
Modificáronse 1 ficheiros con 12 adicións e 4 borrados
  1. 12 4
      gui/wxpython/wxgui.py

+ 12 - 4
gui/wxpython/wxgui.py

@@ -439,6 +439,8 @@ class GMFrame(wx.Frame):
         self.gm_cb.GetPage(event.GetSelection()).maptree.Map.Clean()
         self.gm_cb.GetPage(event.GetSelection()).maptree.Close(True)
         
+        self.curr_page = None
+        
         event.Skip()
 
     def OnRunCmd(self, event):
@@ -1448,10 +1450,14 @@ class GMFrame(wx.Frame):
             self.curr_page.maptree.Delete(layer)
         
     def OnCloseWindow(self, event):
-        """Cleanup when wxgui.py is quit"""
+        """Cleanup when wxGUI is quit"""
+        if not self.curr_page:
+            self._auimgr.UnInit()
+            self.Destroy()
+            return
+        
+        maptree = self.curr_page.maptree
         if UserSettings.Get(group='manager', key='askOnQuit', subkey='enabled'):
-            maptree = self.curr_page.maptree
-            
             if self.workspaceFile:
                 message = _("Do you want to save changes in the workspace?")
             else:
@@ -1480,10 +1486,12 @@ class GMFrame(wx.Frame):
         # don't ask any more...
         UserSettings.Set(group = 'manager', key = 'askOnQuit', subkey = 'enabled',
                          value = False)
+
         for page in range(self.gm_cb.GetPageCount()):
             self.gm_cb.GetPage(0).maptree.mapdisplay.OnCloseWindow(event)
+
         self.gm_cb.DeleteAllPages()
-        # self.DestroyChildren()
+        
         self._auimgr.UnInit()
         self.Destroy()