bgo#563010 - Fix clearing the selection in GtkFileChooserButton

Previously the filename would get re-set on the button if one cleared the selection,
as an async cancellable was not getting canceled in that case.  Patch with
contributions from Milan Crha <mcrha@redhat.com>

Signed-off-by: Federico Mena Quintero <federico@novell.com>
This commit is contained in:
Federico Mena Quintero
2009-10-21 12:31:25 -05:00
parent 69b525c6ff
commit e7e58a5301
2 changed files with 12 additions and 6 deletions

View File

@@ -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 =

View File

@@ -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);
}