shell: Make KeyringPrompt.cancel() callable from signal handlers

gcr/gnome-keyring don't handle the case where prompt_password_async()/
prompt_confirm_async() return their result from within the function
very well (or rather: break badly). Calling gcr_prompt_close() instead
is safe, but to avoid these kind of errors in the future, modify
shell_keyring_prompt_cancel() to work as expected in this case.

https://bugzilla.gnome.org/show_bug.cgi?id=708187
This commit is contained in:
Florian Müllner 2013-09-18 19:21:50 +02:00
parent 3d5e7bd6f1
commit a89fd17b8e

View File

@ -771,6 +771,6 @@ shell_keyring_prompt_cancel (ShellKeyringPrompt *self)
self->async_result = NULL; self->async_result = NULL;
self->mode = PROMPTING_NONE; self->mode = PROMPTING_NONE;
g_simple_async_result_complete (res); g_simple_async_result_complete_in_idle (res);
g_object_unref (res); g_object_unref (res);
} }