mirror of
https://github.com/wxWidgets/Phoenix.git
synced 2026-01-07 04:20:07 +01:00
Merge pull request #320 from pauldmccarthy/agw_osx_segfault_fix
A couple of fixes to lib/agw/aui to prevent segfaults under OSX
This commit is contained in:
@@ -5581,7 +5581,7 @@ class AuiNotebook(wx.Panel):
|
||||
|
||||
else:
|
||||
main_idx = self._tabs.GetIdxFromWindow(close_wnd)
|
||||
self.DeletePage(main_idx)
|
||||
wx.CallAfter(self.DeletePage, main_idx)
|
||||
|
||||
# notify owner that the tab has been closed
|
||||
e2 = AuiNotebookEvent(wxEVT_COMMAND_AUINOTEBOOK_PAGE_CLOSED, self.GetId())
|
||||
|
||||
@@ -7376,7 +7376,12 @@ class AuiManager(wx.EvtHandler):
|
||||
if paneInfo.IsMaximized():
|
||||
self.RestorePane(paneInfo)
|
||||
paneInfo.Float()
|
||||
self.Update()
|
||||
|
||||
# The call to Update may result in
|
||||
# the notebook that generated this
|
||||
# event being deleted, so we have
|
||||
# to do the call asynchronously.
|
||||
wx.CallAfter(self.Update)
|
||||
|
||||
self._action_window = paneInfo.window
|
||||
|
||||
@@ -7417,8 +7422,15 @@ class AuiManager(wx.EvtHandler):
|
||||
if e.GetVeto():
|
||||
return
|
||||
|
||||
self.ClosePane(p)
|
||||
self.Update()
|
||||
# Close/update asynchronously, because
|
||||
# the notebook which generated the event
|
||||
# (and triggered this method call) will
|
||||
# be deleted.
|
||||
def close():
|
||||
self.ClosePane(p)
|
||||
self.Update()
|
||||
|
||||
wx.CallAfter(close)
|
||||
else:
|
||||
event.Skip()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user