From 35c4468f9d8e3cd57488e254c4a97dd8d113be65 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 3 Jul 2015 09:17:24 -0700 Subject: [PATCH] commit a7d7af2a419b453188ffe87386455fc26c1306fa Author: Benoit Pierre Date: Fri Jul 3 02:17:10 2015 +0200 fix 14dd48ae5bc43b61b2a0dd0b3177d22edec707ef regression The window manager detection code in X11_HasWindowManager does not work with Awesome (http://awesome.naquadah.org/). Remove it, and reuse the result of the more correct checks in X11_CheckWindowManager. --- src/video/x11/SDL_x11window.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/video/x11/SDL_x11window.c b/src/video/x11/SDL_x11window.c index 1b7cafc19..5d1904552 100644 --- a/src/video/x11/SDL_x11window.c +++ b/src/video/x11/SDL_x11window.c @@ -884,24 +884,6 @@ X11_SetWindowBordered(_THIS, SDL_Window * window, SDL_bool bordered) X11_XCheckIfEvent(display, &event, &isMapNotify, (XPointer)&data->xwindow); } -static SDL_bool -X11_HasWindowManager(const SDL_WindowData *data) -{ - const SDL_DisplayData *displaydata = - (SDL_DisplayData *) SDL_GetDisplayForWindow(data->window)->driverdata; - Display *display = data->videodata->display; - const int screen = displaydata->screen; - char atomname[16]; - Atom atom; - - /* Compliments to Chromium for this technique. - Window Managers are supposed to own "WM_Sx" selections, where - "x" is the screen number (ICCCM 2.8). */ - SDL_snprintf(atomname, sizeof (atomname), "WM_S%d", screen); - atom = X11_XInternAtom(display, atomname, True); - return ((atom != None) && (X11_XGetSelectionOwner(display, atom) != None)); -} - void X11_ShowWindow(_THIS, SDL_Window * window) { @@ -918,7 +900,7 @@ X11_ShowWindow(_THIS, SDL_Window * window) X11_XFlush(display); } - if (!X11_HasWindowManager(data)) { + if (SDL_TRUE != data->videodata->net_wm) { /* no WM means no FocusIn event, which confuses us. Force it. */ X11_XSetInputFocus(display, data->xwindow, RevertToNone, CurrentTime); X11_XFlush(display);