xi2: XSync before getting the client pointer on construction

If the device manager is created and queried for the client pointer at
a very early stage in application lifetime, the device_id returned would
be 0 as the server hasn't apparently decided yet about the client pointer.

For these situations, doing XSync prior to fetching the client pointer
gets the server to device about the client pointer before we query it.

https://bugzilla.gnome.org/show_bug.cgi?id=735388
This commit is contained in:
Carlos Garnacho 2014-08-25 16:14:38 +02:00
parent cfcba18684
commit 591d31c970

View File

@ -1499,6 +1499,7 @@ clutter_device_manager_xi2_constructed (GObject *gobject)
clutter_x11_get_root_window (),
&event_mask);
XSync (backend_x11->xdpy, False);
update_client_pointer (manager_xi2);
if (G_OBJECT_CLASS (clutter_device_manager_xi2_parent_class)->constructed)