adfca8
diff --git a/src/gtkutil.c b/src/gtkutil.c
adfca8
index 44f828c..d434a48 100644
adfca8
--- a/src/gtkutil.c
adfca8
+++ b/src/gtkutil.c
adfca8
@@ -784,6 +784,14 @@ xg_hide_tooltip (FRAME_PTR f)
adfca8
     General functions for creating widgets, resizing, events, e.t.c.
adfca8
  ***********************************************************************/
adfca8
 
adfca8
+static void
adfca8
+my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
adfca8
+                        const gchar *msg, gpointer user_data)
adfca8
+{
adfca8
+    if (!strstr (msg, "visible children"))
adfca8
+        fprintf (stderr, "XX %s-WARNING **: %s\n", log_domain, msg);
adfca8
+}
adfca8
+
adfca8
 /* Make a geometry string and pass that to GTK.  It seems this is the
adfca8
    only way to get geometry position right if the user explicitly
adfca8
    asked for a position when starting Emacs.
adfca8
@@ -799,6 +807,7 @@ xg_set_geometry (FRAME_PTR f)
adfca8
       int top = f->top_pos;
adfca8
       int yneg = f->size_hint_flags & YNegative;
adfca8
       char geom_str[sizeof "=x--" + 4 * INT_STRLEN_BOUND (int)];
adfca8
+      guint id;
adfca8
 
adfca8
       if (xneg)
adfca8
         left = -left;
adfca8
@@ -811,9 +820,15 @@ xg_set_geometry (FRAME_PTR f)
adfca8
                (xneg ? '-' : '+'), left,
adfca8
                (yneg ? '-' : '+'), top);
adfca8
 
adfca8
+      /* Silence warning about visible children.  */
adfca8
+      id = g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
adfca8
+                              | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
adfca8
+
adfca8
       if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
adfca8
                                       geom_str))
adfca8
         fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
adfca8
+
adfca8
+      g_log_remove_handler ("Gtk", id);
adfca8
     }
adfca8
 }
adfca8