Comment 61 for bug 321176

Revision history for this message
Gustavo Carneiro (gjc) wrote :

Here's how I think you can reproduce the problem. Just write a program (C or Python, doesn't matter) that:

 1. Creates a toplevel window (make it a fullscreen window for increased effect)
 2. calls gdk_pointer_grab on that window
 3. never calls gdk_pointer_ungrab

From that moment on, the program captures the pointer (and as side effect also the keyboard). Consequently, the clueless user thinks that "X is frozen", when in actual fact is just "poorly written app grabs the pointer and never ungrabs it".

This is *NOT* a PyGTK bug. This is *NOT* a Gtk+ bug. This is *NOT* a Xorg bug.

Every programmer that ever needed to write code to grab the mouse pointer will occasionally temporarily write code that grabs the pointer but forgets to ungrab it. I have been there myself. But the X session is not completely frozen. You can recover by pressing <Ctrl><Alt>F1, login in a linux console, and manually kill the offending program. Then you can go back to the X11 console (normally <Alt>F7), and everything is back to normal.

And by the way, I am tired of receiving these messages about a non-pygtk bug just because I am watching pygtk bugs in general. If someone knows of a way for me to opt out, please let me know. Thanks!