Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
b8d7088e
Commit
b8d7088e
authored
Oct 24, 2009
by
Jeremy White
Committed by
Alexandre Julliard
Oct 26, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleaut32: Implement the ability to marshall VT_CARRAY's of user defined types.
parent
1e0b8367
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
4 additions
and
5 deletions
+4
-5
tmarshal.c
dlls/oleaut32/tests/tmarshal.c
+0
-2
tmarshal.c
dlls/oleaut32/tmarshal.c
+3
-2
typelib.c
dlls/oleaut32/typelib.c
+1
-1
No files found.
dlls/oleaut32/tests/tmarshal.c
View file @
b8d7088e
...
...
@@ -1078,9 +1078,7 @@ static void test_typelibmarshal(void)
mystruct
=
MYSTRUCT_BYPTR
;
memcpy
(
mystructArray
,
MYSTRUCT_ARRAY
,
sizeof
(
mystructArray
));
hr
=
IWidget_StructArgs
(
pWidget
,
MYSTRUCT_BYVAL
,
&
mystruct
,
mystructArray
);
todo_wine
{
ok_ole_success
(
hr
,
IWidget_StructArgs
);
}
/* call Clone */
dispparams
.
cNamedArgs
=
0
;
...
...
dlls/oleaut32/tmarshal.c
View file @
b8d7088e
...
...
@@ -888,7 +888,7 @@ serialize_param(
if
(
debugout
)
TRACE_
(
olerelay
)(
"(vt %s)"
,
debugstr_vt
(
adesc
->
tdescElem
.
vt
));
if
(
debugout
)
TRACE_
(
olerelay
)(
"["
);
for
(
i
=
0
;
i
<
arrsize
;
i
++
)
{
hres
=
serialize_param
(
tinfo
,
writeit
,
debugout
,
dealloc
,
&
adesc
->
tdescElem
,
(
DWORD
*
)((
LPBYTE
)
arg
+
i
*
_xsize
(
&
adesc
->
tdescElem
,
tinfo
)),
buf
);
hres
=
serialize_param
(
tinfo
,
writeit
,
debugout
,
dealloc
,
&
adesc
->
tdescElem
,
(
DWORD
*
)((
LPBYTE
)
(
*
arg
)
+
i
*
_xsize
(
&
adesc
->
tdescElem
,
tinfo
)),
buf
);
if
(
hres
)
return
hres
;
if
(
debugout
&&
(
i
<
arrsize
-
1
))
TRACE_
(
olerelay
)(
","
);
...
...
@@ -1247,6 +1247,7 @@ deserialize_param(
if
(
adesc
->
cDims
>
1
)
FIXME
(
"cDims > 1 in VT_CARRAY. Does it work?
\n
"
);
for
(
i
=
0
;
i
<
adesc
->
cDims
;
i
++
)
arrsize
*=
adesc
->
rgbounds
[
i
].
cElements
;
*
arg
=
(
DWORD
)
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
_xsize
(
tdesc
->
u
.
lptdesc
,
tinfo
)
*
arrsize
);
for
(
i
=
0
;
i
<
arrsize
;
i
++
)
deserialize_param
(
tinfo
,
...
...
@@ -1254,7 +1255,7 @@ deserialize_param(
debugout
,
alloc
,
&
adesc
->
tdescElem
,
(
DWORD
*
)((
LPBYTE
)(
arg
)
+
i
*
_xsize
(
&
adesc
->
tdescElem
,
tinfo
)),
(
DWORD
*
)((
LPBYTE
)(
*
arg
)
+
i
*
_xsize
(
&
adesc
->
tdescElem
,
tinfo
)),
buf
);
return
S_OK
;
...
...
dlls/oleaut32/typelib.c
View file @
b8d7088e
...
...
@@ -2947,7 +2947,7 @@ static ITypeLib2* ITypeLib2_Constructor_MSFT(LPVOID pLib, DWORD dwTLBLength)
if
(
td
[
1
]
<
0
)
pTypeLibImpl
->
pTypeDesc
[
i
].
u
.
lpadesc
->
tdescElem
.
vt
=
td
[
0
]
&
VT_TYPEMASK
;
else
pTypeLibImpl
->
pTypeDesc
[
i
].
u
.
lpadesc
->
tdescElem
=
stndTypeDesc
[
td
[
0
]
/
8
];
pTypeLibImpl
->
pTypeDesc
[
i
].
u
.
lpadesc
->
tdescElem
=
cx
.
pLibInfo
->
pTypeDesc
[
td
[
0
]
/
(
2
*
sizeof
(
INT
))
];
pTypeLibImpl
->
pTypeDesc
[
i
].
u
.
lpadesc
->
cDims
=
td
[
2
];
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment