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 119881 - Scrolling doesn't work over insensitive widgets
Scrolling doesn't work over insensitive widgets
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
2.2.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2003-08-14 14:37 UTC by Owen Taylor
Modified: 2011-02-04 16:16 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Owen Taylor 2003-08-14 14:37:26 UTC
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=101102

If you have a GtkViewport with some insensitive widgets inside
of it, then when the mouse is over an insensitive widget, 
you can't scroll the viewport with the scrollwheel.

The problem is that the GDK_SCROLL events are just getting
eaten rather than being propated up.

From gtk_propagate_event()

          handled_event = !GTK_WIDGET_IS_SENSITIVE (widget) ||
gtk_widget_event (widget, event);

The only way I can think if fixing this is to say that scroll
events are special and do propagate up from insensitive widgets
while other events don't

 if (GTK_WIDGET_IS_SENSITIVE (widget))
   handled_event = event->type != GDK_SCROLL;
 else
   handled_event = gtk_widget_event (widget, event)

Ugh.
Comment 1 Owen Taylor 2004-03-03 22:27:35 UTC
Wed Mar  3 17:20:15 2004  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkmain.c (gtk_propagate_event): Special case
        scroll events so that they propagate up the widget
        heirarchy when received on insensitive widgets.
        (#101102, reported by Geoff Reedy)