]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkfilechooserbutton.c
Only unblock the handlers if they are blocked.
[~andy/gtk] / gtk / gtkfilechooserbutton.c
index a35e91ea082f1dc48be9358546877c8b93b714e9..cba1d76bac209e0d59777e6273a32d52bbdcf5c8 100644 (file)
@@ -2158,14 +2158,18 @@ dialog_response_cb (GtkDialog *dialog,
 
   update_label_and_image (user_data);
   update_combo_box (user_data);
+  
+  if (priv->active)
+    {
+      g_signal_handler_unblock (priv->dialog,
+                               priv->dialog_folder_changed_id);
+      g_signal_handler_unblock (priv->dialog,
+                               priv->dialog_file_activated_id);
+      g_signal_handler_unblock (priv->dialog,
+                               priv->dialog_selection_changed_id);
+      priv->active = FALSE;
+    }
 
-  g_signal_handler_unblock (priv->dialog,
-                           priv->dialog_folder_changed_id);
-  g_signal_handler_unblock (priv->dialog,
-                           priv->dialog_file_activated_id);
-  g_signal_handler_unblock (priv->dialog,
-                           priv->dialog_selection_changed_id);
-  priv->active = FALSE;
   gtk_widget_set_sensitive (priv->combo_box, TRUE);
   gtk_widget_hide (priv->dialog);
 }