oleaut32 patch
Ove Kaaven
ovek at arcticnet.no
Mon May 19 17:52:07 CDT 2003
Log:
Ove Kaaven <ovek at transgaming.com>
Handle requests for CLSID_PSDispatch.
Index: dlls/oleaut32/oleaut.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/oleaut.c,v
retrieving revision 1.28
diff -u -r1.28 oleaut.c
--- dlls/oleaut32/oleaut.c 28 Jan 2003 00:30:29 -0000 1.28
+++ dlls/oleaut32/oleaut.c 19 May 2003 22:49:22 -0000
@@ -40,6 +40,9 @@
/* The OLE Automation ProxyStub Interface Class (aka Typelib Marshaler) */
extern const GUID CLSID_PSOAInterface;
+/* IDispatch marshaler */
+extern const GUID CLSID_PSDispatch;
+
/******************************************************************************
* SysStringLen [OLEAUT32.7]
*
@@ -519,13 +522,15 @@
return S_OK;
}
+extern HRESULT OLEAUTPS_DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv);
+
extern void _get_STDFONT_CF(LPVOID);
extern void _get_STDPIC_CF(LPVOID);
/***********************************************************************
* DllGetClassObject (OLEAUT32.1)
*/
-HRESULT WINAPI OLEAUT32_DllGetClassObject(REFCLSID rclsid, REFIID iid,LPVOID *ppv)
+HRESULT WINAPI OLEAUT32_DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
{
*ppv = NULL;
if (IsEqualGUID(rclsid,&CLSID_StdFont)) {
@@ -541,6 +546,9 @@
IClassFactory_AddRef((IClassFactory*)*ppv);
return S_OK;
}
+ }
+ if (IsEqualGUID(rclsid,&CLSID_PSDispatch)) {
+ return OLEAUTPS_DllGetClassObject(rclsid,iid,ppv);
}
if (IsEqualGUID(rclsid,&CLSID_PSOAInterface)) {
if (S_OK==TypeLibFac_DllGetClassObject(rclsid,iid,ppv))
More information about the wine-patches
mailing list