[gtk/wip/baedert/for-master: 74/83] widget: root child before emitting child observer signals




commit 59fb1122b28ca13a8e7c0ab7504a45613bf9b756
Author: Timm Bäder <mail baedert org>
Date:   Thu Nov 19 12:00:40 2020 +0100

    widget: root child before emitting child observer signals
    
    Try to avoid the childen_observer signal handlers screwing up internal
    state.
    
    Fixes #3364

 gtk/gtkwidget.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 0b663d98dd..239e9ff929 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -5776,6 +5776,9 @@ gtk_widget_reposition_after (GtkWidget *widget,
 
   _gtk_widget_update_parent_muxer (widget);
 
+  if (parent->priv->root && priv->root == NULL)
+    gtk_widget_root (widget);
+
   if (parent->priv->children_observer)
     {
       if (prev_previous)
@@ -5784,9 +5787,6 @@ gtk_widget_reposition_after (GtkWidget *widget,
         gtk_list_list_model_item_added (parent->priv->children_observer, widget);
     }
 
-  if (parent->priv->root && priv->root == NULL)
-    gtk_widget_root (widget);
-
   if (prev_parent == NULL)
     g_object_notify_by_pspec (G_OBJECT (widget), widget_props[PROP_PARENT]);
 


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