summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/copynpaste.cpp9
-rw-r--r--src/utils/sdl2helper.cpp6
-rw-r--r--src/utils/sdl2helper.h3
-rw-r--r--src/utils/sdlhelper.cpp7
-rw-r--r--src/utils/sdlhelper.h4
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