[gtk/filechooser-completions] filechooser: Prevent over-eager completions




commit 9605e49fbf5c34bb9558025291b63ff113a3cc6b
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Aug 2 19:18:11 2020 -0400

    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

 gtk/gtkfilechooserwidget.c | 7 +++++++
 1 file changed, 7 insertions(+)
---
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 3509cf7cf7..2eae39493c 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -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 *


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]