http://bugs.winehq.org/show_bug.cgi?id=24759
Summary: safearray axis in reversed order Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: oleaut32 AssignedTo: wine-bugs@winehq.org ReportedBy: cbill.lam@gmail.com
The api SafeArrayCreate expected a vector holding the shape of array, eg. foo[3,4], the vector should be {3,4}. But what I found was that wine interprets this vector in the reversed order of what a real window would do. Hence one need to supply a vector of {4,3} to wine to create the correct shape.
Also related to this, other api that need axis number are also affected. eg. SafeArrayGetLBound/SafeArrayGetUBound SafeArrayGetLBound ,1, will retrieve lbound of the second axis SafeArrayGetLBound ,2, will retrieve lbound of the first axis
steps to reproduce problem, create a safearray of shape [3,4] of integer from 0 to 11 open excel via ole automation and get a range of cell of the same shape put the variant of the safearray into range cleanup ole stuff use excel or other spreadsheet programs to inspect the result. expected output is a block of cells 0 1 2 3 4 5 6 7 8 9 10 11
actual output: numbers not in this order and a column of cells with content <n/a>
repeat the test using real window and to confirm result.