Protecting the shutdown path
authorepage <epage@1a2a05ed-a369-0410-af37-574249971199>
Sat, 29 May 2010 03:05:47 +0000 (03:05 +0000)
committerepage <epage@1a2a05ed-a369-0410-af37-574249971199>
Sat, 29 May 2010 03:05:47 +0000 (03:05 +0000)
git-svn-id: https://dev.lds.org/svn/mormonchannel/trunk/maemo/trunk@510 1a2a05ed-a369-0410-af37-574249971199

src/mormonchannel_gtk.py

index e706a94..0d02372 100755 (executable)
@@ -118,20 +118,36 @@ class MormonChannelProgram(hildonize.get_app_class()):
                        gtk.main_quit()
 
        def quit(self):
                        gtk.main_quit()
 
        def quit(self):
-               self._save_settings()
+               try:
+                       self._save_settings()
+               except Exception:
+                       _moduleLogger.exception("Error saving settigns")
 
 
-               self._player.stop()
-               self._index.stop()
-               self._store.stop()
+               try:
+                       self._player.stop()
+               except Exception:
+                       _moduleLogger.exception("Error stopping player")
+               try:
+                       self._index.stop()
+               except Exception:
+                       _moduleLogger.exception("Error stopping index")
+               try:
+                       self._store.stop()
+               except Exception:
+                       _moduleLogger.exception("Error stopping store")
 
                try:
                        self._deviceState.close()
                except AttributeError:
                        pass # Either None or close was removed (in Fremantle)
 
                try:
                        self._deviceState.close()
                except AttributeError:
                        pass # Either None or close was removed (in Fremantle)
+               except Exception:
+                       _moduleLogger.exception("Error closing device state")
                try:
                        self._osso_c.close()
                except AttributeError:
                        pass # Either None or close was removed (in Fremantle)
                try:
                        self._osso_c.close()
                except AttributeError:
                        pass # Either None or close was removed (in Fremantle)
+               except Exception:
+                       _moduleLogger.exception("Error closing osso state")
 
 
 def run():
 
 
 def run():