summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/os/unix/unix.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/os/unix/unix.cpp b/src/os/unix/unix.cpp
index dc54badbd..e4e1d687c 100644
--- a/src/os/unix/unix.cpp
+++ b/src/os/unix/unix.cpp
@@ -24,6 +24,10 @@
#include <time.h>
#include <signal.h>
+#ifdef WITH_SDL2
+#include <SDL.h>
+#endif
+
#ifdef __APPLE__
#include <sys/mount.h>
#elif (defined(_POSIX_VERSION) && _POSIX_VERSION >= 200112L) || defined(__GLIBC__)
@@ -266,6 +270,19 @@ int CDECL main(int argc, char *argv[])
#ifndef WITH_COCOA
bool GetClipboardContents(char *buffer, const char *last)
{
+#ifdef WITH_SDL2
+ if (SDL_HasClipboardText() == SDL_FALSE) {
+ return false;
+ }
+
+ char *clip = SDL_GetClipboardText();
+ if (clip != NULL) {
+ strecpy(buffer, clip, last);
+ SDL_free(clip);
+ return true;
+ }
+#endif
+
return false;
}
#endif