Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
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-winehq
Commits
9cb140c4
Commit
9cb140c4
authored
Sep 23, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
oleaut32: Use the appropriate PSFactoryBuffer guid when registering interfaces.
parent
6e2babc9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
55 deletions
+15
-55
Makefile.in
dlls/oleaut32/Makefile.in
+2
-1
oleaut.c
dlls/oleaut32/oleaut.c
+9
-7
regsvr.c
dlls/oleaut32/regsvr.c
+4
-47
No files found.
dlls/oleaut32/Makefile.in
View file @
9cb140c4
...
...
@@ -7,7 +7,8 @@ IMPORTLIB = oleaut32
IMPORTS
=
uuid ole32 rpcrt4 user32 gdi32 advapi32 kernel32 ntdll
DELAYIMPORTS
=
comctl32 urlmon windowscodecs
EXTRADEFS
=
-D_OLEAUT32_
-DCOM_NO_WINDOWS_H
\
-DENTRY_PREFIX
=
OLEAUTPS_
-DPROXY_CLSID
=
CLSID_PSDispatch
-DPROXY_DELEGATION
-DREGISTER_PROXY_DLL
-DENTRY_PREFIX
=
OLEAUTPS_
-DPROXY_DELEGATION
-DREGISTER_PROXY_DLL
\
-DPROXY_CLSID_IS
=
"{0xb196b286,0xbab4,0x101a,{0xb6,0x9c,0x00,0xaa,0x00,0x34,0x1d,0x07}}"
C_SRCS
=
\
connpt.c
\
...
...
dlls/oleaut32/oleaut.c
View file @
9cb140c4
...
...
@@ -696,6 +696,7 @@ HRESULT WINAPI OleTranslateColor(
extern
HRESULT
WINAPI
OLEAUTPS_DllGetClassObject
(
REFCLSID
,
REFIID
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
extern
BOOL
WINAPI
OLEAUTPS_DllMain
(
HINSTANCE
,
DWORD
,
LPVOID
)
DECLSPEC_HIDDEN
;
extern
GUID
const
CLSID_PSFactoryBuffer
DECLSPEC_HIDDEN
;
extern
void
_get_STDFONT_CF
(
LPVOID
*
);
extern
void
_get_STDPIC_CF
(
LPVOID
*
);
...
...
@@ -728,7 +729,7 @@ static HRESULT WINAPI PSDispatchFacBuf_CreateProxy(IPSFactoryBuffer *iface, IUnk
HRESULT
hr
;
if
(
IsEqualIID
(
riid
,
&
IID_IDispatch
))
hr
=
OLEAUTPS_DllGetClassObject
(
&
CLSID_PS
Dispatch
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
hr
=
OLEAUTPS_DllGetClassObject
(
&
CLSID_PS
FactoryBuffer
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
else
hr
=
TMARSHAL_DllGetClassObject
(
&
CLSID_PSOAInterface
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
...
...
@@ -746,7 +747,7 @@ static HRESULT WINAPI PSDispatchFacBuf_CreateStub(IPSFactoryBuffer *iface, REFII
HRESULT
hr
;
if
(
IsEqualIID
(
riid
,
&
IID_IDispatch
))
hr
=
OLEAUTPS_DllGetClassObject
(
&
CLSID_PS
Dispatch
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
hr
=
OLEAUTPS_DllGetClassObject
(
&
CLSID_PS
FactoryBuffer
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
else
hr
=
TMARSHAL_DllGetClassObject
(
&
CLSID_PSOAInterface
,
&
IID_IPSFactoryBuffer
,
(
void
**
)
&
pPSFB
);
...
...
@@ -790,11 +791,6 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
return
S_OK
;
}
}
if
(
IsEqualCLSID
(
rclsid
,
&
CLSID_PSTypeInfo
)
||
IsEqualCLSID
(
rclsid
,
&
CLSID_PSTypeLib
)
||
IsEqualCLSID
(
rclsid
,
&
CLSID_PSEnumVariant
))
{
return
OLEAUTPS_DllGetClassObject
(
&
CLSID_PSDispatch
,
iid
,
ppv
);
}
if
(
IsEqualCLSID
(
rclsid
,
&
CLSID_PSDispatch
)
&&
IsEqualIID
(
iid
,
&
IID_IPSFactoryBuffer
))
{
*
ppv
=
&
pPSDispatchFacBuf
;
IPSFactoryBuffer_AddRef
((
IPSFactoryBuffer
*
)
*
ppv
);
...
...
@@ -805,6 +801,12 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
return
S_OK
;
/*FALLTHROUGH*/
}
if
(
IsEqualCLSID
(
rclsid
,
&
CLSID_PSTypeInfo
)
||
IsEqualCLSID
(
rclsid
,
&
CLSID_PSTypeLib
)
||
IsEqualCLSID
(
rclsid
,
&
CLSID_PSDispatch
)
||
IsEqualCLSID
(
rclsid
,
&
CLSID_PSEnumVariant
))
return
OLEAUTPS_DllGetClassObject
(
&
CLSID_PSFactoryBuffer
,
iid
,
ppv
);
return
OLEAUTPS_DllGetClassObject
(
rclsid
,
iid
,
ppv
);
}
...
...
dlls/oleaut32/regsvr.c
View file @
9cb140c4
...
...
@@ -413,9 +413,6 @@ static GUID const CLSID_RecordInfo = {
static
GUID
const
CLSID_OldFont
=
{
0x46763EE0
,
0xCAB2
,
0x11CE
,
{
0x8C
,
0x20
,
0x00
,
0xAA
,
0x00
,
0x51
,
0xE5
,
0xD4
}
};
static
GUID
const
CLSID_PSFactoryBuffer
=
{
0xB196B286
,
0xBAB4
,
0x101A
,
{
0xB6
,
0x9C
,
0x00
,
0xAA
,
0x00
,
0x34
,
0x1D
,
0x07
}
};
static
struct
regsvr_coclass
const
coclass_list
[]
=
{
{
&
CLSID_RecordInfo
,
"CLSID_RecordInfo"
,
...
...
@@ -483,12 +480,6 @@ static struct regsvr_coclass const coclass_list[] = {
"Obsolete Font"
,
"OldFont"
},
{
&
CLSID_PSFactoryBuffer
,
"PSFactoryBuffer"
,
NULL
,
"oleaut32.dll"
,
"Both"
},
{
NULL
}
/* list terminator */
};
...
...
@@ -497,7 +488,6 @@ static struct regsvr_coclass const coclass_list[] = {
*/
#define INTERFACE_ENTRY(interface, clsid16, clsid32) { &IID_##interface, #interface, NULL, sizeof(interface##Vtbl)/sizeof(void*), clsid16, clsid32 }
#define LCL_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, NULL)
#define PSFAC_INTERFACE_ENTRY(interface) INTERFACE_ENTRY(interface, NULL, &CLSID_PSFactoryBuffer)
#define CLSID_INTERFACE_ENTRY(interface,clsid) INTERFACE_ENTRY(interface, clsid, clsid)
static
struct
regsvr_interface
const
interface_list
[]
=
{
...
...
@@ -508,43 +498,10 @@ static struct regsvr_interface const interface_list[] = {
CLSID_INTERFACE_ENTRY
(
ITypeComp
,
&
CLSID_PSTypeComp
),
CLSID_INTERFACE_ENTRY
(
ITypeInfo
,
&
CLSID_PSTypeInfo
),
CLSID_INTERFACE_ENTRY
(
ITypeLib
,
&
CLSID_PSTypeLib
),
PSFAC_INTERFACE_ENTRY
(
IAdviseSinkEx
),
PSFAC_INTERFACE_ENTRY
(
IClassFactory2
),
PSFAC_INTERFACE_ENTRY
(
IConnectionPoint
),
PSFAC_INTERFACE_ENTRY
(
IConnectionPointContainer
),
PSFAC_INTERFACE_ENTRY
(
ICreateErrorInfo
),
PSFAC_INTERFACE_ENTRY
(
IEnumConnectionPoints
),
PSFAC_INTERFACE_ENTRY
(
IEnumConnections
),
PSFAC_INTERFACE_ENTRY
(
IEnumOleUndoUnits
),
PSFAC_INTERFACE_ENTRY
(
IErrorInfo
),
PSFAC_INTERFACE_ENTRY
(
IErrorLog
),
PSFAC_INTERFACE_ENTRY
(
IFont
),
PSFAC_INTERFACE_ENTRY
(
IObjectWithSite
),
PSFAC_INTERFACE_ENTRY
(
IOleControl
),
PSFAC_INTERFACE_ENTRY
(
IOleControlSite
),
PSFAC_INTERFACE_ENTRY
(
IOleInPlaceSiteEx
),
PSFAC_INTERFACE_ENTRY
(
IOleParentUndoUnit
),
PSFAC_INTERFACE_ENTRY
(
IOleUndoManager
),
PSFAC_INTERFACE_ENTRY
(
IOleUndoUnit
),
PSFAC_INTERFACE_ENTRY
(
IPerPropertyBrowsing
),
PSFAC_INTERFACE_ENTRY
(
IPersistMemory
),
PSFAC_INTERFACE_ENTRY
(
IPersistPropertyBag
),
PSFAC_INTERFACE_ENTRY
(
IPersistPropertyBag2
),
PSFAC_INTERFACE_ENTRY
(
IPersistStreamInit
),
PSFAC_INTERFACE_ENTRY
(
IPicture
),
PSFAC_INTERFACE_ENTRY
(
IPointerInactive
),
PSFAC_INTERFACE_ENTRY
(
IPropertyBag
),
PSFAC_INTERFACE_ENTRY
(
IPropertyBag2
),
PSFAC_INTERFACE_ENTRY
(
IPropertyNotifySink
),
PSFAC_INTERFACE_ENTRY
(
IPropertyPage
),
PSFAC_INTERFACE_ENTRY
(
IPropertyPage2
),
PSFAC_INTERFACE_ENTRY
(
IPropertyPageSite
),
PSFAC_INTERFACE_ENTRY
(
IProvideClassInfo
),
PSFAC_INTERFACE_ENTRY
(
IProvideClassInfo2
),
PSFAC_INTERFACE_ENTRY
(
IProvideMultipleClassInfo
),
PSFAC_INTERFACE_ENTRY
(
IQuickActivate
),
PSFAC_INTERFACE_ENTRY
(
ISimpleFrameSite
),
PSFAC_INTERFACE_ENTRY
(
ISpecifyPropertyPages
),
INTERFACE_ENTRY
(
ISupportErrorInfo
,
NULL
,
&
CLSID_PSDispatch
),
INTERFACE_ENTRY
(
ITypeFactory
,
NULL
,
&
CLSID_PSDispatch
),
INTERFACE_ENTRY
(
ITypeInfo2
,
NULL
,
&
CLSID_PSDispatch
),
INTERFACE_ENTRY
(
ITypeLib2
,
NULL
,
&
CLSID_PSDispatch
),
{
NULL
}
/* list terminator */
};
...
...
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