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