Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Drake <dsd@laptop.org>2011-09-15 09:43:02 (GMT)
committer Simon Schampijer <simon@schampijer.de>2011-09-19 18:09:21 (GMT)
commit8d0daf168840ac201c35d984d7e1246d3bf4c9ca (patch)
treec5b945e9da6801826d8424ab6515956ce4972c53
parent2433c89d52306e102903327e1ebabefc6e7527ce (diff)
Wireless key dialog: handle delete_event correctly
When clicking 'OK' in the key dialog, the response callback correctly destroys the dialog after processing the response. However, this causes _key_dialog_destroy_cb to attempt to process a cancel response, causing an invalid message to be sent over dbus (which dbus rejects). Handle delete_event correctly by catching gtk.RESPONSE_DELETE_EVENT, no need for any special event handling. Signed-off-by: Daniel Drake <dsd@laptop.org> Acked-by: Simon Schampijer <simon@laptop.org>
-rw-r--r--src/jarabe/desktop/keydialog.py8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/jarabe/desktop/keydialog.py b/src/jarabe/desktop/keydialog.py
index 6241b9b..c72f498 100644
--- a/src/jarabe/desktop/keydialog.py
+++ b/src/jarabe/desktop/keydialog.py
@@ -301,21 +301,17 @@ def create(ssid, flags, wpa_flags, rsn_flags, dev_caps, settings, response):
dev_caps, settings, response)
key_dialog.connect('response', _key_dialog_response_cb)
- key_dialog.connect('destroy', _key_dialog_destroy_cb)
key_dialog.show_all()
-def _key_dialog_destroy_cb(key_dialog, data=None):
- _key_dialog_response_cb(key_dialog, gtk.RESPONSE_CANCEL)
-
-
def _key_dialog_response_cb(key_dialog, response_id):
response = key_dialog.get_response_object()
secrets = None
if response_id == gtk.RESPONSE_OK:
secrets = key_dialog.create_security()
- if response_id in [gtk.RESPONSE_CANCEL, gtk.RESPONSE_NONE]:
+ if response_id in [gtk.RESPONSE_CANCEL, gtk.RESPONSE_NONE,
+ gtk.RESPONSE_DELETE_EVENT]:
# key dialog dialog was canceled; send the error back to NM
response.set_error(CanceledKeyRequestError())
elif response_id == gtk.RESPONSE_OK: