From 674f361decbb607bf682535975b64d2ba5ad89fd Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 13 Nov 2021 11:44:04 -0600 Subject: [PATCH] wayland: Fix memory leaks in clipboard code --- src/video/wayland/SDL_waylanddatamanager.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/video/wayland/SDL_waylanddatamanager.c b/src/video/wayland/SDL_waylanddatamanager.c index 8de4cdddf..0f2d75082 100644 --- a/src/video/wayland/SDL_waylanddatamanager.c +++ b/src/video/wayland/SDL_waylanddatamanager.c @@ -396,8 +396,9 @@ Wayland_data_device_clear_selection(SDL_WaylandDataDevice *data_device) if (data_device == NULL || data_device->data_device == NULL) { status = SDL_SetError("Invalid Data Device"); - } else if (data_device->selection_source != 0) { + } else if (data_device->selection_source != NULL) { wl_data_device_set_selection(data_device->data_device, NULL, 0); + Wayland_data_source_destroy(data_device->selection_source); data_device->selection_source = NULL; } return status; @@ -444,6 +445,9 @@ Wayland_data_device_set_selection(SDL_WaylandDataDevice *data_device, source->source, data_device->selection_serial); } + if (data_device->selection_source != NULL) { + Wayland_data_source_destroy(data_device->selection_source); + } data_device->selection_source = source; } }