Treeview fix
Jeff Smith
whydoubt at hotmail.com
Tue Oct 22 23:44:25 CDT 2002
Intro:
Once I got wine to finally execute the native regedit,
treeview was bringing it down.
Background:
I discovered treeview uses DSA's and Dimi recently
changed the max element number in DSA's to 0x7fff (SHRT_MAX).
Note this value has the special meaning in DSA_InsertPtr
functions of 'add new element to end of array'.
Problem:
INT_MAX (0x7fffffff) was being passed from treeview
to DSA_InsertPtr. This caused failure returns and
eventually a seg fault.
Conclusion:
This patch fixes the problem (according to the style of other
calls to DSA_InsertPtr), and native regedit now works.
Questions for further thought:
I wonder, should 0x7fff be used explicitly, or should
SHRT_MAX be used in places like this instead?
Changelog:
Treeview fix due to change in maximum DSA size.
-- Jeff S.
Index: dlls/comctl32/treeview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
retrieving revision 1.103
diff -u -r1.103 treeview.c
--- dlls/comctl32/treeview.c 6 Sep 2002 19:41:18 -0000 1.103
+++ dlls/comctl32/treeview.c 23 Oct 2002 04:12:53 -0000
@@ -949,7 +949,7 @@
if (!newItem)
return NULL;
- if (DPA_InsertPtr(infoPtr->items, INT_MAX, newItem) == -1)
+ if (DPA_InsertPtr(infoPtr->items, 0x7fff, newItem) == -1)
{
COMCTL32_Free(newItem);
return NULL;
@@ -2885,7 +2885,7 @@
for (child = item->firstChild; child != NULL; child =
child->nextSibling)
{
- if (DPA_InsertPtr(list, INT_MAX, child) == -1)
+ if (DPA_InsertPtr(list, 0x7fff, child) == -1)
{
DPA_Destroy(list);
return NULL;
_________________________________________________________________
Get faster connections -- switch to MSN Internet Access!
http://resourcecenter.msn.com/access/plans/default.asp
More information about the wine-patches
mailing list