[hamster-applet/gnome-2-30] quit mainloop on dialog window close if no parent was provided (avoid hanging)
- From: Toms Baugis <tbaugis src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [hamster-applet/gnome-2-30] quit mainloop on dialog window close if no parent was provided (avoid hanging)
- Date: Mon, 12 Jul 2010 10:39:19 +0000 (UTC)
commit da90d07da851c3afaf2b6a7045503cc3e1a341b5
Author: Toms Bauģis <toms baugis gmail com>
Date: Mon Jul 12 11:39:12 2010 +0100
quit mainloop on dialog window close if no parent was provided (avoid hanging)
src/hamster/applet.py | 2 +-
src/hamster/configuration.py | 13 +++++++++----
2 files changed, 10 insertions(+), 5 deletions(-)
---
diff --git a/src/hamster/applet.py b/src/hamster/applet.py
index d926ba5..72dfad3 100755
--- a/src/hamster/applet.py
+++ b/src/hamster/applet.py
@@ -570,7 +570,7 @@ class HamsterApplet(object):
dialogs.edit.show(self.applet)
def on_about (self, component, verb):
- dialogs.about.show()
+ dialogs.about.show(self.window)
def show_preferences(self, menu_item, verb):
runtime.dispatcher.dispatch('panel_visible', False)
diff --git a/src/hamster/configuration.py b/src/hamster/configuration.py
index 864fc8f..3c02694 100644
--- a/src/hamster/configuration.py
+++ b/src/hamster/configuration.py
@@ -22,6 +22,7 @@ gconf part of this code copied from Gimmie (c) Alex Gravely via Conduit (c) John
License: GPLv2
"""
+import gtk
import gconf
import gettext
import os
@@ -137,13 +138,17 @@ class OneWindow(object):
if parent:
dialog = self.get_dialog_class()(parent, **kwargs)
dialog.window.set_transient_for(parent.get_toplevel())
+ # to make things simple, we hope that the target has defined self.window
+ dialog.window.connect("destroy",
+ lambda window, params: self.on_dialog_destroy(params),
+ params)
else:
dialog = self.get_dialog_class()(**kwargs)
+ # if not parent was provided, close mainloop on close
+ dialog.window.connect("destroy",
+ lambda window, params: gtk.main_quit(),
+ params)
- # to make things simple, we hope that the target has defined self.window
- dialog.window.connect("destroy",
- lambda window, params: self.on_dialog_destroy(params),
- params)
self.dialogs[params] = dialog
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]