PATCH: typelib stuff

Marcus Meissner marcus at jet.franken.de
Sun Nov 10 15:22:47 CST 2002


Hi,

Ciao, Marcus

Changelog:
	Silence one FIXME(). Implement ITypeInfo::GetDocumentation
	for variable descriptions.

Index: typelib.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/typelib.c,v
retrieving revision 1.78
diff -u -r1.78 typelib.c
--- typelib.c	8 Nov 2002 18:51:28 -0000	1.78
+++ typelib.c	10 Nov 2002 21:08:29 -0000
@@ -4309,7 +4307,8 @@
 		    argspos += arglen;
 		} else {
 		    TYPEDESC *tdesc = &(pFDesc->funcdesc.lprgelemdescParam[i].tdesc);
-		    FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt);
+		    if (tdesc->vt != VT_PTR)
+		    	FIXME("set %d to pointer for get (type is %d)\n",i,tdesc->vt);
 		    /*FIXME: give pointers for the rest, so propertyget works*/
 		    args[argspos] = (DWORD)&args2[args2pos];
 
@@ -4418,6 +4417,8 @@
  *
  * Retrieves the documentation string, the complete Help file name and path,
  * and the context ID for the Help topic for a specified type description.
+ *
+ * (Can be tested by the Visual Basic Editor in Word for instance.)
  */
 static HRESULT WINAPI ITypeInfo_fnGetDocumentation( ITypeInfo2 *iface,
         MEMBERID memid, BSTR  *pBstrName, BSTR  *pBstrDocString,
@@ -4452,8 +4453,13 @@
         }
     for(pVDesc=This->varlist; pVDesc; pVDesc=pVDesc->next)
         if(pVDesc->vardesc.memid==memid){
-	    FIXME("Not implemented\n");
-            return S_OK;
+	    if(pBstrName)
+	      *pBstrName = SysAllocString(pVDesc->Name);
+	    if(pBstrDocString)
+	      *pBstrDocString=SysAllocString(pVDesc->HelpString);
+	    if(pdwHelpContext)
+	      *pdwHelpContext=pVDesc->HelpContext;
+	    return S_OK;
         }
     }
     return TYPE_E_ELEMENTNOTFOUND;



More information about the wine-patches mailing list