summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.pre-2-106
-rw-r--r--ChangeLog.pre-2-66
-rw-r--r--ChangeLog.pre-2-86
-rw-r--r--gtk/gtkfilechooserbutton.c29
5 files changed, 44 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 763d8421b..f019d343e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-11-03 James M. Cape <jcape@ignore-your.tv>
+
+ * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
+ Don't mysteriously go to the parent dir when hitting "Cancel" in
+ folder mode (fixes #156971).
+
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10
index 763d8421b..f019d343e 100644
--- a/ChangeLog.pre-2-10
+++ b/ChangeLog.pre-2-10
@@ -1,3 +1,9 @@
+2004-11-03 James M. Cape <jcape@ignore-your.tv>
+
+ * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
+ Don't mysteriously go to the parent dir when hitting "Cancel" in
+ folder mode (fixes #156971).
+
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6
index 763d8421b..f019d343e 100644
--- a/ChangeLog.pre-2-6
+++ b/ChangeLog.pre-2-6
@@ -1,3 +1,9 @@
+2004-11-03 James M. Cape <jcape@ignore-your.tv>
+
+ * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
+ Don't mysteriously go to the parent dir when hitting "Cancel" in
+ folder mode (fixes #156971).
+
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8
index 763d8421b..f019d343e 100644
--- a/ChangeLog.pre-2-8
+++ b/ChangeLog.pre-2-8
@@ -1,3 +1,9 @@
+2004-11-03 James M. Cape <jcape@ignore-your.tv>
+
+ * gtk/gtkfilechooserbutton.c (update_dialog), (dialog_response_cb):
+ Don't mysteriously go to the parent dir when hitting "Cancel" in
+ folder mode (fixes #156971).
+
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): Don't
diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c
index f2b59d299..502b06152 100644
--- a/gtk/gtkfilechooserbutton.c
+++ b/gtk/gtkfilechooserbutton.c
@@ -1435,17 +1435,26 @@ update_dialog (GtkFileChooserButton *button)
gtk_file_chooser_unselect_all (GTK_FILE_CHOOSER (priv->dialog));
if (folder_part)
{
- full_path = gtk_file_system_make_path (fs, folder_part, file_part, NULL);
-
/* Entry contents don't exist. */
- if (full_path)
- _gtk_file_chooser_select_path (GTK_FILE_CHOOSER (priv->dialog),
- full_path, NULL);
+ if (file_part && file_part[0] != '\0')
+ {
+ full_path = gtk_file_system_make_path (fs, folder_part, file_part,
+ NULL);
+ if (full_path)
+ {
+ _gtk_file_chooser_select_path (GTK_FILE_CHOOSER (priv->dialog),
+ full_path, NULL);
+ gtk_file_path_free (full_path);
+ }
+ else
+ _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
+ folder_part, NULL);
+ }
else
- _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
- folder_part, NULL);
-
- gtk_file_path_free (full_path);
+ {
+ _gtk_file_chooser_set_current_folder_path (GTK_FILE_CHOOSER (priv->dialog),
+ folder_part, NULL);
+ }
}
break;
@@ -1571,7 +1580,9 @@ dialog_response_cb (GtkFileChooser *dialog,
}
else
{
+ g_signal_handler_block (priv->dialog, priv->dialog_selection_changed_id);
update_dialog (user_data);
+ g_signal_handler_unblock (priv->dialog, priv->dialog_selection_changed_id);
}
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->button), FALSE);