If both applications specify the timestamp from the event, the second application may wake up faster and successfully grab the pointer before the first application. The first application then will get an indication that the other application grabbed the pointer before its request was processed. If the pointer is actively grabbed by some other client, it fails and returns AlreadyGrabbed . If the pointer is frozen by an active grab of another client, it fails and returns GrabFrozen . Diagnostics BadCursor A value for a Cursor argument does not name a defined Cursor.
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument defined as a set of alternatives can generate this error. BadWindow A value for a Window argument does not name a defined Window.