diff options
Diffstat (limited to 'video/out/wayland_common.c')
-rw-r--r-- | video/out/wayland_common.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 07d5317ba6..1665919465 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -155,7 +155,10 @@ static void pointer_handle_motion(void *data, struct wl_pointer *pointer, wl->mouse_unscaled_x = sx; wl->mouse_unscaled_y = sy; - mp_input_set_mouse_pos(wl->vo->input_ctx, wl->mouse_x, wl->mouse_y); + if (!wl->state_changed) { + mp_input_set_mouse_pos(wl->vo->input_ctx, wl->mouse_x, wl->mouse_y); + } + wl->state_changed = false; } static void window_move(struct vo_wayland_state *wl, uint32_t serial) @@ -1030,6 +1033,7 @@ static void handle_toplevel_config(void *data, struct xdg_toplevel *toplevel, mp_rect_w(wl->geometry)*wl->scaling, mp_rect_h(wl->geometry)*wl->scaling); wl->pending_vo_events |= VO_EVENT_RESIZE; + wl->state_changed = true; } static void handle_toplevel_close(void *data, struct xdg_toplevel *xdg_toplevel) |