commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8925 - in trunk/gnue-forms/src: . uidrivers/wx26/widgets


From: johannes
Subject: [gnue] r8925 - in trunk/gnue-forms/src: . uidrivers/wx26/widgets
Date: Wed, 25 Oct 2006 08:13:35 -0500 (CDT)

Author: johannes
Date: 2006-10-25 08:13:34 -0500 (Wed, 25 Oct 2006)
New Revision: 8925

Modified:
   trunk/gnue-forms/src/GFForm.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
Log:
If a form.close() originates from a wx.CloseEvent don't keep the main 
loop running (hanging process)

issue-132 testing


Modified: trunk/gnue-forms/src/GFForm.py
===================================================================
--- trunk/gnue-forms/src/GFForm.py      2006-10-25 07:50:47 UTC (rev 8924)
+++ trunk/gnue-forms/src/GFForm.py      2006-10-25 13:13:34 UTC (rev 8925)
@@ -1819,7 +1819,7 @@
     # Close this window
     # -------------------------------------------------------------------------
 
-    def close(self):
+    def close(self, from_close_event=False):
 
         # FIXME: Changes in the current entry are not yet saved in the field if
         # this was caused by a click on the close button of the window,
@@ -1833,8 +1833,11 @@
 
         self.processTrigger('On-Exit')
 
-        if self.uiWidget is not None:
-            self.uiWidget._ui_close_()
+        # Only perform _ui_close_, if the call does not originate from a
+        # wx.CloseEvent
+        if not from_close_event:
+            if self.uiWidget is not None:
+                self.uiWidget._ui_close_()
 
         self.__visible = False
 

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-10-25 07:50:47 UTC 
(rev 8924)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-10-25 13:13:34 UTC 
(rev 8925)
@@ -276,12 +276,13 @@
     # -------------------------------------------------------------------------
 
     def __on_close(self, event):
+
         if event.CanVeto():
-            self._form.close()
+            self._form.close(True)
             event.Veto()
         else:
             self.sizing_enabled = False
-            event.GetEventObject().Destroy()
+            event.Skip()
 
     # -------------------------------------------------------------------------
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]