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 705971 - Constituents of label-widget of a GtkExpander do not receive events
Constituents of label-widget of a GtkExpander do not receive events
Status: RESOLVED DUPLICATE of bug 151537
Product: gtk+
Classification: Platform
Component: Widget: Other
unspecified
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2013-08-14 09:34 UTC by Chandni Verma
Modified: 2014-12-08 04:00 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Chandni Verma 2013-08-14 09:34:51 UTC
GtkExpander does not allow us to have it's label-widget receive button-press-event (or any event for that matter) on its children.

A hack described here: http://gtk.10911.n7.nabble.com/GtkExpander-label-widgets-using-buttons-as-td1738.html , allowed me to make labels clickable inside a GtkExpander. I have to reset the label-widget after the expander has been realized to get the events on the children of label-widget.
Comment 1 Christoph Reiter (lazka) 2013-08-19 05:09:17 UTC
My workaround: http://code.google.com/p/quodlibet/source/browse/quodlibet/quodlibet/qltk/queue.py#96
Comment 2 Carlos Garnacho 2013-08-19 10:37:04 UTC
From a quick check, the gtk_widget_map() call in gtk_expander_map() should happen at the end of the function, after the gdk_window_show() there:

https://git.gnome.org/browse/gtk+/tree/gtk/gtkexpander.c#n789

This code dates back to the GtkExpander addition, it looks to me like this was done on purpose, the same way buttons-within-buttons are prevented by having the GtkButton's GdkWindow stay over childrens'. This seems sensible for buttons, not as much for expanders.

I'll get to making a patch and testing this later today if no one beats me to it.
Comment 3 Chandni Verma 2013-08-20 12:27:30 UTC
(In reply to comment #1)
> My workaround:
> http://code.google.com/p/quodlibet/source/browse/quodlibet/quodlibet/qltk/queue.py#96

really, this one is a better hack. thanks for sharing.
Comment 4 Matthias Clasen 2014-12-08 04:00:51 UTC

*** This bug has been marked as a duplicate of bug 151537 ***