wayland: Fix GetWindowWMInfo for <2.0.15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
diff --git a/src/video/wayland/SDL_waylandwindow.c b/src/video/wayland/SDL_waylandwindow.c
index dc865bb..209b9e9 100644
--- a/src/video/wayland/SDL_waylandwindow.c
+++ b/src/video/wayland/SDL_waylandwindow.c
@@ -562,22 +562,24 @@ Wayland_GetWindowWMInfo(_THIS, SDL_Window * window, SDL_SysWMinfo * info)
info->info.wl.display = data->waylandData->display;
info->info.wl.surface = data->surface;
+
if (version >= SDL_VERSIONNUM(2, 0, 15)) {
info->info.wl.egl_window = data->egl_window;
- }
- info->info.wl.shell_surface = NULL;
#ifdef HAVE_LIBDECOR_H
- if (viddata->shell.libdecor && data->shell_surface.libdecor.frame != NULL) {
- info->info.wl.xdg_surface = libdecor_frame_get_xdg_surface(data->shell_surface.libdecor.frame);
- } else
+ if (viddata->shell.libdecor && data->shell_surface.libdecor.frame != NULL) {
+ info->info.wl.xdg_surface = libdecor_frame_get_xdg_surface(data->shell_surface.libdecor.frame);
+ } else
#endif
- if (viddata->shell.xdg && data->shell_surface.xdg.surface != NULL) {
- info->info.wl.xdg_surface = data->shell_surface.xdg.surface;
- } else {
- info->info.wl.xdg_surface = NULL;
+ if (viddata->shell.xdg && data->shell_surface.xdg.surface != NULL) {
+ info->info.wl.xdg_surface = data->shell_surface.xdg.surface;
+ } else {
+ info->info.wl.xdg_surface = NULL;
+ }
}
+ /* Deprecated in 2.0.16 */
+ info->info.wl.shell_surface = NULL;
info->subsystem = SDL_SYSWM_WAYLAND;