[gtk+/gtk-2-24] ComboBox: List-mode popup must open on CB’s screen



commit faa69b3547ce716262db766ba56cf1d663540785
Author: Daniel Boles <dboles src gnome org>
Date:   Sun Aug 27 21:29:52 2017 +0100

    ComboBox: List-mode popup must open on CB’s screen
    
    The screen for the list-mode popup_window was only being set in
    set_popup_widget(), i.e. when changing modes, so if the ComboBox was
    moved to a different screen later, the popup would appear on the
    original one, which is wrong.
    
    Worse, this broke opening some combos in the Inspector in GTK+ 3.
    
    Fix this by moving the call to set_screen() to real_popup(), so
    the popup_window is put on the correct screen each time around.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=468868
    https://bugzilla.gnome.org/show_bug.cgi?id=786771

 gtk/gtkcombobox.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkcombobox.c b/gtk/gtkcombobox.c
index 0fd5911..ee4daf7 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/gtkcombobox.c
@@ -1599,8 +1599,6 @@ gtk_combo_box_set_popup_widget (GtkComboBox *combo_box,
            }
 
          gtk_window_set_resizable (GTK_WINDOW (priv->popup_window), FALSE);
-          gtk_window_set_screen (GTK_WINDOW (priv->popup_window),
-                                 gtk_widget_get_screen (GTK_WIDGET (combo_box)));
 
          priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL);
          
@@ -2118,6 +2116,8 @@ gtk_combo_box_real_popup (GtkComboBox *combo_box)
                                  TRUE);
   
   /* popup */
+  gtk_window_set_screen (GTK_WINDOW (priv->popup_window),
+                         gtk_widget_get_screen (GTK_WIDGET (combo_box)));
   gtk_widget_show (priv->popup_window);
 
   if (path)


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