wine/dlls/x11drv event.c

Alexandre Julliard julliard at wine.codeweavers.com
Wed Nov 23 07:44:00 CST 2005


ChangeSet ID:	21410
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/23 07:43:59

Modified files:
	dlls/x11drv    : event.c 

Log message:
	Fixed some broken code that was causing compiler warnings.

Patch: http://cvs.winehq.org/patch.py?id=21410

Old revision  New revision  Changes     Path
 1.60          1.61          +9 -25      wine/dlls/x11drv/event.c

Index: wine/dlls/x11drv/event.c
diff -u -p wine/dlls/x11drv/event.c:1.60 wine/dlls/x11drv/event.c:1.61
--- wine/dlls/x11drv/event.c:1.60	23 Nov 2005 13:43:59 -0000
+++ wine/dlls/x11drv/event.c	23 Nov 2005 13:43:59 -0000
@@ -637,15 +637,8 @@ static void EVENT_DropFromOffiX( HWND hW
     unsigned long	data_length;
     unsigned long	aux_long;
     unsigned char*	p_data = NULL;
-    union {
-    	Atom	atom_aux;
-    	struct {
-      	    int x;
-      	    int y;
-    	} 	pt_aux;
-    	int	i;
-    } 			u;
-    int			x, y;
+    Atom atom_aux;
+    int			x, y, dummy;
     BOOL	        bAccept;
     Window		win, w_aux_root, w_aux_child;
     WND*                pWnd;
@@ -654,8 +647,7 @@ static void EVENT_DropFromOffiX( HWND hW
     win = X11DRV_get_whole_window(hWnd);
     wine_tsx11_lock();
     XQueryPointer( event->display, win, &w_aux_root, &w_aux_child,
-                   &x, &y, (int *) &u.pt_aux.x, (int *) &u.pt_aux.y,
-                   (unsigned int*)&aux_long);
+                   &x, &y, &dummy, &dummy, (unsigned int*)&aux_long);
     wine_tsx11_unlock();
 
     pWnd = WIN_GetPtr(hWnd);
@@ -692,25 +684,20 @@ static void EVENT_DropFromOffiX( HWND hW
     wine_tsx11_lock();
     XGetWindowProperty( event->display, DefaultRootWindow(event->display),
                         x11drv_atom(DndSelection), 0, 65535, FALSE,
-                        AnyPropertyType, &u.atom_aux, (int *) &u.pt_aux.y,
+                        AnyPropertyType, &atom_aux, &dummy,
                         &data_length, &aux_long, &p_data);
     wine_tsx11_unlock();
 
     if( !aux_long && p_data)  /* don't bother if > 64K */
     {
-        signed char *p = (signed char*) p_data;
+        char *p = (char *)p_data;
         char *p_drop;
 
         aux_long = 0;
         while( *p )  /* calculate buffer size */
         {
-            p_drop = p;
-            if((u.i = *p) != -1 )
-            {
-                INT len = GetShortPathNameA( p, NULL, 0 );
-                if (len) aux_long += len + 1;
-                else *p = -1;
-            }
+            INT len = GetShortPathNameA( p, NULL, 0 );
+            if (len) aux_long += len + 1;
             p += strlen(p) + 1;
         }
         if( aux_long && aux_long < 65535 )
@@ -736,14 +723,11 @@ static void EVENT_DropFromOffiX( HWND hW
                 lpDrop->fWide = FALSE;
                 WIN_ReleasePtr(pDropWnd);
                 p_drop = (char *)(lpDrop + 1);
-                p = p_data;
+                p = (char *)p_data;
                 while(*p)
                 {
-                    if( *p != -1 ) /* use only "good" entries */
-                    {
-                        GetShortPathNameA( p, p_drop, 65535 );
+                    if (GetShortPathNameA( p, p_drop, aux_long - (p_drop - (char *)lpDrop) ))
                         p_drop += strlen( p_drop ) + 1;
-                    }
                     p += strlen(p) + 1;
                 }
                 *p_drop = '\0';



More information about the wine-cvs mailing list