From: <pki...@us...> - 2008-07-27 20:42:15
|
Revision: 5906 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5906&view=rev Author: pkienzle Date: 2008-07-27 20:42:13 +0000 (Sun, 27 Jul 2008) Log Message: ----------- Fix wx event loops Modified Paths: -------------- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py Modified: trunk/matplotlib/lib/matplotlib/backends/backend_wx.py =================================================================== --- trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2008-07-27 20:36:10 UTC (rev 5905) +++ trunk/matplotlib/lib/matplotlib/backends/backend_wx.py 2008-07-27 20:42:13 UTC (rev 5906) @@ -719,9 +719,6 @@ bind(self, wx.EVT_LEAVE_WINDOW, self._onLeave) bind(self, wx.EVT_IDLE, self._onIdle) - # Event loop handler for start/stop event loop - self._event_loop = wx.EventLoop() - self.macros = {} # dict from wx id to seq of macros self.Printer_Init() @@ -932,12 +929,19 @@ This call blocks until a callback function triggers stop_event_loop() or *timeout* is reached. If *timeout* is <=0, never timeout. + + Raises RuntimeError if event loop is already running. """ + if hasattr(self, '_event_loop'): + raise RuntimeError("Event loop already running") id = wx.NewId() timer = wx.Timer(self, id=id) if timeout > 0: timer.Start(timeout*1000, oneShot=True) bind(self, wx.EVT_TIMER, self.stop_event_loop, id=id) + + # Event loop handler for start/stop event loop + self._event_loop = wx.EventLoop() self._event_loop.Run() timer.Stop() @@ -951,8 +955,10 @@ stop_event_loop_default(self) """ - if self._event_loop.IsRunning(): - self._event_loop.Exit() + if hasattr(self,'_event_loop'): + if self._event_loop.IsRunning(): + self._event_loop.Exit() + del self._event_loop def _get_imagesave_wildcards(self): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |