Merge branch 'wip/hadess/children-left-msg' into 'main'
authorBenjamin Otte <otte.benjamin@googlemail.com>
Tue, 14 Mar 2023 16:31:44 +0000 (16:31 +0000)
committerBenjamin Otte <otte.benjamin@googlemail.com>
Tue, 14 Mar 2023 16:32:00 +0000 (12:32 -0400)
gtk: Fix "children left" warning with fatal warnings

See merge request GNOME/gtk!5652

(cherry picked from commit a05b73cb05a407a23a670b30c8d3719fa94436b9)

4f1ea18c gtk: Fix "children left" warning with fatal warnings

gtk/gtkwidget.c

index 702f9a72c16dc4b25bd1499da8d6c00052f7883d..974e12617222fa8b02abfcc18e8243d2bfb30bdd 100644 (file)
@@ -7637,14 +7637,20 @@ gtk_widget_finalize (GObject *object)
   if (_gtk_widget_get_first_child (widget) != NULL)
     {
       GtkWidget *child;
-      g_warning ("Finalizing %s %p, but it still has children left:",
-                 gtk_widget_get_name (widget), widget);
+      GString *s;
+
+      s = g_string_new (NULL);
+      g_string_append_printf (s, "Finalizing %s %p, but it still has children left:",
+                              gtk_widget_get_name (widget), widget);
       for (child = _gtk_widget_get_first_child (widget);
            child != NULL;
            child = _gtk_widget_get_next_sibling (child))
         {
-          g_warning ("   - %s %p", gtk_widget_get_name (child), child);
+          g_string_append_printf (s, "\n   - %s %p",
+                                  gtk_widget_get_name (child), child);
         }
+      g_warning ("%s", s->str);
+      g_string_free (s, TRUE);
     }
 
   if (g_object_is_floating (object))