RESOLVED FIXED 41282
permanent mouse grab after clicking to image
https://bugs.webkit.org/show_bug.cgi?id=41282
Summary permanent mouse grab after clicking to image
Stanislav Brabec
Reported 2010-06-28 09:51:45 PDT
The browser sometimes permanently enters to a mouse grab mode. It happens after clicking to an image inside a web page. How to reproduce: Wobble with your mouse quicky and very shortly click to any image on any web page. Different cursor indicating manipulation with the image appears and stays forever after mouse button release. Browser has mouse grab and it is impossible to leave the application, click anywhere or so. Does it appear every time: No it appears only sometimes. It is easily reproducible on slow machines (PDA) and hardly on slower desktop systems. The problem was reproduced on: Linux openSUSE 11.3 RC1 x86_64, epiphany-2.30.2 libwebkit-1.2.0 (user agent 531.2) Linux Angstrom ARM (PXA270, armv5tel), midori-0.2.2, libwebkit-1.1.18 (svnr53071) Work-around that works on both midori and epiphany: Press Ctrl+L, go to the end of the URL, type any letter, wait for URL completion pop-up. This operation releases mouse grab.
Attachments
backtrace of epiphany in the mouse grab (done from text console) (3.06 KB, text/plain)
2010-06-28 10:19 PDT, Stanislav Brabec
no flags
gdb backtrace at gdk_pointer_grab breakpoint (8.00 KB, text/plain)
2010-07-08 08:24 PDT, Stanislav Brabec
no flags
Stanislav Brabec
Comment 1 2010-06-28 10:19:37 PDT
Created attachment 59906 [details] backtrace of epiphany in the mouse grab (done from text console)
Stanislav Brabec
Comment 2 2010-07-08 08:24:59 PDT
Created attachment 60886 [details] gdb backtrace at gdk_pointer_grab breakpoint Backtrace when breakpoint is set to gdk_pointer_grab() and gdb is running on a different display. With gdb, the race can be easily reproduced: When starting grab, gdk_pointer_grab is called twice. If you ensure, that the second breakpoint is executed after mouse button release, the problem occurs. How to reproduce: 1. Run gdb on a second machine and set breakpoint to gdk_pointer_grab 2. Shortly drag any image or link and release. 3. In gdb do: bt cont bt cont Actual result: browser runs, drag is finished, but the browser still has a mouse grab.
Stanislav Brabec
Comment 3 2010-07-08 10:37:45 PDT
After a deeper analysis it looks like a gtk+ bug. Reporting as https://bugzilla.gnome.org/show_bug.cgi?id=623865
Stanislav Brabec
Comment 4 2010-07-20 09:52:24 PDT
The bug is confirmed as an GTK+ problem, but there is an issue that may be addressed in webkit: DragClient::startDrag() may be interested in the system event details that triggered the drag. It could affect the toolkit behavior. Constructing of an artificial event instead of use operating system event is just a work-around.
Martin Robinson
Comment 5 2015-05-07 17:13:35 PDT
Seems this was a GTK+ issue.
Note You need to log in before you can comment on or make changes to this bug.