summaryrefslogtreecommitdiff
path: root/Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c
diff options
context:
space:
mode:
Diffstat (limited to 'Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c')
-rw-r--r--Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c b/Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c
index be03aa6..0a254b0 100644
--- a/Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c
+++ b/Source/3rdParty/SDL2/src/video/x11/SDL_x11window.c
@@ -390,7 +390,6 @@ X11_CreateWindow(_THIS, SDL_Window * window)
const char *wintype_name = NULL;
long compositor = 1;
Atom _NET_WM_PID;
- Atom XdndAware, xdnd_version = 5;
long fevent = 0;
#if SDL_VIDEO_OPENGL_GLX || SDL_VIDEO_OPENGL_EGL
@@ -651,11 +650,6 @@ X11_CreateWindow(_THIS, SDL_Window * window)
PropertyChangeMask | StructureNotifyMask |
KeymapStateMask | fevent));
- XdndAware = X11_XInternAtom(display, "XdndAware", False);
- X11_XChangeProperty(display, w, XdndAware, XA_ATOM, 32,
- PropModeReplace,
- (unsigned char*)&xdnd_version, 1);
-
X11_XFlush(display);
return 0;
@@ -1604,6 +1598,22 @@ X11_SetWindowHitTest(SDL_Window *window, SDL_bool enabled)
return 0; /* just succeed, the real work is done elsewhere. */
}
+void
+X11_AcceptDragAndDrop(SDL_Window * window, SDL_bool accept)
+{
+ SDL_WindowData *data = (SDL_WindowData *) window->driverdata;
+ Display *display = data->videodata->display;
+ Atom XdndAware = X11_XInternAtom(display, "XdndAware", False);
+
+ if (accept) {
+ Atom xdnd_version = 5;
+ X11_XChangeProperty(display, data->xwindow, XdndAware, XA_ATOM, 32,
+ PropModeReplace, (unsigned char*)&xdnd_version, 1);
+ } else {
+ X11_XDeleteProperty(display, data->xwindow, XdndAware);
+ }
+}
+
#endif /* SDL_VIDEO_DRIVER_X11 */
/* vi: set ts=4 sw=4 expandtab: */