Commit 18f003c1 authored by Sam Lantinga's avatar Sam Lantinga

Made it possible to switch the text format in one place

parent 2e99ef1d
...@@ -27,6 +27,13 @@ ...@@ -27,6 +27,13 @@
#include "SDL_x11video.h" #include "SDL_x11video.h"
/* If you don't support UTF-8, you might use XA_STRING here */
#if 1
#define TEXT_FORMAT XInternAtom(display, "UTF8_STRING", False)
#else
#define TEXT_FORMAT XA_STRING
#endif
/* Get any application owned window handle for clipboard association */ /* Get any application owned window handle for clipboard association */
static Window static Window
GetWindow(_THIS) GetWindow(_THIS)
...@@ -58,8 +65,8 @@ X11_SetClipboardText(_THIS, const char *text) ...@@ -58,8 +65,8 @@ X11_SetClipboardText(_THIS, const char *text)
return -1; return -1;
} }
/* If you don't support UTF-8, you might use XA_STRING here */ /* Save the selection on the root window */
format = XInternAtom(display, "UTF8_STRING", False); format = TEXT_FORMAT;
XChangeProperty(display, DefaultRootWindow(display), XChangeProperty(display, DefaultRootWindow(display),
XA_CUT_BUFFER0, format, 8, PropModeReplace, XA_CUT_BUFFER0, format, 8, PropModeReplace,
(const unsigned char *)text, SDL_strlen(text)); (const unsigned char *)text, SDL_strlen(text));
...@@ -88,12 +95,9 @@ X11_GetClipboardText(_THIS) ...@@ -88,12 +95,9 @@ X11_GetClipboardText(_THIS)
text = NULL; text = NULL;
/* Get the SDL window that will own the selection */ /* Get the window that holds the selection */
window = GetWindow(_this); window = GetWindow(_this);
format = TEXT_FORMAT;
/* If you don't support UTF-8, you might use XA_STRING here */
format = XInternAtom(display, "UTF8_STRING", False);
owner = XGetSelectionOwner(display, XA_PRIMARY); owner = XGetSelectionOwner(display, XA_PRIMARY);
if ((owner == None) || (owner == window)) { if ((owner == None) || (owner == window)) {
owner = DefaultRootWindow(display); owner = DefaultRootWindow(display);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment