filechooser: Prevent over-eager completions

We don't want the completions to pop up after we call
gtk_file_chooser_set_current_name(). This used to be
handled by gtk_entry_set_text() blocking the completion
signal handler. We don't have that anymore, so block
popup completion around the call to gtk_editable_set_text()
instead.

Fixes: #2995
This commit is contained in:
Matthias Clasen 2020-08-02 19:18:11 -04:00
parent 7fe7d5ab4f
commit 9605e49fbf

View File

@ -5088,11 +5088,18 @@ gtk_file_chooser_widget_set_current_name (GtkFileChooser *chooser,
const char *name)
{
GtkFileChooserWidget *impl = GTK_FILE_CHOOSER_WIDGET (chooser);
GtkEntryCompletion *completion;
g_return_if_fail (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE);
pending_select_files_free (impl);
completion = gtk_entry_get_completion (GTK_ENTRY (impl->location_entry));
gtk_entry_completion_set_popup_completion (completion, FALSE);
gtk_editable_set_text (GTK_EDITABLE (impl->location_entry), name);
gtk_entry_completion_set_popup_completion (completion, TRUE);
}
static char *