[gnome-control-center] user-accounts: fix response sensitivity of photo dialog



commit 4f2e590cf597385ea3bdee2d3231c3c80c769f2b
Author: Ondrej Holy <oholy redhat com>
Date:   Fri Jul 18 18:13:49 2014 +0200

    user-accounts: fix response sensitivity of photo dialog
    
    Preview has to be generated after default handler of "selection-changed"
    signal, otherwise dialog response sensitivity is rewritten (Bug 547988).
    Preview also has to be generated on "selection-changed" signal to reflect
    all changes (Bug 660877).
    
    https://bugzilla.gnome.org/show_bug.cgi?id=721683

 panels/user-accounts/um-photo-dialog.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/panels/user-accounts/um-photo-dialog.c b/panels/user-accounts/um-photo-dialog.c
index 5ff61ef..13fa8e7 100644
--- a/panels/user-accounts/um-photo-dialog.c
+++ b/panels/user-accounts/um-photo-dialog.c
@@ -158,7 +158,7 @@ update_preview (GtkFileChooser               *chooser,
 {
         gchar *uri;
 
-        uri = gtk_file_chooser_get_preview_uri (chooser);
+        uri = gtk_file_chooser_get_uri (chooser);
 
         if (uri) {
                 GdkPixbuf *pixbuf = NULL;
@@ -230,8 +230,13 @@ um_photo_dialog_select_file (UmPhotoDialog *um)
         gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (chooser), preview);
         gtk_file_chooser_set_use_preview_label (GTK_FILE_CHOOSER (chooser), FALSE);
         gtk_widget_show (preview);
-        g_signal_connect (chooser, "update-preview",
-                          G_CALLBACK (update_preview), um->thumb_factory);
+
+        /* Preview has to be generated after default handler of "selection-changed"
+         * signal, otherwise dialog response sensitivity is rewritten (Bug 547988).
+         * Preview also has to be generated on "selection-changed" signal to reflect
+         * all changes (Bug 660877). */
+        g_signal_connect_after (chooser, "selection-changed",
+                                G_CALLBACK (update_preview), um->thumb_factory);
 
         folder = g_get_user_special_dir (G_USER_DIRECTORY_PICTURES);
         if (folder)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]