From b8e5c561d8c05f39fb404e2e0dee706cdff7ed50 Mon Sep 17 00:00:00 2001 From: Sylvain Becker Date: Tue, 2 Apr 2019 17:07:54 +0200 Subject: [PATCH] Bug 4576: remove touch/mouse duplication for Wayland --- src/video/wayland/SDL_waylandevents.c | 16 ---------------- src/video/wayland/SDL_waylandwindow.h | 2 -- 2 files changed, 18 deletions(-) diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c index 08f9d692730c1..6fbf91d9f1eeb 100644 --- a/src/video/wayland/SDL_waylandevents.c +++ b/src/video/wayland/SDL_waylandevents.c @@ -407,13 +407,6 @@ touch_handler_down(void *data, struct wl_touch *touch, unsigned int serial, touch_add(id, x, y, surface); - if (!window_data->finger_touching) { - window_data->finger_touching = SDL_TRUE; - window_data->first_finger = id; - SDL_SendMouseMotion(window_data->sdlwindow, SDL_TOUCH_MOUSEID, 0, (int) dblx, (int) dbly); - SDL_SendMouseButton(window_data->sdlwindow, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT); - } - SDL_SendTouch(1, (SDL_FingerID)id, SDL_TRUE, x, y, 1.0f); } @@ -424,11 +417,6 @@ touch_handler_up(void *data, struct wl_touch *touch, unsigned int serial, SDL_WindowData *window_data = (SDL_WindowData *)wl_surface_get_user_data(touch_surface(id)); float x = 0, y = 0; - if ((window_data->finger_touching) && (window_data->first_finger == id)) { - SDL_SendMouseButton(window_data->sdlwindow, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT); - window_data->finger_touching = SDL_FALSE; - } - touch_del(id, &x, &y); SDL_SendTouch(1, (SDL_FingerID)id, SDL_FALSE, x, y, 0.0f); } @@ -443,10 +431,6 @@ touch_handler_motion(void *data, struct wl_touch *touch, unsigned int timestamp, const float x = dblx / window_data->sdlwindow->w; const float y = dbly / window_data->sdlwindow->h; - if ((window_data->finger_touching) && (window_data->first_finger == id)) { - SDL_SendMouseMotion(window_data->sdlwindow, SDL_TOUCH_MOUSEID, 0, (int) dblx, (int) dbly); - } - touch_update(id, x, y); SDL_SendTouchMotion(1, (SDL_FingerID)id, x, y, 1.0f); } diff --git a/src/video/wayland/SDL_waylandwindow.h b/src/video/wayland/SDL_waylandwindow.h index d894216a5b2b9..935b405bdc888 100644 --- a/src/video/wayland/SDL_waylandwindow.h +++ b/src/video/wayland/SDL_waylandwindow.h @@ -76,8 +76,6 @@ typedef struct { int width, height; } resize; - SDL_bool finger_touching; /* for mapping touch events to mice */ - SDL_FingerID first_finger; } SDL_WindowData; extern void Wayland_ShowWindow(_THIS, SDL_Window *window);