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 65006 - GtkCombo - dragging scrollbar in popup
GtkCombo - dragging scrollbar in popup
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: Other
1.3.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
: 65464 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2001-11-21 01:54 UTC by Damon Chaplin
Modified: 2011-02-04 16:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Damon Chaplin 2001-11-21 01:54:39 UTC
When dragging the vscrollbar in the GtkCombo popup, it stops scrolling
the window if you move the mouse outside the vscrollbar.

Also, it gets confused if you release the button outside the scrollbar.

Looks like a grab/events problem.
Comment 1 Owen Taylor 2001-11-23 22:36:54 UTC
Ugh, really nasty. The problem is that GtkRange (and a lot of
other widgets) don't do explicit pointer grabs because they
assume that an implicit pointer grab will take place on
button press. But since the toplevel already has a pointer
grab, the implicit pointer grab doesn't take place.

Adding an explicit grab is no good, since then we'll steal
the grab from GtkCombo and ungrab it.

The best we can do is a gtk_grab_add() on the range
widget in it's button press, and translate events to the range 
widget. Far from perfect, and definitely annoying. 

Basically, X grab semantics are far from good when it comes
to how things should work inside a toolkit. I suspect that
GTK+ should only ever grab the X pointer on toplevels with
owner_events = FALSE, and implement everything else (preferably
a unifiied gtk_grab_add(), gdk_pointer_grab() model) internally.
A bit late for that now.
Comment 2 Owen Taylor 2002-03-02 01:27:02 UTC
*** Bug 65464 has been marked as a duplicate of this bug. ***
Comment 3 Owen Taylor 2002-03-02 20:36:00 UTC
Fri Mar  1 18:39:44 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrange.c: Use an explicit gtk_grab_add() so that
        it works within the GtkList combo, where there is a
	owner_events = FALSE gdk_pointer_grab() already in effect.
        (#65006, reported by Damon Chaplin)