[gtk/wip/matthiasc/popup2: 49/51] popup fixes



commit 112c41859127ca1b19165a905ba790fd62806b67
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Mar 18 08:10:49 2019 -0400

    popup fixes
    
    Handle initial focus better.

 gtk/gtkpopup.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkpopup.c b/gtk/gtkpopup.c
index a24c1270d3..b946543e1d 100644
--- a/gtk/gtkpopup.c
+++ b/gtk/gtkpopup.c
@@ -116,13 +116,15 @@ gtk_popup_move_resize (GtkPopup *popup)
   gtk_widget_translate_coordinates (priv->relative_to,
                                     GTK_WIDGET (gtk_widget_get_root (priv->relative_to)),
                                     rect.x, rect.y, &rect.x, &rect.y);
-
+  gdk_surface_move_resize (priv->surface, rect.x, rect.y, rect.width, rect.height);
+#if 0
   gdk_surface_move_to_rect (priv->surface,
                             &rect,
                             GDK_GRAVITY_SOUTH,
                             GDK_GRAVITY_NORTH,
                             GDK_ANCHOR_FLIP_Y,
                             0, 10);
+#endif
 }
 
 static void
@@ -284,14 +286,14 @@ static void
 gtk_popup_show (GtkWidget *widget)
 {
   GtkPopup *popup = GTK_POPUP (widget);
-  GtkPopupPrivate *priv = gtk_popup_get_instance_private (popup);
 
   _gtk_widget_set_visible_flag (widget, TRUE);
   gtk_css_node_validate (gtk_widget_get_css_node (widget));
   gtk_widget_realize (widget);
   gtk_widget_map (widget);
 
-  gtk_popup_move_focus (widget, GTK_DIR_TAB_FORWARD);
+  if (!gtk_widget_get_focus_child (widget))
+    gtk_widget_child_focus (widget, GTK_DIR_TAB_FORWARD);
 }
 
 static void


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