From 41b3827aa14db686e4717160d78f4f3ae0f6e37b Mon Sep 17 00:00:00 2001 From: Ed Page Date: Wed, 10 Feb 2010 20:09:51 -0600 Subject: [PATCH] Protecting against stopping without starting --- src/autogv.py | 10 ++++++++++ 1 file changed, 10 insertions(+) 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: -- 1.7.9.5