diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 90f747522a39..09ef492d9c4b 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -1042,7 +1042,7 @@ def start(self, interval=None): to reset the timer interval first if provided. ''' if interval is not None: - self.set_interval(interval) + self._set_interval(interval) self._timer_start() def stop(self): diff --git a/lib/matplotlib/backends/backend_qt4.py b/lib/matplotlib/backends/backend_qt4.py index e36a8a110278..45fe444743d8 100644 --- a/lib/matplotlib/backends/backend_qt4.py +++ b/lib/matplotlib/backends/backend_qt4.py @@ -99,12 +99,17 @@ def __init__(self, *args, **kwargs): self._timer = QtCore.QTimer() QtCore.QObject.connect(self._timer, QtCore.SIGNAL('timeout()'), self._on_timer) + self._timer_set_interval() def __del__(self): # Probably not necessary in practice, but is good behavior to disconnect - TimerBase.__del__(self) - QtCore.QObject.disconnect(self._timer , QtCore.SIGNAL('timeout()'), - self._on_timer) + try: + TimerBase.__del__(self) + QtCore.QObject.disconnect(self._timer, + QtCore.SIGNAL('timeout()'), self._on_timer) + except RuntimeError: + # Timer C++ object already deleted + pass def _timer_set_single_shot(self): self._timer.setSingleShot(self._single)