Piotr Caban : oleview: Fixed idl files generation with dual interfaces.

Alexandre Julliard julliard at winehq.org
Thu Apr 10 04:39:25 CDT 2008


Module: wine
Branch: master
Commit: 4e51c022240101d12a5b0379bef488296d98196b
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4e51c022240101d12a5b0379bef488296d98196b

Author: Piotr Caban <piotr.caban at gmail.com>
Date:   Wed Apr  9 21:25:36 2008 +0200

oleview: Fixed idl files generation with dual interfaces.

---

 programs/oleview/main.h    |    1 +
 programs/oleview/typelib.c |   11 ++++++++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/programs/oleview/main.h b/programs/oleview/main.h
index 90f184d..c196883 100644
--- a/programs/oleview/main.h
+++ b/programs/oleview/main.h
@@ -120,6 +120,7 @@ typedef struct
     WCHAR wszInsertAfter[MAX_LOAD_STRING];
     INT idlLen;
     BOOL bPredefine;
+    BOOL bHide;
 }TYPELIB_DATA;
 
 extern GLOBALS globals;
diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c
index 46d5b4d..247f21b 100644
--- a/programs/oleview/typelib.c
+++ b/programs/oleview/typelib.c
@@ -758,8 +758,10 @@ static void AddIdlData(HTREEITEM hCur, TYPELIB_DATA *pTLData)
     {
         tvi.hItem = hCur;
         SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
-        AddToTLDataStrW(pTLData, wszNewLine);
-        AddToTLDataStrWithTabsW(pTLData, ((TYPELIB_DATA*)(tvi.lParam))->idl);
+        if(!((TYPELIB_DATA*)(tvi.lParam))->bHide) {
+            AddToTLDataStrW(pTLData, wszNewLine);
+            AddToTLDataStrWithTabsW(pTLData, ((TYPELIB_DATA*)(tvi.lParam))->idl);
+        }
         hCur = TreeView_GetNextSibling(typelib.hTree, hCur);
     }
 }
@@ -788,7 +790,8 @@ static void AddPredefinitions(HTREEITEM hFirst, TYPELIB_DATA *pTLData)
     {
         tvi.hItem = hCur;
         SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi);
-        if(((TYPELIB_DATA*)(tvi.lParam))->bPredefine)
+        if(((TYPELIB_DATA*)(tvi.lParam))->bPredefine &&
+                !((TYPELIB_DATA*)(tvi.lParam))->bHide)
         {
             AddToStrW(wszText, wszSemicolon);
             AddToTLDataStrWithTabsW(pTLData, wszText);
@@ -1164,6 +1167,8 @@ static int PopulateTree(void)
                 CreateInterfaceInfo(pTypeInfo, pTypeAttr->cImplTypes, bstrName,
                         bstrData, ulHelpContext, pTypeAttr, tld);
                 tld->bPredefine = TRUE;
+                if(pTypeAttr->wTypeFlags & TYPEFLAG_FDUAL)
+                    tld->bHide = TRUE;
                 AddToStrW(wszText, wszTKIND_DISPATCH);
                 AddToStrW(wszText, bstrName);
 




More information about the wine-cvs mailing list