emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] /srv/bzr/emacs/trunk r111078: * gtkutil.c (my_log_handler)


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r111078: * gtkutil.c (my_log_handler): New function.
Date: Mon, 03 Dec 2012 20:16:17 +0100
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 111078
fixes bug: http://debbugs.gnu.org/11177
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Mon 2012-12-03 20:16:17 +0100
message:
  * gtkutil.c (my_log_handler): New function.
  (xg_set_geometry): Set log handler to my_log_handler.
modified:
  src/ChangeLog
  src/gtkutil.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-12-03 14:13:06 +0000
+++ b/src/ChangeLog     2012-12-03 19:16:17 +0000
@@ -1,3 +1,8 @@
+2012-12-03  Jan Djärv  <address@hidden>
+
+       * gtkutil.c (my_log_handler): New function.
+       (xg_set_geometry): Set log handler to my_log_handler (Bug#11177).
+
 2012-12-03  Dmitry Antipov  <address@hidden>
 
        * lisp.h (modify_region): Rename to...

=== modified file 'src/gtkutil.c'
--- a/src/gtkutil.c     2012-10-13 21:52:09 +0000
+++ b/src/gtkutil.c     2012-12-03 19:16:17 +0000
@@ -813,6 +813,14 @@
     General functions for creating widgets, resizing, events, e.t.c.
  ***********************************************************************/
 
+static void
+my_log_handler (const gchar *log_domain, GLogLevelFlags log_level,
+               const gchar *msg, gpointer user_data)
+{
+  if (!strstr (msg, "visible children"))
+    fprintf (stderr, "XX %s-WARNING **: %s\n", log_domain, msg);
+}
+
 /* Make a geometry string and pass that to GTK.  It seems this is the
    only way to get geometry position right if the user explicitly
    asked for a position when starting Emacs.
@@ -828,6 +836,7 @@
       int top = f->top_pos;
       int yneg = f->size_hint_flags & YNegative;
       char geom_str[sizeof "=x--" + 4 * INT_STRLEN_BOUND (int)];
+      guint id;
 
       if (xneg)
         left = -left;
@@ -840,9 +849,15 @@
                (xneg ? '-' : '+'), left,
                (yneg ? '-' : '+'), top);
 
+      /* Silence warning about visible children.  */
+      id = g_log_set_handler ("Gtk", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
+                              | G_LOG_FLAG_RECURSION, my_log_handler, NULL);
+
       if (!gtk_window_parse_geometry (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
                                       geom_str))
         fprintf (stderr, "Failed to parse: '%s'\n", geom_str);
+
+      g_log_remove_handler ("Gtk", id);
     }
 }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]