[Bug 2830] MSFT_GetTdesc fails on methods with >= 30 params

Wine Bugs wine-bugs at winehq.org
Mon Sep 5 13:14:05 CDT 2005


http://bugs.winehq.org/show_bug.cgi?id=2830





------- Additional Comments From whitesnake78 at mail.com  2005-05-09 13:14 -------
Created an attachment (id=1006)
 --> (http://bugs.winehq.org/attachment.cgi?id=1006&action=view)
patch against typelib.c 1.167

Patch goes in typelib.c and is attached as a diff file against typelib.c 1.167.

Patch is divided in 3 parts:
1) in MSFT_DoFuncs: "reclength" of the function information record  is stored
in a 16 bit int and not in a 8 bit int as previously supposed, using a 0x1ff
mask. Upper 16 bits contains the ordinal number of the function. Allocation of
the "recbuf" must be modified, to support larger data.
2) Supporting a larger number of parameters means that the function "_invoke"
must be updated too. Maybe there is a smarter way than the one i've found.
3) This is a "new" bug I discovered: in ITypeInfo_fnInvoke, after _invoke, when
you copy data back to pVarResult, you must not always do it. Sometimes
pVarResult is passet to the called function, so data is already in the exit
buffer. Check the comment few lines above "If pointer to variant, pass
reference it."


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list