GNOME Bugzilla – Bug 671819
Crash (stack overflow) in gtk_range_grab_notify
Last modified: 2012-03-13 18:51:27 UTC
Created attachment 209425 [details] Crashing test case I have a crash in the attached program when doing the following 1. Move the mouse on the scrollbar on the right. 2. Press the left mouse button. 3. Keep the left mouse button pressed and press the right mouse button. => stack overflow The first click in the scrollbar add a grab to get the slider, the second click add another grab to display a menu but enter in an endless loop.
Created attachment 209426 [details] backtrace Here a backtrace of the issue. When the user click on the right button, there is a call to gtk_device_grab_add (widget=0x8d72010, device=0x8d1d4e0, block_others=1). It sends a notifications to all widgets (including the scrollbar): gtk_range_grab_notify (widget=0x8d6d0b8, was_grabbed=0) I think the function stop_scrolling shouldn't be called here because the notification comes from the new grab used by the menu, it's not a change in the scrollbar grab. The bugs appears in Gtk+ 3. Previously the code of gtk_range_grab_notify was: static void gtk_range_grab_notify (GtkWidget *widget, gboolean was_grabbed) { if (!was_grabbed) stop_scrolling (GTK_RANGE (widget)); } The code has been changed when merging the branch xi2-for-master.
Fixed: http://git.gnome.org/browse/gtk+/commit/?id=de115c3fd31410b3ac097561a5941b678accc073
*** Bug 671684 has been marked as a duplicate of this bug. ***