compositor: Send touch_up before clearing touch focus

Otherwise it never gets sent.
dev
Kristian Høgsberg 13 years ago
parent e04ad57a01
commit 3543ff4f82
  1. 9
      compositor/compositor.c

@ -1519,19 +1519,20 @@ notify_touch(struct wl_input_device *device, uint32_t time, int touch_id,
wlsc_surface_transform(es, x, y, &sx, &sy); wlsc_surface_transform(es, x, y, &sx, &sy);
if (wd->touch_focus_resource) if (wd->touch_focus_resource)
wl_resource_post_event(wd->touch_focus_resource, wl_resource_post_event(wd->touch_focus_resource,
touch_type, time, touch_id, sx, sy); touch_type, time,
touch_id, sx, sy);
break; break;
case WL_INPUT_DEVICE_TOUCH_UP: case WL_INPUT_DEVICE_TOUCH_UP:
wlsc_compositor_idle_release(ec); wlsc_compositor_idle_release(ec);
wd->num_tp--; wd->num_tp--;
if (wd->touch_focus_resource)
wl_resource_post_event(wd->touch_focus_resource,
touch_type, time, touch_id);
if (wd->num_tp == 0) { if (wd->num_tp == 0) {
wd->touch_focus = NULL; wd->touch_focus = NULL;
wd->touch_focus_resource = NULL; wd->touch_focus_resource = NULL;
} }
if (wd->touch_focus_resource)
wl_resource_post_event(wd->touch_focus_resource,
touch_type, time, touch_id);
break; break;
} }
} }

Loading…
Cancel
Save