summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>2012-05-15 16:14:47 +0300
committerKristian Høgsberg <krh@bitplanet.net>2012-05-15 10:59:24 -0400
commitf6f9069138f65dad4f3aa01b3413ba7d7dbf398a (patch)
tree534709ef25c7cbb738634e6aac6744ccdba83921
parent6d2030dabb9dac305e3c051b25c16ae6963961a1 (diff)
compositor: Fix cursor positioning right after input_device.attach
The type of fields x and y in wl_input_device was changed to wl_fixed_t but input_device_attach() was still using it as if it were integer. This bug caused the pointer sprite to be configured in the wrong place on the screen (usually outside the visible area) but it would soon be corrected in notify_motion() making it hard to notice and usually only causing a quick flicker.
-rw-r--r--src/compositor.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compositor.c b/src/compositor.c
index 228ef95..788b1de 100644
--- a/src/compositor.c
+++ b/src/compositor.c
@@ -2010,8 +2010,8 @@ input_device_attach(struct wl_client *client,
device->hotspot_x = x;
device->hotspot_y = y;
weston_surface_configure(device->sprite,
- device->input_device.x - device->hotspot_x,
- device->input_device.y - device->hotspot_y,
+ wl_fixed_to_int(device->input_device.x) - x,
+ wl_fixed_to_int(device->input_device.y) - y,
buffer->width, buffer->height);
surface_damage(NULL, &device->sprite->surface.resource,