X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69ac96fd0d0e7b9d0fb1b349fe043502380ca929..b2e178485a2efcc04c88fa107b354a3e14454991:/wxPython/src/_app_ex.py diff --git a/wxPython/src/_app_ex.py b/wxPython/src/_app_ex.py index 98b35efc21..dc168fbf10 100644 --- a/wxPython/src/_app_ex.py +++ b/wxPython/src/_app_ex.py @@ -27,7 +27,7 @@ class PyOnDemandOutputWindow: style=wx.TE_MULTILINE|wx.TE_READONLY) self.text.AppendText(st) self.frame.Show(True) - EVT_CLOSE(self.frame, self.OnCloseWindow) + self.frame.Bind(wx.EVT_CLOSE, self.OnCloseWindow) def OnCloseWindow(self, event): @@ -173,11 +173,18 @@ your Mac.""" self._BootstrapApp() - def __del__(self): - try: - self.RestoreStdio() # Just in case the MainLoop was overridden - finally: - wx.PyApp.__del__(self) + def OnPreInit(self): + """ + Things that must be done after _BootstrapApp has done its + thing, but would be nice if they were already done by the time + that OnInit is called. + """ + wx.StockGDI._initStockObjects() + + + def __del__(self, destroy=wx.PyApp.__del__): + self.RestoreStdio() # Just in case the MainLoop was overridden + destroy(self) def Destroy(self): wx.PyApp.Destroy(self) @@ -206,7 +213,10 @@ your Mac.""" def RestoreStdio(self): - _sys.stdout, _sys.stderr = self.saveStdio + try: + _sys.stdout, _sys.stderr = self.saveStdio + except: + pass def SetOutputWindowAttributes(self, title=None, pos=None, size=None):