[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnue] r8995 - trunk/gnue-forms/src/uidrivers/wx26/widgets
From: |
johannes |
Subject: |
[gnue] r8995 - trunk/gnue-forms/src/uidrivers/wx26/widgets |
Date: |
Wed, 8 Nov 2006 04:23:04 -0600 (CST) |
Author: johannes
Date: 2006-11-08 04:23:03 -0600 (Wed, 08 Nov 2006)
New Revision: 8995
Modified:
trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
Log:
Don't segfault when another tab of a notebook is active on close
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2006-11-08
09:35:29 UTC (rev 8994)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/entry.py 2006-11-08
10:23:03 UTC (rev 8995)
@@ -112,7 +112,8 @@
self.__border = self._uiDriver.control_border('default')
ctrl = wx.TextCtrl(parent, -1, size=csize, style=xFlags)
- ctrl.Bind(wx.EVT_CHAR, self.__on_keypress)
+ ctrl.Bind(wx.EVT_TEXT, self.__on_text_changed)
+ # ctrl.Bind(wx.EVT_CHAR, self.__on_keypress)
ctrl.Bind(wx.EVT_SET_FOCUS, self.__on_set_focus)
# Currently wxMac does *not* recieve a button release event, so we
@@ -293,6 +294,14 @@
# -------------------------------------------------------------------------
+ def __on_text_changed(self, event):
+
+ self._request('REPLACEVALUE', text=event.GetEventObject().GetValue(),
+ position=event.GetEventObject().GetInsertionPoint())
+ event.Skip()
+
+ # -------------------------------------------------------------------------
+
def __on_keypress(self, event):
if 'wxMac' in wx.PlatformInfo or \
Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-11-08 09:35:29 UTC
(rev 8994)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/form.py 2006-11-08 10:23:03 UTC
(rev 8995)
@@ -294,6 +294,8 @@
# cleanly. This workaround is obsolete with wx2.7+
event.GetEventObject().Show()
event.GetEventObject().Destroy()
+ # After destroying the window we do not have a main_window anymore
+ self.main_window = None
# -------------------------------------------------------------------------
@@ -332,10 +334,11 @@
"""
# If a trigger closes the form, this is called after the form is
# closed, which would result in a segfault. So we have to check whether
- # the form is still visible.
- if wx.IsBusy() and self.main_window.IsShown():
+ # the form is still available.
+ if self.main_window and wx.IsBusy():
wx.EndBusyCursor()
+
# -------------------------------------------------------------------------
def _ui_beep_(self):
@@ -580,7 +583,7 @@
# border
dc.DrawRectangle(
- int((canvas_w - w) / 2) + page_left,
+ int((canvas_w - w) / 2) + page_left,
int((canvas_h - h) / 2) + canvas_top,
w, h)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8995 - trunk/gnue-forms/src/uidrivers/wx26/widgets,
johannes <=