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
22521b58
Commit
22521b58
authored
Sep 02, 2011
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Sep 02, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleaut32: COM cleanup in typelib2.c.
parent
f0be3d81
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
38 additions
and
39 deletions
+38
-39
typelib2.c
dlls/oleaut32/typelib2.c
+38
-39
No files found.
dlls/oleaut32/typelib2.c
View file @
22521b58
...
...
@@ -163,9 +163,8 @@ typedef struct tagMSFT_ImpFile {
typedef
struct
tagICreateTypeLib2Impl
{
const
ICreateTypeLib2Vtbl
*
lpVtbl
;
const
ITypeLib2Vtbl
*
lpVtblTypeLib2
;
ICreateTypeLib2
ICreateTypeLib2_iface
;
ITypeLib2
ITypeLib2_iface
;
LONG
ref
;
WCHAR
*
filename
;
...
...
@@ -188,9 +187,14 @@ typedef struct tagICreateTypeLib2Impl
struct
tagICreateTypeInfo2Impl
*
last_typeinfo
;
}
ICreateTypeLib2Impl
;
static
inline
ICreateTypeLib2Impl
*
impl_from_I
TypeLib2
(
ITypeLib2
*
iface
)
static
inline
ICreateTypeLib2Impl
*
impl_from_I
CreateTypeLib2
(
ICreateTypeLib2
*
iface
)
{
return
(
ICreateTypeLib2Impl
*
)((
char
*
)
iface
-
FIELD_OFFSET
(
ICreateTypeLib2Impl
,
lpVtblTypeLib2
));
return
CONTAINING_RECORD
(
iface
,
ICreateTypeLib2Impl
,
ICreateTypeLib2_iface
);
}
static
inline
ICreateTypeLib2Impl
*
impl_from_ITypeLib2
(
ITypeLib2
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
ICreateTypeLib2Impl
,
ITypeLib2_iface
);
}
typedef
struct
tagICreateTypeInfo2Impl
...
...
@@ -1602,7 +1606,7 @@ static ULONG WINAPI ICreateTypeInfo2_fnAddRef(ICreateTypeInfo2 *iface)
TRACE
(
"(%p)->ref was %u
\n
"
,
This
,
ref
-
1
);
if
(
ref
==
1
&&
This
->
typelib
)
ICreateTypeLib2_AddRef
(
(
ICreateTypeLib2
*
)
This
->
typelib
);
ICreateTypeLib2_AddRef
(
&
This
->
typelib
->
ICreateTypeLib2_iface
);
return
ref
;
}
...
...
@@ -1619,7 +1623,7 @@ static ULONG WINAPI ICreateTypeInfo2_fnRelease(ICreateTypeInfo2 *iface)
if
(
!
ref
)
{
if
(
This
->
typelib
)
{
ICreateTypeLib2_fnRelease
((
ICreateTypeLib2
*
)
This
->
typelib
);
ICreateTypeLib2_fnRelease
(
&
This
->
typelib
->
ICreateTypeLib2_iface
);
/* Keep This->typelib reference to make stored ICreateTypeInfo structure valid */
/* This->typelib = NULL; */
}
...
...
@@ -1814,7 +1818,7 @@ static HRESULT WINAPI ICreateTypeInfo2_fnAddRefTypeInfo(
return
res
;
}
if
(
container
==
(
ITypeLib
*
)
&
This
->
typelib
->
lpVtblTypeLib2
)
{
if
(
container
==
(
ITypeLib
*
)
&
This
->
typelib
->
ITypeLib2_iface
)
{
/* Process locally defined TypeInfo */
*
phRefType
=
This
->
typelib
->
typelib_typeinfo_offsets
[
index
];
}
else
{
...
...
@@ -3566,7 +3570,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetDocumentation(
}
if
(
pBstrHelpFile
)
{
status
=
ITypeLib_GetDocumentation
((
ITypeLib
*
)
&
This
->
typelib
->
lpVtblTypeLib2
,
status
=
ITypeLib_GetDocumentation
((
ITypeLib
*
)
&
This
->
typelib
->
ITypeLib2_iface
,
-
1
,
NULL
,
NULL
,
NULL
,
pBstrHelpFile
);
if
(
status
)
{
if
(
pBstrName
)
SysFreeString
(
*
pBstrName
);
...
...
@@ -3707,7 +3711,7 @@ static HRESULT WINAPI ITypeInfo2_fnGetContainingTypeLib(
TRACE
(
"(%p,%p,%p)
\n
"
,
iface
,
ppTLib
,
pIndex
);
*
ppTLib
=
(
ITypeLib
*
)
&
This
->
typelib
->
lpVtblTypeLib2
;
*
ppTLib
=
(
ITypeLib
*
)
&
This
->
typelib
->
ITypeLib2_iface
;
ICreateTypeLib_AddRef
((
ICreateTypeLib
*
)
This
->
typelib
);
*
pIndex
=
This
->
typeinfo
->
typekind
>>
16
;
...
...
@@ -4269,7 +4273,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnQueryInterface(
REFIID
riid
,
VOID
**
ppvObject
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p)->(IID: %s)
\n
"
,
This
,
debugstr_guid
(
riid
));
...
...
@@ -4281,7 +4285,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnQueryInterface(
*
ppvObject
=
This
;
}
else
if
(
IsEqualIID
(
riid
,
&
IID_ITypeLib
)
||
IsEqualIID
(
riid
,
&
IID_ITypeLib2
))
{
*
ppvObject
=
&
This
->
lpVtblTypeLib2
;
*
ppvObject
=
&
This
->
ITypeLib2_iface
;
}
if
(
*
ppvObject
)
...
...
@@ -4299,7 +4303,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnQueryInterface(
*/
static
ULONG
WINAPI
ICreateTypeLib2_fnAddRef
(
ICreateTypeLib2
*
iface
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
ULONG
ref
=
InterlockedIncrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%u)
\n
"
,
This
,
ref
);
...
...
@@ -4312,7 +4316,7 @@ static ULONG WINAPI ICreateTypeLib2_fnAddRef(ICreateTypeLib2 *iface)
*/
static
ULONG
WINAPI
ICreateTypeLib2_fnRelease
(
ICreateTypeLib2
*
iface
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
ULONG
ref
=
InterlockedDecrement
(
&
This
->
ref
);
TRACE
(
"(%p)->(%u)
\n
"
,
This
,
ref
);
...
...
@@ -4367,7 +4371,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnCreateTypeInfo(
TYPEKIND
tkind
,
ICreateTypeInfo
**
tinfo
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
char
*
name
;
TRACE
(
"(%p,%s,%d,%p)
\n
"
,
iface
,
debugstr_w
(
szName
),
tkind
,
tinfo
);
...
...
@@ -4391,8 +4395,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetName(
ICreateTypeLib2
*
iface
,
LPOLESTR
szName
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
);
int
offset
;
TRACE
(
"(%p,%s)
\n
"
,
iface
,
debugstr_w
(
szName
));
...
...
@@ -4408,7 +4411,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetName(
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetVersion
(
ICreateTypeLib2
*
iface
,
WORD
wMajorVerNum
,
WORD
wMinorVerNum
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,%d,%d)
\n
"
,
iface
,
wMajorVerNum
,
wMinorVerNum
);
...
...
@@ -4421,8 +4424,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetVersion(ICreateTypeLib2 * iface, WORD
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetGuid
(
ICreateTypeLib2
*
iface
,
REFGUID
guid
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
);
MSFT_GuidEntry
guidentry
;
int
offset
;
...
...
@@ -4446,8 +4448,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetGuid(ICreateTypeLib2 * iface, REFGUID
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetDocString
(
ICreateTypeLib2
*
iface
,
LPOLESTR
szDoc
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
);
int
offset
;
TRACE
(
"(%p,%s)
\n
"
,
iface
,
debugstr_w
(
szDoc
));
...
...
@@ -4465,8 +4466,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetDocString(ICreateTypeLib2 * iface, LP
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetHelpFileName
(
ICreateTypeLib2
*
iface
,
LPOLESTR
szHelpFileName
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
);
int
offset
;
TRACE
(
"(%p,%s)
\n
"
,
iface
,
debugstr_w
(
szHelpFileName
));
...
...
@@ -4483,7 +4483,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetHelpFileName(ICreateTypeLib2 * iface,
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetHelpContext
(
ICreateTypeLib2
*
iface
,
DWORD
dwHelpContext
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,%d)
\n
"
,
iface
,
dwHelpContext
);
This
->
typelib_header
.
helpcontext
=
dwHelpContext
;
...
...
@@ -4500,7 +4500,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetHelpContext(ICreateTypeLib2 * iface,
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetLcid
(
ICreateTypeLib2
*
iface
,
LCID
lcid
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,%d)
\n
"
,
iface
,
lcid
);
...
...
@@ -4516,7 +4516,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetLcid(ICreateTypeLib2 * iface, LCID lc
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSetLibFlags
(
ICreateTypeLib2
*
iface
,
UINT
uLibFlags
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,0x%x)
\n
"
,
iface
,
uLibFlags
);
...
...
@@ -4612,8 +4612,7 @@ static void ctl2_write_typeinfos(ICreateTypeLib2Impl *This, HANDLE hFile)
*/
static
HRESULT
WINAPI
ICreateTypeLib2_fnSaveAllChanges
(
ICreateTypeLib2
*
iface
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
);
int
retval
;
int
filepos
;
HANDLE
hFile
;
...
...
@@ -4709,7 +4708,7 @@ static HRESULT WINAPI ICreateTypeLib2_fnSetCustData(
REFGUID
guid
,
/* [I] The GUID used as a key to retrieve the custom data. */
VARIANT
*
pVarVal
)
/* [I] The custom data itself. */
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,%s,%p)
\n
"
,
iface
,
debugstr_guid
(
guid
),
pVarVal
);
...
...
@@ -4733,7 +4732,7 @@ static
HRESULT
WINAPI
ICreateTypeLib2_fnSetHelpStringContext
(
ICreateTypeLib2
*
iface
,
ULONG
dwContext
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
TRACE
(
"(%p,%d)
\n
"
,
iface
,
dwContext
);
...
...
@@ -4758,7 +4757,7 @@ static
HRESULT
WINAPI
ICreateTypeLib2_fnSetHelpStringDll
(
ICreateTypeLib2
*
iface
,
LPOLESTR
szDllName
)
{
ICreateTypeLib2Impl
*
This
=
(
ICreateTypeLib2Impl
*
)
iface
;
ICreateTypeLib2Impl
*
This
=
impl_from_ICreateTypeLib2
(
iface
)
;
int
offset
;
TRACE
(
"(%p,%s)
\n
"
,
iface
,
debugstr_w
(
szDllName
));
...
...
@@ -4782,7 +4781,7 @@ static HRESULT WINAPI ITypeLib2_fnQueryInterface(ITypeLib2 * iface, REFIID riid,
{
ICreateTypeLib2Impl
*
This
=
impl_from_ITypeLib2
(
iface
);
return
ICreateTypeLib2_QueryInterface
(
(
ICreateTypeLib2
*
)
This
,
riid
,
ppv
);
return
ICreateTypeLib2_QueryInterface
(
&
This
->
ICreateTypeLib2_iface
,
riid
,
ppv
);
}
/******************************************************************************
...
...
@@ -4792,7 +4791,7 @@ static ULONG WINAPI ITypeLib2_fnAddRef(ITypeLib2 * iface)
{
ICreateTypeLib2Impl
*
This
=
impl_from_ITypeLib2
(
iface
);
return
ICreateTypeLib2_AddRef
(
(
ICreateTypeLib2
*
)
This
);
return
ICreateTypeLib2_AddRef
(
&
This
->
ICreateTypeLib2_iface
);
}
/******************************************************************************
...
...
@@ -4802,7 +4801,7 @@ static ULONG WINAPI ITypeLib2_fnRelease(ITypeLib2 * iface)
{
ICreateTypeLib2Impl
*
This
=
impl_from_ITypeLib2
(
iface
);
return
ICreateTypeLib2_Release
(
(
ICreateTypeLib2
*
)
This
);
return
ICreateTypeLib2_Release
(
&
This
->
ICreateTypeLib2_iface
);
}
/******************************************************************************
...
...
@@ -5252,16 +5251,16 @@ static ICreateTypeLib2 *ICreateTypeLib2_Constructor(SYSKIND syskind, LPCOLESTR s
memset
(
pCreateTypeLib2Impl
->
typelib_guidhash_segment
,
0xff
,
0x80
);
memset
(
pCreateTypeLib2Impl
->
typelib_namehash_segment
,
0xff
,
0x200
);
pCreateTypeLib2Impl
->
lpVtbl
=
&
ctypelib2vt
;
pCreateTypeLib2Impl
->
lpVtblTypeLib2
=
&
typelib2vt
;
pCreateTypeLib2Impl
->
ICreateTypeLib2_iface
.
lpVtbl
=
&
ctypelib2vt
;
pCreateTypeLib2Impl
->
ITypeLib2_iface
.
lpVtbl
=
&
typelib2vt
;
pCreateTypeLib2Impl
->
ref
=
1
;
if
(
failed
)
{
ICreateTypeLib2_fnRelease
((
ICreateTypeLib2
*
)
pCreateTypeLib2Impl
);
ICreateTypeLib2_fnRelease
(
&
pCreateTypeLib2Impl
->
ICreateTypeLib2_iface
);
return
0
;
}
return
(
ICreateTypeLib2
*
)
pCreateTypeLib2Impl
;
return
&
pCreateTypeLib2Impl
->
ICreateTypeLib2_iface
;
}
/******************************************************************************
...
...
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