Commit 6222bd3143073a325db6cea09eb622b976071a5e

Ethan Lee 2022-05-11T16:26:43

wayland: Don't create a new libdecor context if one already exists

1
2
3
4
5
6
7
8
9
10
11
12
13
14
diff --git a/src/video/wayland/SDL_waylandvideo.c b/src/video/wayland/SDL_waylandvideo.c
index c7eaa6c..2992d52 100644
--- a/src/video/wayland/SDL_waylandvideo.c
+++ b/src/video/wayland/SDL_waylandvideo.c
@@ -908,6 +908,9 @@ SDL_bool
 Wayland_LoadLibdecor(SDL_VideoData *data, SDL_bool ignore_xdg)
 {
 #ifdef HAVE_LIBDECOR_H
+    if (data->shell.libdecor != NULL) {
+        return SDL_TRUE; /* Already loaded! */
+    }
     if (should_use_libdecor(data, ignore_xdg)) {
         data->shell.libdecor = libdecor_new(data->display, &libdecor_interface);
         return data->shell.libdecor != NULL;