From 6f6961725294b441f716fa1f1c37fb6470660df8 Mon Sep 17 00:00:00 2001 From: Robin Dunn Date: Sun, 29 May 2005 00:48:53 +0000 Subject: [PATCH] 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 --- wxPython/demo/Main.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) 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): -- 2.50.0