* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr @ 2014-01-22 15:50 Barry OReilly 2014-01-24 19:16 ` Paul Eggert 2014-02-11 22:43 ` Barry OReilly 0 siblings, 2 replies; 7+ messages in thread From: Barry OReilly @ 2014-01-22 15:50 UTC (permalink / raw) To: 16522 [-- Attachment #1: Type: text/plain, Size: 2527 bytes --] When I start emacs, I get errors like: (emacs:13939): GLib-GObject-WARNING **: IA__g_object_notify: object class `GtkMenuItem' has no property named `label' They appear periodically as I do various things in Emacs. The first one appears before doing anything at all. I do not witness these warnings using Emacs 24.3. This is with recent trunk revision a693e5b566a7a88fecbb95b1f64426c9f52b3198. In GNU Emacs 24.3.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.10.4) of 2014-01-21 on redacted Repository revision: Windowing system distributor `The X.Org Foundation', version 11.0.70101000 System Description: Red Hat Enterprise Linux Client release 5.4 (Tikanga) Configured using: `configure --prefix /redacted/user/boreilly/sw/emacs-install-redacted --with-gif=no' Important settings: value of $LANG: en_US value of $XMODIFIERS: @im=none locale-coding-system: iso-latin-1-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Recent input: M-x r e p o r t - <tab> <return> Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. Load-path shadows: None found. Features: (shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml easymenu mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util help-fns mail-prsvr mail-utils time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) [-- Attachment #2: Type: text/html, Size: 2837 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-01-22 15:50 bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr Barry OReilly @ 2014-01-24 19:16 ` Paul Eggert 2014-10-11 18:16 ` Glenn Morris 2014-02-11 22:43 ` Barry OReilly 1 sibling, 1 reply; 7+ messages in thread From: Paul Eggert @ 2014-01-24 19:16 UTC (permalink / raw) To: 16522 [-- Attachment #1: Type: text/plain, Size: 471 bytes --] GtkMenuItem's "label" property was introduced in GTK+ 2.16, according to <https://bugreports.qt-project.org/browse/QTBUG-8537>. You're using GTK+ 2.10.4, which could explain the problem. I'm using Firefox 20 which has GTK+ 3.10.6 and do not see the problem. I suspect that the attached patch (which is trunk bzr 115967.1.1) is what introduced the problem. If you back this change out, does it fix things? I'll CC: this to Daniel Colascione to give him a heads-up. [-- Attachment #2: 115967.1.1.diff --] [-- Type: text/x-patch, Size: 4976 bytes --] === modified file 'src/ChangeLog' --- src/ChangeLog 2014-01-07 21:14:32 +0000 +++ src/ChangeLog 2014-01-13 01:40:35 +0000 @@ -1,3 +1,16 @@ +2014-01-13 Daniel Colascione <dancol@dancol.org> + + Fix menu item updating in the presence of the Unity global menu + GTK+ module. + + * gtkutil.h (xg_have_tear_offs): Add frame parameter + * gtkutil.c (xg_have_tear_offs): Count the global menu as a + tear-off. + (xg_update_menubar,xg_update_menu_item): Call g_object_notify when + updating menus; explain why. + * xmenu.c (set_frame_menubar): Call xg_have_tear_offs with new + parameter. + 2014-01-07 Paul Eggert <eggert@cs.ucla.edu> Fix misdisplay of interlaced GIFs with libgif5 (Bug#16372). === modified file 'src/gtkutil.c' --- src/gtkutil.c 2014-01-01 07:43:34 +0000 +++ src/gtkutil.c 2014-01-13 01:40:35 +0000 @@ -2414,9 +2414,12 @@ /* Return true if there are detached menus. */ bool -xg_have_tear_offs (void) +xg_have_tear_offs (struct frame *f) { - return xg_detached_menus > 0; + /* If the frame's menubar height is zero, the menu bar is probably + being redirected outside the window to some kind of global menu; + this situation is the moral equivalent of a tear-off. */ + return FRAME_MENUBAR_HEIGHT (f) == 0 || xg_detached_menus > 0; } /* Callback invoked when a detached menu window is removed. Here we @@ -2449,9 +2452,9 @@ } #else /* ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW */ bool -xg_have_tear_offs (void) +xg_have_tear_offs (struct frame *f) { - return false; + return FRAME_MENUBAR_HEIGHT (f) == 0; } #endif /* ! HAVE_GTK_TEAROFF_MENU_ITEM_NEW */ @@ -2897,7 +2900,13 @@ char *utf8_label = get_utf8_string (val->name); GtkWidget *submenu = gtk_menu_item_get_submenu (witem); + /* GTK menu items don't notice when their labels have been + changed from underneath them, so we have to explicitly + use g_object_notify to tell listeners (e.g., a GMenuModel + bridge that might be loaded) that the item's label has + changed. */ gtk_label_set_text (wlabel, utf8_label); + g_object_notify (G_OBJECT (witem), "label"); #ifdef HAVE_GTK_TEAROFF_MENU_ITEM_NEW /* If this item has a submenu that has been detached, change @@ -2934,6 +2943,7 @@ select_cb, deactivate_cb, highlight_cb, 0, 0, 0, 0, cl_data, 0); + gtk_widget_set_name (w, MENU_ITEM_NAME); gtk_menu_shell_insert (GTK_MENU_SHELL (menubar), w, pos); gtk_menu_item_set_submenu (GTK_MENU_ITEM (w), submenu); @@ -2993,6 +3003,7 @@ const char *old_label = 0; const char *old_key = 0; xg_menu_item_cb_data *cb_data; + bool label_changed = false; wchild = XG_BIN_CHILD (w); utf8_label = get_utf8_string (val->name); @@ -3037,15 +3048,20 @@ } } - if (wkey) old_key = gtk_label_get_label (wkey); if (wlbl) old_label = gtk_label_get_label (wlbl); if (wkey && utf8_key && (! old_key || strcmp (utf8_key, old_key) != 0)) - gtk_label_set_text (wkey, utf8_key); + { + label_changed = true; + gtk_label_set_text (wkey, utf8_key); + } if (! old_label || strcmp (utf8_label, old_label) != 0) - gtk_label_set_text (wlbl, utf8_label); + { + label_changed = true; + gtk_label_set_text (wlbl, utf8_label); + } if (utf8_key) g_free (utf8_key); if (utf8_label) g_free (utf8_label); @@ -3077,6 +3093,9 @@ cb_data->select_id = 0; } } + + if (label_changed) /* See comment in xg_update_menubar. */ + g_object_notify (G_OBJECT (w), "label"); } /* Update the toggle menu item W so it corresponds to VAL. */ @@ -3359,11 +3378,6 @@ gtk_widget_show_all (x->menubar_widget); gtk_widget_get_preferred_size (x->menubar_widget, NULL, &req); - /* If menu bar doesn't know its height yet, cheat a little so the frame - doesn't jump so much when resized later in menubar_map_cb. */ - if (req.height == 0) - req.height = 23; - if (FRAME_MENUBAR_HEIGHT (f) != req.height) { FRAME_MENUBAR_HEIGHT (f) = req.height; === modified file 'src/gtkutil.h' --- src/gtkutil.h 2014-01-01 07:43:34 +0000 +++ src/gtkutil.h 2014-01-13 01:40:35 +0000 @@ -107,7 +107,7 @@ extern bool xg_event_is_for_menubar (struct frame *, const XEvent *); -extern bool xg_have_tear_offs (void); +extern bool xg_have_tear_offs (struct frame *f); extern ptrdiff_t xg_get_scroll_id_for_window (Display *dpy, Window wid); === modified file 'src/xmenu.c' --- src/xmenu.c 2014-01-01 07:43:34 +0000 +++ src/xmenu.c 2014-01-13 01:40:35 +0000 @@ -796,7 +796,7 @@ #ifdef USE_GTK /* If we have detached menus, we must update deep so detached menus also gets updated. */ - deep_p = deep_p || xg_have_tear_offs (); + deep_p = deep_p || xg_have_tear_offs (f); #endif if (deep_p) ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-01-24 19:16 ` Paul Eggert @ 2014-10-11 18:16 ` Glenn Morris 2014-10-19 17:28 ` Jan Djärv 0 siblings, 1 reply; 7+ messages in thread From: Glenn Morris @ 2014-10-11 18:16 UTC (permalink / raw) To: 16522, Daniel Colascione; +Cc: Paul Eggert Paul Eggert wrote: > GtkMenuItem's "label" property was introduced in GTK+ 2.16, according > to <https://bugreports.qt-project.org/browse/QTBUG-8537>. You're using > GTK+ 2.10.4, which could explain the problem. I'm using Firefox 20 > which has GTK+ 3.10.6 and do not see the problem. > > I suspect that the attached patch (which is trunk bzr 115967.1.1) is > what introduced the problem. If you back this change out, does it fix > things? I'll CC: this to Daniel Colascione to give him a heads-up. Any comment on this issue? ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-10-11 18:16 ` Glenn Morris @ 2014-10-19 17:28 ` Jan Djärv 2014-10-19 17:35 ` Glenn Morris 0 siblings, 1 reply; 7+ messages in thread From: Jan Djärv @ 2014-10-19 17:28 UTC (permalink / raw) To: Glenn Morris, 16522-done, Daniel Colascione; +Cc: Paul Eggert Hi. Den 2014-10-11 20:16, Glenn Morris skrev: > Paul Eggert wrote: > >> GtkMenuItem's "label" property was introduced in GTK+ 2.16, according >> to <https://bugreports.qt-project.org/browse/QTBUG-8537>. You're using >> GTK+ 2.10.4, which could explain the problem. I'm using Firefox 20 >> which has GTK+ 3.10.6 and do not see the problem. >> >> I suspect that the attached patch (which is trunk bzr 115967.1.1) is >> what introduced the problem. If you back this change out, does it fix >> things? I'll CC: this to Daniel Colascione to give him a heads-up. > > Any comment on this issue? > I added the obvious gtk version check. Jan D. ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-10-19 17:28 ` Jan Djärv @ 2014-10-19 17:35 ` Glenn Morris 2014-10-19 17:53 ` Jan Djärv 0 siblings, 1 reply; 7+ messages in thread From: Glenn Morris @ 2014-10-19 17:35 UTC (permalink / raw) To: Jan Djärv; +Cc: 16522 Jan Djärv wrote: > I added the obvious gtk version check. Thanks. Note this issue is in emacs-24 branch too. Does it matter, or is it just a warning? ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-10-19 17:35 ` Glenn Morris @ 2014-10-19 17:53 ` Jan Djärv 0 siblings, 0 replies; 7+ messages in thread From: Jan Djärv @ 2014-10-19 17:53 UTC (permalink / raw) To: Glenn Morris; +Cc: 16522 Den 2014-10-19 19:35, Glenn Morris skrev: > Jan Djärv wrote: > >> I added the obvious gtk version check. > > Thanks. > Note this issue is in emacs-24 branch too. Does it matter, or is it just > a warning? > It is just a warning. g_object_notify returns without doing anything or any harm. Jan D. ^ permalink raw reply [flat|nested] 7+ messages in thread
* bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr 2014-01-22 15:50 bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr Barry OReilly 2014-01-24 19:16 ` Paul Eggert @ 2014-02-11 22:43 ` Barry OReilly 1 sibling, 0 replies; 7+ messages in thread From: Barry OReilly @ 2014-02-11 22:43 UTC (permalink / raw) To: 16522 [-- Attachment #1: Type: text/plain, Size: 302 bytes --] > I suspect that the attached patch (which is trunk bzr 115967.1.1) is > what introduced the problem. If you back this change out, does it > fix things? I'll CC: this to Daniel Colascione to give him a > heads-up. Confirmed: reversing the patch on today's trunk causes the error message to disappear. [-- Attachment #2: Type: text/html, Size: 367 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-10-19 17:53 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-01-22 15:50 bug#16522: 24.3.50; Regression: GLib-GObject warnings on stderr Barry OReilly 2014-01-24 19:16 ` Paul Eggert 2014-10-11 18:16 ` Glenn Morris 2014-10-19 17:28 ` Jan Djärv 2014-10-19 17:35 ` Glenn Morris 2014-10-19 17:53 ` Jan Djärv 2014-02-11 22:43 ` Barry OReilly
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).