[Bug 24759] safearray axis in reversed order

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Oct 17 19:28:10 CDT 2010


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

--- Comment #14 from bill lam <cbill.lam at gmail.com> 2010-10-17 19:28:09 CDT ---
I suspect the bug is inside usemarshal.c

    wiresab = (SAFEARRAYBOUND *)Buffer;
    Buffer += sizeof(wiresab[0]) * wiresa->cDims;

    if(vt)
        *ppsa = SafeArrayCreateEx(vt, wiresa->cDims, wiresab, NULL);

where Buffer is (I supposed) the internal record of safearray, if it
is the case then, the axis specification in wiresab will be in the
reversed order.  However SafeArrayCreate expects wiresab hold axis
dimension in the normal order. The patch in year 2006 only change
the storage of safearray but did not modify this part. 

IMO what should be done is to create a vector from Buffer that holds 
the axis dimension in normal order for the consumption of 
safearraycreate. Can you write a patch for this?

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list