@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):
except KeyboardInterrupt:
app.quit()
raise
+ else:
+ app.quit()
if __name__ == "__main__":