PATCH: EnumProps16 do not enumerate non strings

Marcus Meissner meissner at suse.de
Fri Jul 22 04:19:54 CDT 2005


Hi,

In 2001 when windows/property.c moved to dlls/user/property.c additionaly
EnumProps16 gained the ability to enumerate non-string atoms.

This brings a 16 bit application I have here to crash in
repne scansb es:(di), so it clearly expects get only strings.

Ciao, Marcus

Changelog:
	Do not enumerate non-strings in EnumProp16.

Index: dlls/user/property.c
===================================================================
RCS file: /home/wine/wine/dlls/user/property.c,v
retrieving revision 1.13
diff -u -r1.13 property.c
--- dlls/user/property.c	11 May 2005 19:01:10 -0000	1.13
+++ dlls/user/property.c	22 Jul 2005 09:19:06 -0000
@@ -31,10 +31,13 @@
 #include "wine/unicode.h"
 #include "wine/winuser16.h"
 #include "wine/server.h"
+#include "wine/debug.h"
 
 /* size of buffer needed to store an atom string */
 #define ATOM_BUFFER_SIZE 256
 
+WINE_DEFAULT_DEBUG_CHANNEL(msg);
+
 
 /***********************************************************************
  *              get_properties
@@ -279,14 +282,8 @@
                 args[2] = SELECTOROF(segptr);
                 args[1] = OFFSETOF(segptr);
                 args[0] = LOWORD(list[i].handle);
-            }
-            else
-            {
-                args[3] = hwnd;
-                args[2] = 0;
-                args[1] = list[i].atom;
-                args[0] = LOWORD(list[i].handle);
-            }
+            } else
+		WARN("Skipping non string atom %x.\n", list[i].atom);
             WOWCallback16Ex( (DWORD)func, WCB16_PASCAL, sizeof(args), args, &result );
             if (!(ret = LOWORD(result))) break;
         }
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20050722/59b5d62a/attachment.pgp


More information about the wine-patches mailing list