From aa0e8ac26b860cad03adb0380b4701ba11f3b5db Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 18 May 2010 06:52:13 -0500 Subject: [PATCH] Making Ctrl+C friendlier and profiling friendlier --- src/mormonchannel_gtk.py | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/src/mormonchannel_gtk.py b/src/mormonchannel_gtk.py index 5eafe64..c29a982 100755 --- a/src/mormonchannel_gtk.py +++ b/src/mormonchannel_gtk.py @@ -109,25 +109,25 @@ class MormonChannelProgram(hildonize.get_app_class()): @misc_utils.log_exception(_moduleLogger) def _on_destroy(self, widget = None, data = None): - self.quit() + try: + self.quit() + finally: + gtk.main_quit() def quit(self): - try: - self._save_settings() + self._save_settings() - self._index.stop() - self._store.stop() + self._index.stop() + self._store.stop() - try: - self._deviceState.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) - finally: - gtk.main_quit() + try: + self._deviceState.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) @misc_utils.log_exception(_moduleLogger) def _on_show_about(self, widget = None, data = None): @@ -157,6 +157,8 @@ def run(): except KeyboardInterrupt: app.quit() raise + else: + app.quit() if __name__ == "__main__": -- 1.7.9.5