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@30675 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b0cafb9172
commit
148275d324
@ -10814,7 +10814,6 @@ class _wxPyUnbornObject(object):
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
_wxPyCallAfterId = None
|
||||
|
||||
def CallAfter(callable, *args, **kw):
|
||||
"""
|
||||
@ -10828,19 +10827,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)
|
||||
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user