From: Robin Dunn Date: Sun, 29 May 2005 00:48:53 +0000 (+0000) Subject: Cancel the timer and show the main frame immediately if the X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/6f6961725294b441f716fa1f1c37fb6470660df8 Cancel the timer and show the main frame immediately if the splashscreen window is closed early. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/demo/Main.py b/wxPython/demo/Main.py index a2084d2967..27fc39e231 100644 --- a/wxPython/demo/Main.py +++ b/wxPython/demo/Main.py @@ -1679,16 +1679,27 @@ class MySplashScreen(wx.SplashScreen): wx.SPLASH_CENTRE_ON_SCREEN | wx.SPLASH_TIMEOUT, 5000, None, -1) self.Bind(wx.EVT_CLOSE, self.OnClose) - wx.FutureCall(2000, self.ShowMain) + self.fc = wx.FutureCall(2000, self.ShowMain) + def OnClose(self, evt): + # Make sure the default handler runs too so this window gets + # destroyed + evt.Skip() self.Hide() - evt.Skip() # Make sure the default handler runs too... + + # if the timer is still running then go ahead and show the + # main frame now + if self.fc.IsRunning(): + self.fc.Stop() + self.ShowMain() + def ShowMain(self): frame = wxPythonDemo(None, "wxPython: (A Demonstration)") frame.Show() - self.Raise() + if self.fc.IsRunning(): + self.Raise() class MyApp(wx.App):