Make the event ID used for wx.CallAfter be an attribute of the app so

when and addition all wx.App objects are created a new ID will be
generated.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30674 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn 2004-11-21 00:43:38 +00:00
parent fc71d09b42
commit b0cafb9172

View File

@ -90,7 +90,6 @@ class _wxPyUnbornObject(object):
#----------------------------------------------------------------------------
_wxPyCallAfterId = None
def CallAfter(callable, *args, **kw):
"""
@ -104,19 +103,17 @@ def CallAfter(callable, *args, **kw):
app = wx.GetApp()
assert app is not None, 'No wx.App created yet'
global _wxPyCallAfterId
if _wxPyCallAfterId is None:
_wxPyCallAfterId = wx.NewEventType()
app.Connect(-1, -1, _wxPyCallAfterId,
lambda event: event.callable(*event.args, **event.kw) )
if not hasattr(app, "_CallAfterId"):
app._CallAfterId = wx.NewEventType()
app.Connect(-1, -1, app._CallAfterId,
lambda event: event.callable(*event.args, **event.kw) )
evt = wx.PyEvent()
evt.SetEventType(_wxPyCallAfterId)
evt.SetEventType(app._CallAfterId)
evt.callable = callable
evt.args = args
evt.kw = kw
wx.PostEvent(app, evt)
#----------------------------------------------------------------------------