Module: wine Branch: master Commit: 4e51c022240101d12a5b0379bef488296d98196b URL: http://source.winehq.org/git/wine.git/?a=commit;h=4e51c022240101d12a5b0379be...
Author: Piotr Caban piotr.caban@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);