diff options
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/copynpaste.cpp | 9 | ||||
-rw-r--r-- | src/utils/sdl2helper.cpp | 6 | ||||
-rw-r--r-- | src/utils/sdl2helper.h | 3 | ||||
-rw-r--r-- | src/utils/sdlhelper.cpp | 7 | ||||
-rw-r--r-- | src/utils/sdlhelper.h | 4 |
5 files changed, 25 insertions, 4 deletions
diff --git a/src/utils/copynpaste.cpp b/src/utils/copynpaste.cpp index 1d4297fd5..86b5a668c 100644 --- a/src/utils/copynpaste.cpp +++ b/src/utils/copynpaste.cpp @@ -35,6 +35,10 @@ #include "utils/copynpaste.h" +#include "graphics.h" + +#include "utils/sdlhelper.h" + #include <SDL_syswm.h> #include "debug.h" @@ -339,12 +343,10 @@ static char* getSelection(Display *const dpy, Window us, Atom selection) bool retrieveBuffer(std::string& text, size_t& pos) { -// +++ need use SDL_GetWindowWMInfo -#ifndef USE_SDL2 SDL_SysWMinfo info; SDL_VERSION(&info.version); - if (SDL_GetWMInfo(&info)) + if (SDL::getWindowWMInfo(mainGraphics->getWindow(), &info)) { Display *const dpy = info.info.x11.display; Window us = info.info.x11.window; @@ -378,7 +380,6 @@ bool retrieveBuffer(std::string& text, size_t& pos) return true; } } -#endif return false; } diff --git a/src/utils/sdl2helper.cpp b/src/utils/sdl2helper.cpp index 33a88cc8a..a65f381b3 100644 --- a/src/utils/sdl2helper.cpp +++ b/src/utils/sdl2helper.cpp @@ -26,6 +26,7 @@ #include "utils/stringutils.h" +#include <SDL_syswm.h> #include <SDL_video.h> #include "debug.h" @@ -62,4 +63,9 @@ void SDL::setVsync(const int val) SDL_GL_SetSwapInterval(val); } +bool SDL::getWindowWMInfo(SDL_Window *const window, SDL_SysWMinfo *const info) +{ + return SDL_GetWindowWMInfo(window, info); +} + #endif // USE_SDL2 diff --git a/src/utils/sdl2helper.h b/src/utils/sdl2helper.h index 3e7b20651..5ba2d45bb 100644 --- a/src/utils/sdl2helper.h +++ b/src/utils/sdl2helper.h @@ -27,6 +27,7 @@ #include "localconsts.h" struct SDL_Surface; +struct SDL_SysWMinfo; struct SDL_Window; namespace SDL @@ -42,6 +43,8 @@ namespace SDL void setGamma(SDL_Window *const window, const float gamma); void setVsync(const int val); + + bool getWindowWMInfo(SDL_Window *const window, SDL_SysWMinfo *const info); } // namespace SDL #endif // USE_SDL2 diff --git a/src/utils/sdlhelper.cpp b/src/utils/sdlhelper.cpp index 2690554be..204dd921d 100644 --- a/src/utils/sdlhelper.cpp +++ b/src/utils/sdlhelper.cpp @@ -26,6 +26,7 @@ #include "utils/stringutils.h" +#include <SDL_syswm.h> #include <SDL_video.h> #include "debug.h" @@ -88,4 +89,10 @@ void SDL::setVsync(const int val) SDL_GL_SetAttribute(SDL_GL_SWAP_CONTROL, val); } +bool SDL::getWindowWMInfo(SDL_Surface *const window A_UNUSED, + SDL_SysWMinfo *const info) +{ + return SDL_GetWMInfo(info); +} + #endif // USE_SDL2 diff --git a/src/utils/sdlhelper.h b/src/utils/sdlhelper.h index acaf7111b..27d5cc2ab 100644 --- a/src/utils/sdlhelper.h +++ b/src/utils/sdlhelper.h @@ -30,6 +30,7 @@ #include "localconsts.h" struct SDL_Surface; +struct SDL_SysWMinfo; namespace SDL { @@ -46,6 +47,9 @@ namespace SDL void setGamma(SDL_Surface *const window A_UNUSED, const float gamma); void setVsync(const int val); + + bool getWindowWMInfo(SDL_Surface *const window A_UNUSED, + SDL_SysWMinfo *const info); } // namespace SDL #endif // USE_SDL2 |