After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 153594 - Accelerators in popup menu are not displayed
Accelerators in popup menu are not displayed
Status: RESOLVED FIXED
Product: totem
Classification: Core
Component: general
unspecified
Other Linux
: Normal normal
: ---
Assigned To: General Totem maintainer(s)
General Totem maintainer(s)
: 146340 153705 156977 158574 166742 167977 169578 300900 301878 303439 341915 (view as bug list)
Depends on: 118906
Blocks: 162815
 
 
Reported: 2004-09-23 21:16 UTC by Frederic Crozat
Modified: 2006-05-16 07:11 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
popup-test.c (2.17 KB, text/plain)
2005-02-13 19:00 UTC, William Jon McCann
  Details
popup-test.glade (2.18 KB, text/plain)
2005-02-13 19:01 UTC, William Jon McCann
  Details
patch (1.35 KB, patch)
2005-02-13 19:26 UTC, William Jon McCann
none Details | Review
updated patch (11.00 KB, patch)
2005-02-13 19:47 UTC, William Jon McCann
none Details | Review

Description Frederic Crozat 2004-09-23 21:16:29 UTC
Forward from bug http://qa.mandrakesoft.com/show_bug.cgi?id=11542

1/Run totem
2/Right click on video window

=> Items in popup menu don't display any accelerator

and you get a bunch of the following warnings :
(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed

(totem:6216): Gtk-CRITICAL **: file ../../gtk/gtkaccelgroup.c: line 267
(gtk_accel_group_find): assertion `GTK_IS_ACCEL_GROUP (accel_group)' failed
Comment 1 Bastien Nocera 2004-09-25 13:02:44 UTC
The BT. I'm trying to reproduce this outside Totem...

  • #0 _dl_sysinfo_int80
    from /lib/ld-linux.so.2
  • #1 raise
    from /lib/tls/libc.so.6
  • #2 abort
    from /lib/tls/libc.so.6
  • #3 g_logv
    from /usr//lib/libglib-2.0.so.0
  • #4 g_log
    from /usr//lib/libglib-2.0.so.0
  • #5 gtk_accel_group_find
    from /usr//lib/libgtk-x11-2.0.so.0
  • #6 gtk_accel_label_refetch
    from /usr//lib/libgtk-x11-2.0.so.0
  • #7 gtk_accel_label_set_accel_closure
    from /usr//lib/libgtk-x11-2.0.so.0
  • #8 gtk_accel_label_get_accel_width
    from /usr//lib/libgtk-x11-2.0.so.0
  • #9 g_cclosure_marshal_VOID__BOXED
    from /usr//lib/libgobject-2.0.so.0
  • #10 g_cclosure_new_swap
    from /usr//lib/libgobject-2.0.so.0
  • #11 g_closure_invoke
    from /usr//lib/libgobject-2.0.so.0
  • #12 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #13 g_signal_emit_valist
    from /usr//lib/libgobject-2.0.so.0
  • #14 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #15 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #16 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #17 gtk_widget_size_request
    from /usr//lib/libgtk-x11-2.0.so.0
  • #18 gtk_menu_item_toggle_size_allocate
    from /usr//lib/libgtk-x11-2.0.so.0
  • #19 g_cclosure_marshal_VOID__BOXED
    from /usr//lib/libgobject-2.0.so.0
  • #20 g_cclosure_new_swap
    from /usr//lib/libgobject-2.0.so.0
  • #21 g_closure_invoke
    from /usr//lib/libgobject-2.0.so.0
  • #22 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr//lib/libgobject-2.0.so.0
  • #24 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #25 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #26 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #27 gtk_widget_size_request
    from /usr//lib/libgtk-x11-2.0.so.0
  • #28 gtk_menu_reorder_child
    from /usr//lib/libgtk-x11-2.0.so.0
  • #29 g_cclosure_marshal_VOID__BOXED
    from /usr//lib/libgobject-2.0.so.0
  • #30 g_cclosure_new_swap
    from /usr//lib/libgobject-2.0.so.0
  • #31 g_closure_invoke
    from /usr//lib/libgobject-2.0.so.0
  • #32 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #33 g_signal_emit_valist
    from /usr//lib/libgobject-2.0.so.0
  • #34 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #35 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #36 gtk_size_group_remove_widget
    from /usr//lib/libgtk-x11-2.0.so.0
  • #37 gtk_widget_size_request
    from /usr//lib/libgtk-x11-2.0.so.0
  • #38 gtk_menu_reorder_child
    from /usr//lib/libgtk-x11-2.0.so.0
  • #39 gtk_menu_popup
    from /usr//lib/libgtk-x11-2.0.so.0
  • #40 on_video_button_press_event
    at totem.c line 2544
  • #41 gtk_marshal_VOID__UINT_STRING
    from /usr//lib/libgtk-x11-2.0.so.0
  • #42 g_closure_invoke
    from /usr//lib/libgobject-2.0.so.0
  • #43 g_signal_emit_by_name
    from /usr//lib/libgobject-2.0.so.0
  • #44 g_signal_emit_valist
    from /usr//lib/libgobject-2.0.so.0
  • #45 g_signal_emit
    from /usr//lib/libgobject-2.0.so.0
  • #46 gtk_widget_send_expose
    from /usr//lib/libgtk-x11-2.0.so.0
  • #47 gtk_propagate_event
    from /usr//lib/libgtk-x11-2.0.so.0
  • #48 gtk_main_do_event
    from /usr//lib/libgtk-x11-2.0.so.0
  • #49 gdk_x11_register_standard_event_type
    from /usr//lib/libgdk-x11-2.0.so.0
  • #50 g_main_depth
    from /usr//lib/libglib-2.0.so.0
  • #51 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #52 g_main_context_dispatch
    from /usr//lib/libglib-2.0.so.0
  • #53 g_main_loop_run
    from /usr//lib/libglib-2.0.so.0
  • #54 gtk_main
    from /usr//lib/libgtk-x11-2.0.so.0
  • #55 main
    at totem.c line 3934

Comment 2 Bastien Nocera 2004-09-25 13:16:22 UTC
*** Bug 153705 has been marked as a duplicate of this bug. ***
Comment 3 Bastien Nocera 2004-09-25 13:19:34 UTC
There seems to be some memory corruption in my test case:

==17632==
==17632== Invalid read of size 4
==17632==    at 0x6439FA: gtk_accel_group_find (in
/usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==    by 0x64639B: gtk_accel_label_refetch (in
/usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==    by 0x6462B7: (within /usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==    by 0x645B21: (within /usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==  Address 0x1BE0A9F8 is 0 bytes inside a block of size 32 free'd
==17632==    at 0x1B904FA1: free (vg_replace_malloc.c:153)
==17632==    by 0x4636C3: g_free (in /usr/lib/libglib-2.0.so.0.400.0)
==17632==    by 0x4DA6AA: g_type_free_instance (in
/usr/lib/libgobject-2.0.so.0.400.0)
==17632==    by 0x4C38F0: (within /usr/lib/libgobject-2.0.so.0.400.0)
==17632==
==17632== Invalid read of size 4
==17632==    at 0x4DE8D4: g_type_check_instance_is_a (in
/usr/lib/libgobject-2.0.so.0.400.0)
==17632==    by 0x643A12: gtk_accel_group_find (in
/usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==    by 0x64639B: gtk_accel_label_refetch (in
/usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==    by 0x6462B7: (within /usr/lib/libgtk-x11-2.0.so.0.400.7)
==17632==  Address 0x1BE0A9F8 is 0 bytes inside a block of size 32 free'd
==17632==    at 0x1B904FA1: free (vg_replace_malloc.c:153)
==17632==    by 0x4636C3: g_free (in /usr/lib/libglib-2.0.so.0.400.0)
==17632==    by 0x4DA6AA: g_type_free_instance (in
/usr/lib/libgobject-2.0.so.0.400.0)
==17632==    by 0x4C38F0: (within /usr/lib/libgobject-2.0.so.0.400.0)
Comment 4 Bastien Nocera 2004-09-25 13:20:39 UTC
*** Bug 146340 has been marked as a duplicate of this bug. ***
Comment 5 Bastien Nocera 2004-09-25 15:26:31 UTC
Looks like the bug is in libglade. Ignore the valgrind trace above, it's not
related.
Comment 6 Bastien Nocera 2004-11-01 12:56:23 UTC
*** Bug 156977 has been marked as a duplicate of this bug. ***
Comment 7 Elijah Newren 2004-11-17 20:07:05 UTC
*** Bug 158574 has been marked as a duplicate of this bug. ***
Comment 8 Elijah Newren 2005-02-09 04:49:37 UTC
*** Bug 166742 has been marked as a duplicate of this bug. ***
Comment 9 William Jon McCann 2005-02-13 19:00:30 UTC
Created attachment 37435 [details]
popup-test.c
Comment 10 William Jon McCann 2005-02-13 19:01:39 UTC
Created attachment 37436 [details]
popup-test.glade
Comment 11 William Jon McCann 2005-02-13 19:26:27 UTC
Created attachment 37437 [details] [review]
patch

This works around the problem.
Comment 12 William Jon McCann 2005-02-13 19:47:54 UTC
Created attachment 37438 [details] [review]
updated patch

The last one wasn't correct.
Comment 13 Bastien Nocera 2005-02-14 23:35:54 UTC
That looks alright. But how about splitting the popup menu to its own .glade
file instead of having to change the code?
Otherwise, we'll have to parse the full totem.glade for every right-click.
Comment 14 Bastien Nocera 2005-02-17 23:32:39 UTC
2005-02-17  Bastien Nocera  <hadess@hadess.net>

        * NEWS: upd
        * data/Makefile.am:
        * data/popup.glade:
        * data/totem.glade:
        * src/bacon-video-widget-xine.c:
        (bacon_video_widget_get_languages),
        (bacon_video_widget_get_subtitles):
        * src/totem-playlist.c: (totem_playlist_new):
        * src/totem-private.h:
        * src/totem.c: (totem_action_menu_popup),
        (totem_action_set_mrl_with_warning), (update_seekable),
        (on_open_location1_activate), (show_controls), (update_buttons),
        (totem_callback_connect), (main):
        Split off popup menu into its own glade file to work around the
        accelerators not appearing in it (based on patch from William
        Jon McCann <mccann@jhu.edu>) (Closes: #153594), mark the strings
        used for the interface loading for translation, don't call
        xine_get_spu_lang() when there's no file loaded to avoid a crash,
        use the right stock icons in the popup menu, have the default
        sensitivity in some popup menu items
Comment 15 Bastien Nocera 2005-02-20 19:56:39 UTC
*** Bug 167977 has been marked as a duplicate of this bug. ***
Comment 16 Bastien Nocera 2005-03-08 09:31:33 UTC
*** Bug 169578 has been marked as a duplicate of this bug. ***
Comment 17 Elijah Newren 2005-04-17 01:35:24 UTC
*** Bug 300900 has been marked as a duplicate of this bug. ***
Comment 18 Kjartan Maraas 2005-04-25 09:19:20 UTC
*** Bug 301878 has been marked as a duplicate of this bug. ***
Comment 19 Elijah Newren 2005-05-08 04:23:24 UTC
*** Bug 303439 has been marked as a duplicate of this bug. ***
Comment 20 Bastien Nocera 2006-05-16 07:11:35 UTC
*** Bug 341915 has been marked as a duplicate of this bug. ***