diff --git a/gtk/gtkfilechooserbutton.c b/gtk/gtkfilechooserbutton.c index 4319bb0298..70b0b4f268 100644 --- a/gtk/gtkfilechooserbutton.c +++ b/gtk/gtkfilechooserbutton.c @@ -2302,6 +2302,12 @@ update_label_and_image (GtkFileChooserButton *button) label_text = NULL; pixbuf = NULL; + if (priv->update_button_cancellable) + { + g_cancellable_cancel (priv->update_button_cancellable); + priv->update_button_cancellable = NULL; + } + if (files && files->data) { GFile *file; @@ -2333,12 +2339,6 @@ update_label_and_image (GtkFileChooserButton *button) goto out; } - if (priv->update_button_cancellable) - { - g_cancellable_cancel (priv->update_button_cancellable); - priv->update_button_cancellable = NULL; - } - if (g_file_is_native (file)) { priv->update_button_cancellable = diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c index f77041af38..a904d1c3f9 100644 --- a/gtk/gtkfilechooserdefault.c +++ b/gtk/gtkfilechooserdefault.c @@ -7571,6 +7571,12 @@ gtk_file_chooser_default_unselect_all (GtkFileChooser *chooser) GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser); GtkTreeSelection *selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (impl->browse_files_tree_view)); + if (impl->show_and_select_files_cancellable) + { + g_cancellable_cancel (impl->show_and_select_files_cancellable); + impl->show_and_select_files_cancellable = NULL; + } + gtk_tree_selection_unselect_all (selection); pending_select_files_free (impl); }