From: Ed Page Date: Thu, 11 Feb 2010 02:09:51 +0000 (-0600) Subject: Protecting against stopping without starting X-Git-Url: http://git.maemo.org/git/?p=theonering;a=commitdiff_plain;h=41b3827aa14db686e4717160d78f4f3ae0f6e37b Protecting against stopping without starting --- diff --git a/src/autogv.py b/src/autogv.py index 0a960c8..41467bd 100644 --- a/src/autogv.py +++ b/src/autogv.py @@ -39,6 +39,9 @@ class NewGVConversations(object): ) def stop(self): + if self.__callback is None: + _moduleLogger.info("New conversation monitor stopped without starting") + return self._connRef().session.voicemails.updateSignalHandler.unregister_sink( self.__callback ) @@ -77,11 +80,16 @@ class RefreshVoicemail(object): self._connRef = connRef self._newChannelSignaller = telepathy_utils.NewChannelSignaller(self._on_new_channel) self._outstandingRequests = [] + self._isStarted = False def start(self): self._newChannelSignaller.start() + self._isStarted = True def stop(self): + if not self._isStarted: + _moduleLogger.info("voicemail monitor stopped without starting") + return _moduleLogger.info("Stopping voicemail refresh") self._newChannelSignaller.stop() @@ -92,6 +100,8 @@ class RefreshVoicemail(object): for request in localRequests: localRequests.cancel() + self._isStarted = False + @gtk_toolbox.log_exception(_moduleLogger) def _on_new_channel(self, bus, serviceName, connObjectPath, channelObjectPath, channelType): if channelType != telepathy.interfaces.CHANNEL_TYPE_STREAMED_MEDIA: