Commit 10789142 authored by Kusanagi Kouichi's avatar Kusanagi Kouichi Committed by Alexandre Julliard

winex11.drv: Check XDND version.

parent f7b18148
...@@ -917,7 +917,7 @@ static void set_initial_wm_hints( Display *display, struct x11drv_win_data *data ...@@ -917,7 +917,7 @@ static void set_initial_wm_hints( Display *display, struct x11drv_win_data *data
{ {
long i; long i;
Atom protocols[3]; Atom protocols[3];
Atom dndVersion = 4; Atom dndVersion = WINE_XDND_VERSION;
XClassHint *class_hints; XClassHint *class_hints;
char *process_name = get_process_name(); char *process_name = get_process_name();
......
...@@ -64,6 +64,8 @@ typedef int Status; ...@@ -64,6 +64,8 @@ typedef int Status;
#define MAX_PIXELFORMATS 8 #define MAX_PIXELFORMATS 8
#define MAX_DASHLEN 16 #define MAX_DASHLEN 16
#define WINE_XDND_VERSION 4
struct tagCURSORICONINFO; struct tagCURSORICONINFO;
extern void CDECL wine_tsx11_lock(void); extern void CDECL wine_tsx11_lock(void);
......
...@@ -87,14 +87,22 @@ static CRITICAL_SECTION xdnd_cs = { &critsect_debug, -1, 0, 0, 0, 0 }; ...@@ -87,14 +87,22 @@ static CRITICAL_SECTION xdnd_cs = { &critsect_debug, -1, 0, 0, 0, 0 };
*/ */
void X11DRV_XDND_EnterEvent( HWND hWnd, XClientMessageEvent *event ) void X11DRV_XDND_EnterEvent( HWND hWnd, XClientMessageEvent *event )
{ {
int version;
Atom *xdndtypes; Atom *xdndtypes;
unsigned long count = 0; unsigned long count = 0;
TRACE("ver(%ld) check-XdndTypeList(%ld) data=%ld,%ld,%ld,%ld,%ld\n", version = (event->data.l[1] & 0xFF000000) >> 24;
(event->data.l[1] & 0xFF000000) >> 24, (event->data.l[1] & 1), TRACE("ver(%d) check-XdndTypeList(%ld) data=%ld,%ld,%ld,%ld,%ld\n",
version, (event->data.l[1] & 1),
event->data.l[0], event->data.l[1], event->data.l[2], event->data.l[0], event->data.l[1], event->data.l[2],
event->data.l[3], event->data.l[4]); event->data.l[3], event->data.l[4]);
if (version > WINE_XDND_VERSION)
{
TRACE("Ignores unsupported version\n");
return;
}
/* If the source supports more than 3 data types we retrieve /* If the source supports more than 3 data types we retrieve
* the entire list. */ * the entire list. */
if (event->data.l[1] & 1) if (event->data.l[1] & 1)
......
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