[gtk/wip/matthiasc/popup: 18/18] Avoid a crash



commit 43b4c24638a2cefcad7b378a1415c8076a534ffa
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Feb 24 18:41:26 2019 -0500

    Avoid a crash
    
    This is essentially a special case just for GtkPopover,
    which is the last widget with a child surface.

 gtk/gtkwidget.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index eae8dde54e..9257b7df3f 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -4350,7 +4350,8 @@ gtk_widget_allocate (GtkWidget    *widget,
     {
       /* Still have to move the window... */
       if (_gtk_widget_get_realized (widget) &&
-          _gtk_widget_get_has_surface (widget))
+          _gtk_widget_get_has_surface (widget) &&
+          GTK_IS_POPOVER (widget))
          {
            GtkAllocation window_alloc;
 
@@ -4552,7 +4553,8 @@ gtk_widget_real_size_allocate (GtkWidget *widget,
   GtkWidgetPrivate *priv = gtk_widget_get_instance_private (widget);
 
   if (_gtk_widget_get_realized (widget) &&
-      _gtk_widget_get_has_surface (widget))
+      _gtk_widget_get_has_surface (widget) &&
+      GTK_IS_POPOVER (widget))
      {
        GtkAllocation window_alloc;
 


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