emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] emacs/src ChangeLog xterm.c


From: Jan Djärv
Subject: [Emacs-diffs] emacs/src ChangeLog xterm.c
Date: Sun, 13 Dec 2009 14:24:24 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Jan Djärv <jhd> 09/12/13 14:24:24

Modified files:
        src            : ChangeLog xterm.c 

Log message:
        Work around warning about g_set_prgname() called multiple times.
        * xterm.c (my_log_handler): New function.
        (x_term_init): Set my_log_handler as log handler during gtk_init
        so we can filter out buggy messages. (bug #5120).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7923&r2=1.7924
http://cvs.savannah.gnu.org/viewcvs/emacs/src/xterm.c?cvsroot=emacs&r1=1.1059&r2=1.1060

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7923
retrieving revision 1.7924
diff -u -b -r1.7923 -r1.7924
--- ChangeLog   13 Dec 2009 13:31:35 -0000      1.7923
+++ ChangeLog   13 Dec 2009 14:24:22 -0000      1.7924
@@ -1,5 +1,9 @@
 2009-12-13  Jan Djärv  <address@hidden>
 
+       * xterm.c (my_log_handler): New function.
+       (x_term_init): Set my_log_handler as log handler during gtk_init
+       so we can filter out buggy messages. (bug #5120).
+
        * xterm.c (xg_scroll_callback): Parameter list changed,
        use parameter GtkScrollType to determine scroll/line/page.
        Only allow dragging if a button < 4 is grabbed (bug #5177).

Index: xterm.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/xterm.c,v
retrieving revision 1.1059
retrieving revision 1.1060
diff -u -b -r1.1059 -r1.1060
--- xterm.c     13 Dec 2009 13:31:37 -0000      1.1059
+++ xterm.c     13 Dec 2009 14:24:23 -0000      1.1060
@@ -10020,6 +10020,19 @@
     return dpy_ok;
 }
 
+#ifdef USE_GTK
+static void
+my_log_handler (log_domain, log_level, message, user_data)
+     const gchar *log_domain;
+     GLogLevelFlags log_level;
+     const gchar *message;
+     gpointer user_data;
+{
+  if (!strstr (message, "g_set_prgname"))
+      fprintf (stderr, "%s-WARNING **: %s\n", log_domain, message);
+}
+#endif
+  
 /* Open a connection to X display DISPLAY_NAME, and return
    the structure that describes the open display.
    If we cannot contact the display, return null.  */
@@ -10054,7 +10067,7 @@
     char *argv[NUM_ARGV];
     char **argv2 = argv;
     GdkAtom atom;
-
+    guint id;
 #ifndef HAVE_GTK_MULTIDISPLAY
     if (!EQ (Vinitial_window_system, Qx))
       error ("Sorry, you cannot connect to X servers with the GTK toolkit");
@@ -10089,7 +10102,12 @@
 
         XSetLocaleModifiers ("");
 
+        /* Work around GLib bug that outputs a faulty warning. See
+           https://bugzilla.gnome.org/show_bug.cgi?id=563627.  */
+        id = g_log_set_handler ("GLib", G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL
+                                  | G_LOG_FLAG_RECURSION, my_log_handler, 
NULL);
         gtk_init (&argc, &argv2);
+        g_log_remove_handler ("GLib", id);
 
         /* gtk_init does set_locale.  We must fix locale after calling it.  */
         fixup_locale ();




reply via email to

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