From 4795ae8e55dac06657852bda85c49cd3881e5970 Mon Sep 17 00:00:00 2001 From: Mathias Hasselmann Date: Thu, 31 May 2007 22:24:00 +0000 Subject: [PATCH] Reset the internal response_requested flag, once the response triggered by file_chooser_widget_response_requested has been processed (#347883) svn path=/branches/gtk-2-10/; revision=17997 --- ChangeLog | 6 ++++++ gtk/gtkfilechooserdialog.c | 17 ++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index d91feda79e..0357832e12 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-05-31 Mathias Hasselmann + + * gtk/gtkfilechooserdialog.c: Reset the internal response_requested flag, + once the response triggered by file_chooser_widget_response_requested has + been processed (#347883). + 2007-05-31 Kristian Rietveld Merge from trunk for #438750. diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c index 9e3fd31484..f60e7da3fc 100644 --- a/gtk/gtkfilechooserdialog.c +++ b/gtk/gtkfilechooserdialog.c @@ -443,21 +443,24 @@ response_cb (GtkDialog *dialog, gint response_id) { GtkFileChooserDialogPrivate *priv; + gboolean response_matters; priv = GTK_FILE_CHOOSER_DIALOG_GET_PRIVATE (dialog); /* Act only on response IDs we recognize */ - if (!(response_id == GTK_RESPONSE_ACCEPT - || response_id == GTK_RESPONSE_OK - || response_id == GTK_RESPONSE_YES - || response_id == GTK_RESPONSE_APPLY)) - return; + response_matters = + response_id == GTK_RESPONSE_ACCEPT + || response_id == GTK_RESPONSE_OK + || response_id == GTK_RESPONSE_YES + || response_id == GTK_RESPONSE_APPLY; - if (!priv->response_requested && !_gtk_file_chooser_embed_should_respond (GTK_FILE_CHOOSER_EMBED (priv->widget))) + if (response_matters && !priv->response_requested && + !_gtk_file_chooser_embed_should_respond (GTK_FILE_CHOOSER_EMBED (priv->widget))) { g_signal_stop_emission_by_name (dialog, "response"); - priv->response_requested = FALSE; } + + priv->response_requested = FALSE; } static GtkWidget *