winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
June
May
April
March
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
August 2006
----- 2025 -----
June 2025
May 2025
April 2025
March 2025
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
5 participants
746 discussions
Start a n
N
ew thread
Frank Richter : winecfg: driveui: Load UI strings from resources.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: a121ac5d71688abfa8879b0a3ea42ce85377a25b URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a121ac5d71688abfa8879b0…
Author: Frank Richter <frank.richter(a)gmail.com> Date: Fri Aug 18 23:58:32 2006 +0200 winecfg: driveui: Load UI strings from resources. --- programs/winecfg/Bg.rc | 15 +++++++++++ programs/winecfg/De.rc | 15 +++++++++++ programs/winecfg/En.rc | 15 +++++++++++ programs/winecfg/Es.rc | 15 +++++++++++ programs/winecfg/Fi.rc | 15 +++++++++++ programs/winecfg/Fr.rc | 15 +++++++++++ programs/winecfg/Hu.rc | 15 +++++++++++ programs/winecfg/Ja.rc | 15 +++++++++++ programs/winecfg/Ko.rc | 17 +++++++++++- programs/winecfg/Nl.rc | 15 +++++++++++ programs/winecfg/No.rc | 15 +++++++++++ programs/winecfg/Ru.rc | 15 +++++++++++ programs/winecfg/Tr.rc | 15 +++++++++++ programs/winecfg/driveui.c | 60 ++++++++++++++++++++++++++++++------------- programs/winecfg/resource.h | 12 +++++++++ 15 files changed, 250 insertions(+), 19 deletions(-) Diff:
http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=a121ac5d71688abfa88…
1
0
0
0
David Adam : winecfg: Update French translation.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: d70832d5c363a6c6c29db00c3eea08741575a5f4 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=d70832d5c363a6c6c29db00…
Author: David Adam <David.Adam(a)math.cnrs.fr> Date: Sat Aug 19 03:19:16 2006 +0200 winecfg: Update French translation. --- programs/winecfg/Fr.rc | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/programs/winecfg/Fr.rc b/programs/winecfg/Fr.rc index 0bd019d..53771ed 100644 --- a/programs/winecfg/Fr.rc +++ b/programs/winecfg/Fr.rc @@ -233,7 +233,7 @@ END STRINGTABLE DISCARDABLE BEGIN - IDS_SHADER_MODE_HARDWARE "Hardware" - IDS_SHADER_MODE_NONE "None" - IDS_SHADER_MODE_EMULATION "Emulated" + IDS_SHADER_MODE_HARDWARE "Mat�riel" + IDS_SHADER_MODE_NONE "Aucun" + IDS_SHADER_MODE_EMULATION "Emulation" END
1
0
0
0
Chris Robinson : wined3d: Don' t pass bad values to glAlphaFunc and glDepthFunc.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: a39e2b51cb78a2c0008b3be3d3f93ed303c9636f URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a39e2b51cb78a2c0008b3be…
Author: Chris Robinson <chris.kcat(a)gmail.com> Date: Sun Aug 20 16:26:39 2006 -0700 wined3d: Don't pass bad values to glAlphaFunc and glDepthFunc. --- dlls/wined3d/device.c | 20 ++++++++++++-------- 1 files changed, 12 insertions(+), 8 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index f0e7f26..27791b6 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3560,7 +3560,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl case WINED3DRS_ZFUNC : { - int glParm = GL_LESS; + int glParm = 0; switch ((D3DCMPFUNC) Value) { case D3DCMP_NEVER: glParm=GL_NEVER; break; @@ -3574,8 +3574,10 @@ static HRESULT WINAPI IWineD3DDeviceImpl default: FIXME("Unrecognized/Unhandled D3DCMPFUNC value %ld\n", Value); } - glDepthFunc(glParm); - checkGLcall("glDepthFunc"); + if(glParm) { + glDepthFunc(glParm); + checkGLcall("glDepthFunc"); + } } break; @@ -3644,8 +3646,8 @@ static HRESULT WINAPI IWineD3DDeviceImpl case WINED3DRS_ALPHAREF : case WINED3DRS_COLORKEYENABLE : { - int glParm = 0.0; - float ref = GL_LESS; + int glParm = 0; + float ref; BOOL enable_ckey = FALSE; IWineD3DSurfaceImpl *surf; @@ -3688,9 +3690,11 @@ static HRESULT WINAPI IWineD3DDeviceImpl FIXME("Unrecognized/Unhandled D3DCMPFUNC value %ld\n", This->stateBlock->renderState[WINED3DRS_ALPHAFUNC]); } } - This->alphafunc = glParm; - glAlphaFunc(glParm, ref); - checkGLcall("glAlphaFunc"); + if(glParm) { + This->alphafunc = glParm; + glAlphaFunc(glParm, ref); + checkGLcall("glAlphaFunc"); + } } break;
1
0
0
0
Chris Robinson : wined3d: Print real unhandled D3DCMPFUNC value.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: 4c88bb84b9eab6f46480a616c72548f2b0f36c95 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=4c88bb84b9eab6f46480a61…
Author: Chris Robinson <chris.kcat(a)gmail.com> Date: Sun Aug 20 13:37:04 2006 -0700 wined3d: Print real unhandled D3DCMPFUNC value. --- dlls/wined3d/device.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c index 5e303a2..f0e7f26 100644 --- a/dlls/wined3d/device.c +++ b/dlls/wined3d/device.c @@ -3685,7 +3685,7 @@ static HRESULT WINAPI IWineD3DDeviceImpl case D3DCMP_GREATEREQUAL: glParm = GL_GEQUAL; break; case D3DCMP_ALWAYS: glParm = GL_ALWAYS; break; default: - FIXME("Unrecognized/Unhandled D3DCMPFUNC value %ld\n", Value); + FIXME("Unrecognized/Unhandled D3DCMPFUNC value %ld\n", This->stateBlock->renderState[WINED3DRS_ALPHAFUNC]); } } This->alphafunc = glParm;
1
0
0
0
Piotr Caban : oleview: Added idl save to file functionality.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: c5fb8f2829f505e0dd3ee2b987bfb1708130f8ed URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=c5fb8f2829f505e0dd3ee2b…
Author: Piotr Caban <piotr.caban(a)gmail.com> Date: Sun Aug 20 18:51:04 2006 +0200 oleview: Added idl save to file functionality. --- programs/oleview/typelib.c | 105 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 104 insertions(+), 1 deletions(-) diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index dee9655..c5088d3 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -21,6 +21,7 @@ #include "main.h" #include "wine/debug.h" +#include "wine/unicode.h" WINE_DEFAULT_DEBUG_CHANNEL(oleview); @@ -89,6 +90,103 @@ static const WCHAR wszPARAMFLAG_FHASDEFA static const WCHAR wszPARAMFLAG_FHASCUSTDATA[] = { 'h','a','s','c','u','s','t','d','a','t','a','\0' }; +void ShowLastError(void) +{ + DWORD error = GetLastError(); + LPWSTR lpMsgBuf; + WCHAR wszTitle[MAX_LOAD_STRING]; + + LoadString(globals.hMainInst, IDS_TYPELIBTITLE, wszTitle, + sizeof(WCHAR[MAX_LOAD_STRING])); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, + NULL, error, 0, (LPTSTR) &lpMsgBuf, 0, NULL); + MessageBox(NULL, lpMsgBuf, wszTitle, MB_OK | MB_ICONERROR); + LocalFree(lpMsgBuf); + return; +} + +void SaveIdl(WCHAR *wszFileName) +{ + HTREEITEM hIDL; + TVITEM tvi; + HANDLE hFile; + DWORD dwNumWrite; + char *wszIdl; + + hIDL = TreeView_GetChild(typelib.hTree, TVI_ROOT); + + memset(&tvi, 0, sizeof(TVITEM)); + tvi.hItem = hIDL; + + SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi); + + hFile = CreateFile(wszFileName, GENERIC_WRITE, FILE_SHARE_WRITE, + NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + if(hFile == INVALID_HANDLE_VALUE) + { + ShowLastError(); + return; + } + + wszIdl = HeapAlloc(GetProcessHeap(), 0, + sizeof(WCHAR)*((TYPELIB_DATA *)(tvi.lParam))->idlLen); + wine_utf8_wcstombs(((TYPELIB_DATA *)(tvi.lParam))->idl, + ((TYPELIB_DATA *)(tvi.lParam))->idlLen, wszIdl, + ((TYPELIB_DATA *)(tvi.lParam))->idlLen); + + if(!WriteFile(hFile, wszIdl, ((TYPELIB_DATA *)(tvi.lParam))->idlLen, + &dwNumWrite, NULL)) + { + ShowLastError(); + HeapFree(GetProcessHeap(), 0, wszIdl); + return; + } + + HeapFree(GetProcessHeap(), 0, wszIdl); + SetEndOfFile(hFile); + CloseHandle(hFile); +} + +void GetSaveIdlAsPath(void) +{ + OPENFILENAME saveidl; + WCHAR *pFileName; + WCHAR wszPath[MAX_LOAD_STRING]; + WCHAR wszDir[MAX_LOAD_STRING]; + static const WCHAR wszDefaultExt[] = { 'i','d','l',0 }; + static const WCHAR wszIdlFiles[] = { '*','.','i','d','l','\0','\0' }; + + memset(&saveidl, 0, sizeof(saveidl)); + + lstrcpyW(wszDir, typelib.wszFileName); + pFileName = wszDir + lstrlenW(wszDir); + while(*pFileName != '.' && *pFileName != '\\' && *pFileName != '/' + && pFileName > wszDir) pFileName -= 1; + if(*pFileName == '.') + { + *pFileName = '\0'; + while(*pFileName != '\\' && *pFileName != '/' && pFileName > wszDir) + pFileName -= 1; + } + if(*pFileName == '\\' || *pFileName == '/') pFileName += 1; + lstrcpyW(wszPath, pFileName); + + GetCurrentDirectory(MAX_LOAD_STRING, wszDir); + + saveidl.lStructSize = sizeof(OPENFILENAME); + saveidl.hwndOwner = globals.hTypeLibWnd; + saveidl.hInstance = globals.hMainInst; + saveidl.lpstrFilter = wszIdlFiles; + saveidl.lpstrFile = wszPath; + saveidl.nMaxFile = MAX_LOAD_STRING; + saveidl.lpstrInitialDir = wszDir; + saveidl.Flags = OFN_PATHMUSTEXIST | OFN_OVERWRITEPROMPT | OFN_HIDEREADONLY; + saveidl.lpstrDefExt = wszDefaultExt; + + if (GetSaveFileName(&saveidl)) + SaveIdl(wszPath); +} + void AddToStrW(WCHAR *wszDest, const WCHAR *wszSource) { lstrcpyW(&wszDest[lstrlenW(wszDest)], wszSource); @@ -534,7 +632,7 @@ void CreateInterfaceInfo(ITypeInfo *pTyp BOOL bFirst; const WCHAR wszFormat[] = { '0','x','%','.','8','l','x','\0' }; - const WCHAR wszInterface[] = { 'I','n','t','e','r','f','a','c','e',' ','\0' }; + const WCHAR wszInterface[] = { 'i','n','t','e','r','f','a','c','e',' ','\0' }; const WCHAR wszHelpstring[] = { 'h','e','l','p','s','t','r','i','n','g','\0' }; const WCHAR wszHelpcontext[] = { 'h','e','l','p','c','o','n','t','e','x','t','\0' }; const WCHAR wszTYPEFLAG_FAPPOBJECT[] = { 'a','p','p','o','b','j','e','c','t','\0' }; @@ -747,7 +845,9 @@ int PopulateTree(void) AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), 4); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszHelpString); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets2); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszInvertedComa); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), bstrData); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszInvertedComa); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets2); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets1); @@ -938,6 +1038,9 @@ void TypeLibMenuCommand(WPARAM wParam, H switch(wParam) { + case IDM_SAVEAS: + GetSaveIdlAsPath(); + break; case IDM_STATUSBAR: vis = IsWindowVisible(typelib.hStatusBar); ShowWindow(typelib.hStatusBar, vis ? SW_HIDE : SW_SHOW);
1
0
0
0
Piotr Caban : oleview: Added idl displaying.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: a97ee60209d9bb02f30ac2b8a33ff27a5c1cd784 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a97ee60209d9bb02f30ac2b…
Author: Piotr Caban <piotr.caban(a)gmail.com> Date: Sun Aug 20 18:48:29 2006 +0200 oleview: Added idl displaying. - Added idl displaying. - Fixed AddToTLDataStrWithTabsW function. --- programs/oleview/main.h | 1 + programs/oleview/typelib.c | 86 ++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/programs/oleview/main.h b/programs/oleview/main.h index d9f4a75..4c5f204 100644 --- a/programs/oleview/main.h +++ b/programs/oleview/main.h @@ -117,6 +117,7 @@ typedef struct WCHAR *idl; WCHAR wszInsertAfter[MAX_LOAD_STRING]; INT idlLen; + BOOL bPredefine; }TYPELIB_DATA; extern GLOBALS globals; diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index 632b028..dee9655 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -105,35 +105,43 @@ void AddToTLDataStrW(TYPELIB_DATA *pTLDa pTLData->idlLen += SourceLen; } -void AddToTLDataStrWithTabsW(TYPELIB_DATA *pTLData, const WCHAR *wszSource) +void AddToTLDataStrWithTabsW(TYPELIB_DATA *pTLData, WCHAR *wszSource) { int lineLen = lstrlenW(wszSource); int newLinesNo = 0; WCHAR *pSourcePos = (WCHAR *)wszSource; WCHAR *pSourceBeg; + if(!lineLen) return; while(*pSourcePos) { if(*pSourcePos == *wszNewLine) newLinesNo++; pSourcePos += 1; } + if(*(pSourcePos - 1) != *wszNewLine) newLinesNo++; pTLData->idl = HeapReAlloc(GetProcessHeap(), 0, pTLData->idl, sizeof(WCHAR)*(pTLData->idlLen+lineLen+4*newLinesNo+1)); pSourcePos = (WCHAR *)wszSource; pSourceBeg = (WCHAR *)wszSource; - while(*pSourcePos) + while(newLinesNo) { - if(*pSourcePos != *wszNewLine) + if(*pSourcePos != *wszNewLine && *pSourcePos) { pSourcePos += 1; continue; } - *pSourcePos = '\0'; - lineLen = lstrlenW(pSourceBeg)+1; - *pSourcePos = '\n'; - pSourcePos += 1; + newLinesNo--; + + if(pSourcePos) + { + *pSourcePos = '\0'; + lineLen = lstrlenW(pSourceBeg)+1; + *pSourcePos = '\n'; + pSourcePos += 1; + } + else lineLen = lstrlenW(pSourceBeg)+1; pTLData->idl[pTLData->idlLen] = *wszSpace; pTLData->idl[pTLData->idlLen+1] = *wszSpace; @@ -464,6 +472,56 @@ int EnumImplTypes(ITypeInfo *pTypeInfo, return 0; } +void AddIdlData(HTREEITEM hCur, TYPELIB_DATA *pTLData) +{ + TVITEM tvi; + + hCur = TreeView_GetChild(typelib.hTree, hCur); + memset(&tvi, 0, sizeof(TVITEM)); + tvi.mask = TVIF_PARAM; + + while(hCur) + { + tvi.hItem = hCur; + SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi); + AddToTLDataStrW(pTLData, wszNewLine); + AddToTLDataStrWithTabsW(pTLData, ((TYPELIB_DATA*)(tvi.lParam))->idl); + hCur = TreeView_GetNextSibling(typelib.hTree, hCur); + } +} + +void AddPredefinitions(HTREEITEM hFirst, TYPELIB_DATA *pTLData) +{ + HTREEITEM hCur; + TVITEM tvi; + WCHAR wszText[MAX_LOAD_STRING]; + WCHAR wszPredefinition[] = { '/','/',' ','T','L','i','b',' ',':','\n', + '/','/',' ','F','o','r','w','a','r','d',' ','d','e','c','l','a','r','e',' ', + 'a','l','l',' ','t','y','p','e','s',' ','d','e','f','i','n','e','d',' ', + 'i','n',' ','t','h','i','s',' ','t','y','p','e','l','i','b','\0' }; + + hFirst = TreeView_GetChild(typelib.hTree, hFirst); + + AddToTLDataStrWithTabsW(pTLData, wszPredefinition); + + hCur = hFirst; + memset(&tvi, 0, sizeof(TVITEM)); + tvi.mask = TVIF_TEXT|TVIF_PARAM; + tvi.cchTextMax = MAX_LOAD_STRING; + tvi.pszText = wszText; + while(hCur) + { + tvi.hItem = hCur; + SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi); + if(((TYPELIB_DATA*)(tvi.lParam))->bPredefine) + { + AddToStrW(wszText, wszSemicolon); + AddToTLDataStrWithTabsW(pTLData, wszText); + } + hCur = TreeView_GetNextSibling(typelib.hTree, hCur); + } +} + void CreateInterfaceInfo(ITypeInfo *pTypeInfo, int cImplTypes, WCHAR *wszName, WCHAR *wszHelpString, unsigned long ulHelpContext, TYPEATTR *pTypeAttr, TYPELIB_DATA *pTLData) @@ -602,6 +660,7 @@ #define ENUM_FLAGS(x) if(pTypeAttr->wTyp int PopulateTree(void) { TVINSERTSTRUCT tvis; + TVITEM tvi; ITypeLib *pTypeLib; TLIBATTR *pTLibAttr; ITypeInfo *pTypeInfo, *pRefTypeInfo; @@ -755,6 +814,7 @@ int PopulateTree(void) CreateInterfaceInfo(pTypeInfo, pTypeAttr->cImplTypes, bstrName, bstrData, ulHelpContext, pTypeAttr, (TYPELIB_DATA*)(U(tvis).item.lParam)); + ((TYPELIB_DATA*)(U(tvis).item.lParam))->bPredefine = TRUE; AddToStrW(wszText, wszTKIND_INTERFACE); AddToStrW(wszText, bstrName); @@ -768,6 +828,7 @@ int PopulateTree(void) AddToStrW(wszText, bstrName); break; case TKIND_DISPATCH: + ((TYPELIB_DATA*)(U(tvis).item.lParam))->bPredefine = TRUE; AddToStrW(wszText, wszTKIND_DISPATCH); AddToStrW(wszText, bstrName); if(SUCCEEDED(ITypeInfo_GetRefTypeOfImplType(pTypeInfo, -1, &hRefType))) @@ -787,6 +848,7 @@ int PopulateTree(void) CreateInterfaceInfo(pTypeInfo, pTypeAttr->cImplTypes, bstrName, bstrData, ulHelpContext, pTypeAttr, (TYPELIB_DATA*)(U(tvis).item.lParam)); + ((TYPELIB_DATA*)(U(tvis).item.lParam))->bPredefine = TRUE; AddToStrW(wszText, wszTKIND_INTERFACE); AddToStrW(wszText, bstrName); @@ -823,6 +885,16 @@ int PopulateTree(void) } SendMessage(typelib.hTree, TVM_EXPAND, TVE_EXPAND, (LPARAM)tvis.hParent); + memset(&tvi, 0, sizeof(TVITEM)); + tvi.mask = TVIF_PARAM; + tvi.hItem = tvis.hParent; + + SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi); + AddPredefinitions(tvi.hItem, (TYPELIB_DATA*)(tvi.lParam)); + AddIdlData(tvi.hItem, (TYPELIB_DATA*)(tvi.lParam)); + AddToTLDataStrW((TYPELIB_DATA*)(tvi.lParam), + ((TYPELIB_DATA*)(tvi.lParam))->wszInsertAfter); + ITypeLib_Release(pTypeLib); return 0; }
1
0
0
0
Piotr Caban : oleview: Added idl formatting.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: 96a0da24879ddf2edd0d3d3081cf3c42099584c0 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=96a0da24879ddf2edd0d3d3…
Author: Piotr Caban <piotr.caban(a)gmail.com> Date: Sun Aug 20 13:57:21 2006 +0200 oleview: Added idl formatting. --- programs/oleview/typelib.c | 65 ++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 59 insertions(+), 6 deletions(-) diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index d3c5109..632b028 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -105,6 +105,47 @@ void AddToTLDataStrW(TYPELIB_DATA *pTLDa pTLData->idlLen += SourceLen; } +void AddToTLDataStrWithTabsW(TYPELIB_DATA *pTLData, const WCHAR *wszSource) +{ + int lineLen = lstrlenW(wszSource); + int newLinesNo = 0; + WCHAR *pSourcePos = (WCHAR *)wszSource; + WCHAR *pSourceBeg; + + while(*pSourcePos) + { + if(*pSourcePos == *wszNewLine) newLinesNo++; + pSourcePos += 1; + } + + pTLData->idl = HeapReAlloc(GetProcessHeap(), 0, pTLData->idl, + sizeof(WCHAR)*(pTLData->idlLen+lineLen+4*newLinesNo+1)); + + pSourcePos = (WCHAR *)wszSource; + pSourceBeg = (WCHAR *)wszSource; + while(*pSourcePos) + { + if(*pSourcePos != *wszNewLine) + { + pSourcePos += 1; + continue; + } + *pSourcePos = '\0'; + lineLen = lstrlenW(pSourceBeg)+1; + *pSourcePos = '\n'; + pSourcePos += 1; + + pTLData->idl[pTLData->idlLen] = *wszSpace; + pTLData->idl[pTLData->idlLen+1] = *wszSpace; + pTLData->idl[pTLData->idlLen+2] = *wszSpace; + pTLData->idl[pTLData->idlLen+3] = *wszSpace; + memcpy(&pTLData->idl[pTLData->idlLen+4], pSourceBeg, sizeof(WCHAR)*lineLen); + pTLData->idlLen += lineLen + 4; + + pSourceBeg = pSourcePos; + } +} + LPARAM InitializeTLData(void) { TYPELIB_DATA *pTLData; @@ -139,10 +180,8 @@ void AddChildrenData(HTREEITEM hParent, tvi.hItem = hCur; SendMessage(typelib.hTree, TVM_GETITEM, 0, (LPARAM)&tvi); if(tvi.lParam && ((TYPELIB_DATA *)(tvi.lParam))->idlLen) - AddToTLDataStrW(pData, ((TYPELIB_DATA *)(tvi.lParam))->idl); + AddToTLDataStrWithTabsW(pData, ((TYPELIB_DATA *)(tvi.lParam))->idl); }while((hCur = TreeView_GetNextSibling(typelib.hTree, hCur))); - - AddToTLDataStrW(pData, pData->wszInsertAfter); } void CreateTypeInfo(WCHAR *wszAddTo, WCHAR *wszAddAfter, TYPEDESC tdesc, ITypeInfo *pTypeInfo) @@ -321,8 +360,11 @@ int EnumFuncs(ITypeInfo *pTypeInfo, int for(j=0; j<pFuncDesc->cParams; j++) { if(j != 0) AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszComa); - AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); - AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), tabSize); + if(pFuncDesc->cParams != 1) + { + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), tabSize); + } bFirst = TRUE; #define ENUM_PARAM_FLAG(x)\ if(pFuncDesc->lprgelemdescParam[j].paramdesc.wParamFlags & x)\ @@ -462,9 +504,11 @@ void CreateInterfaceInfo(ITypeInfo *pTyp AddToTLDataStrW(pTLData, wszOpenBrackets1); AddToTLDataStrW(pTLData, wszNewLine); + AddSpaces(pTLData, 4); AddToTLDataStrW(pTLData, wszOdl); AddToTLDataStrW(pTLData, wszComa); AddToTLDataStrW(pTLData, wszNewLine); + AddSpaces(pTLData, 4); AddToTLDataStrW(pTLData, wszUUID); AddToTLDataStrW(pTLData, wszOpenBrackets2); StringFromGUID2(&(pTypeAttr->guid), wszGuid, MAX_LOAD_STRING); @@ -475,6 +519,7 @@ void CreateInterfaceInfo(ITypeInfo *pTyp { AddToTLDataStrW(pTLData, wszComa); AddToTLDataStrW(pTLData, wszNewLine); + AddSpaces(pTLData, 4); AddToTLDataStrW(pTLData, wszHelpstring); AddToTLDataStrW(pTLData, wszOpenBrackets2); AddToTLDataStrW(pTLData, wszInvertedComa); @@ -486,6 +531,7 @@ void CreateInterfaceInfo(ITypeInfo *pTyp { AddToTLDataStrW(pTLData, wszComa); AddToTLDataStrW(pTLData, wszNewLine); + AddSpaces(pTLData, 4); AddToTLDataStrW(pTLData, wszHelpcontext); AddToTLDataStrW(pTLData, wszOpenBrackets2); wsprintfW(wszHelpContext, wszFormat, ulHelpContext); @@ -497,6 +543,7 @@ void CreateInterfaceInfo(ITypeInfo *pTyp bFirst = TRUE; AddToTLDataStrW(pTLData, wszComa); AddToTLDataStrW(pTLData, wszNewLine); + AddSpaces(pTLData, 4); #define ENUM_FLAGS(x) if(pTypeAttr->wTypeFlags & x)\ {\ if(!bFirst)\ @@ -624,6 +671,7 @@ int PopulateTree(void) AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets1); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), 4); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszUUID); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets2); StringFromGUID2(&(pTLibAttr->guid), wszText, MAX_LOAD_STRING); @@ -632,10 +680,12 @@ int PopulateTree(void) AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets2); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszComa); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), 4); wsprintfW(wszText, wszFormat2, pTLibAttr->wMajorVerNum, pTLibAttr->wMinorVerNum); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszText); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszComa); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), 4); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszHelpString); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets2); AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), bstrData); @@ -761,7 +811,10 @@ int PopulateTree(void) EnumFuncs(pTypeInfo, pTypeAttr->cFuncs, hParent); EnumImplTypes(pTypeInfo, pTypeAttr->cImplTypes, hParent); - AddChildrenData(hParent, (TYPELIB_DATA*)(U(tvis).item.lParam)); + if(memcmp(bstrName, wszVT_UNKNOWN, sizeof(wszVT_UNKNOWN))) + AddChildrenData(hParent, (TYPELIB_DATA*)(U(tvis).item.lParam)); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), + ((TYPELIB_DATA*)(U(tvis).item.lParam))->wszInsertAfter); ITypeInfo_ReleaseTypeAttr(pTypeInfo, pTypeAttr); ITypeInfo_Release(pTypeInfo);
1
0
0
0
Piotr Caban : oleview: Added functions description to idl generation.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: 6d59fbdffdfc8ac395565d8a808f36c01302f666 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=6d59fbdffdfc8ac395565d8…
Author: Piotr Caban <piotr.caban(a)gmail.com> Date: Sun Aug 20 12:44:49 2006 +0200 oleview: Added functions description to idl generation. --- programs/oleview/typelib.c | 129 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 125 insertions(+), 4 deletions(-) diff --git a/programs/oleview/typelib.c b/programs/oleview/typelib.c index f9b8d28..d3c5109 100644 --- a/programs/oleview/typelib.c +++ b/programs/oleview/typelib.c @@ -69,6 +69,25 @@ static const WCHAR wszVT_VOID[] = { 'v', static const WCHAR wszVT_ERROR[] = { 'S','C','O','D','E','\0' }; static const WCHAR wszVT_LPSTR[] = { 'L','P','S','T','R','\0' }; static const WCHAR wszVT_LPWSTR[] = { 'L','P','W','S','T','R','\0' }; +static const WCHAR wszVT_HRESULT[] = { 'H','R','E','S','U','L','T','\0' }; +static const WCHAR wszVT_UNKNOWN[] = { 'I','U','n','k','n','o','w','n','\0' }; +static const WCHAR wszVT_DISPATCH[] = { 'I','D','i','s','p','a','t','c','h','\0' }; +static const WCHAR wszVT_DATE[] = { 'D','A','T','E','\0' }; +static const WCHAR wszVT_R8[] = { 'd','o','u','b','l','e','\0' }; + +static const WCHAR wszStdCall[] = { '_','s','t','d','c','a','l','l','\0' }; +static const WCHAR wszPropPut[] = { 'p','r','o','p','p','u','t','\0' }; +static const WCHAR wszPropGet[] = { 'p','r','o','p','g','e','t','\0' }; +static const WCHAR wszPropPutRef[] = { 'p','r','o','p','p','u','t','r','e','f','\0' }; +static const WCHAR wszPARAMFLAG_FIN[] = { 'i','n','\0' }; +static const WCHAR wszPARAMFLAG_FOUT[] = { 'o','u','t','\0' }; +static const WCHAR wszPARAMFLAG_FLCID[] = { 'c','i','d','\0' }; +static const WCHAR wszPARAMFLAG_FRETVAL[] = { 'r','e','t','v','a','l','\0' }; +static const WCHAR wszPARAMFLAG_FOPT[] = { 'o','p','t','\0' }; +static const WCHAR wszPARAMFLAG_FHASDEFAULT[] + = { 'h','a','s','d','e','f','a','u','l','t','\0' }; +static const WCHAR wszPARAMFLAG_FHASCUSTDATA[] + = { 'h','a','s','c','u','s','t','d','a','t','a','\0' }; void AddToStrW(WCHAR *wszDest, const WCHAR *wszSource) { @@ -99,6 +118,12 @@ LPARAM InitializeTLData(void) return (LPARAM)pTLData; } +void AddSpaces(TYPELIB_DATA *pTLData, int tabSize) +{ + for(; tabSize>0; tabSize--) + AddToTLDataStrW(pTLData, wszSpace); +} + void AddChildrenData(HTREEITEM hParent, TYPELIB_DATA *pData) { HTREEITEM hCur; @@ -153,6 +178,11 @@ #define VTADDTOSTR(x) case x:\ VTADDTOSTR(VT_ERROR); VTADDTOSTR(VT_LPSTR); VTADDTOSTR(VT_LPWSTR); + VTADDTOSTR(VT_HRESULT); + VTADDTOSTR(VT_UNKNOWN); + VTADDTOSTR(VT_DISPATCH); + VTADDTOSTR(VT_DATE); + VTADDTOSTR(VT_R8); case VT_CARRAY: for(i=0; i<U(tdesc).lpadesc->cDims; i++) { @@ -226,12 +256,16 @@ int EnumVars(ITypeInfo *pTypeInfo, int c int EnumFuncs(ITypeInfo *pTypeInfo, int cFuncs, HTREEITEM hParent) { - int i; + int i, j, tabSize; + unsigned namesNo; TVINSERTSTRUCT tvis; FUNCDESC *pFuncDesc; - BSTR bstrName; + BSTR bstrName, *bstrParamNames; + WCHAR wszText[MAX_LOAD_STRING]; + WCHAR wszAfter[MAX_LOAD_STRING]; + BOOL bFirst; - U(tvis).item.mask = TVIF_TEXT; + U(tvis).item.mask = TVIF_TEXT|TVIF_PARAM; tvis.hInsertAfter = (HTREEITEM)TVI_LAST; tvis.hParent = hParent; @@ -241,11 +275,98 @@ int EnumFuncs(ITypeInfo *pTypeInfo, int if(FAILED(ITypeInfo_GetDocumentation(pTypeInfo, pFuncDesc->memid, &bstrName, NULL, NULL, NULL))) continue; + bstrParamNames = HeapAlloc(GetProcessHeap(), 0, + sizeof(BSTR*)*(pFuncDesc->cParams+1)); + if(FAILED(ITypeInfo_GetNames(pTypeInfo, pFuncDesc->memid, bstrParamNames, + pFuncDesc->cParams+1, &namesNo))) continue; + SysFreeString(bstrParamNames[0]); + + memset(wszText, 0, sizeof(wszText)); + memset(wszAfter, 0, sizeof(wszAfter)); U(tvis).item.cchTextMax = SysStringLen(bstrName); U(tvis).item.pszText = bstrName; - U(tvis).item.lParam = 0; + U(tvis).item.lParam = InitializeTLData(); + CreateTypeInfo(wszText, wszAfter, pFuncDesc->elemdescFunc.tdesc, pTypeInfo); + switch(pFuncDesc->invkind) + { + case INVOKE_PROPERTYGET: + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszPropGet); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + break; + case INVOKE_PROPERTYPUT: + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszPropPut); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + break; + case INVOKE_PROPERTYPUTREF: + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszPropPutRef); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + break; + default:; + } + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszText); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszAfter); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSpace); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszStdCall); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSpace); + tabSize = ((TYPELIB_DATA*)(U(tvis).item.lParam))->idlLen; + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), bstrName); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszOpenBrackets2); + + for(j=0; j<pFuncDesc->cParams; j++) + { + if(j != 0) AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszComa); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); + AddSpaces((TYPELIB_DATA*)(U(tvis).item.lParam), tabSize); + bFirst = TRUE; +#define ENUM_PARAM_FLAG(x)\ + if(pFuncDesc->lprgelemdescParam[j].paramdesc.wParamFlags & x)\ + {\ + if(bFirst) AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam),\ + wszOpenBrackets1);\ + else\ + {\ + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszComa);\ + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSpace);\ + }\ + bFirst = FALSE;\ + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wsz##x);\ + } + ENUM_PARAM_FLAG(PARAMFLAG_FIN); + ENUM_PARAM_FLAG(PARAMFLAG_FOUT); + ENUM_PARAM_FLAG(PARAMFLAG_FLCID); + ENUM_PARAM_FLAG(PARAMFLAG_FRETVAL); + ENUM_PARAM_FLAG(PARAMFLAG_FOPT); + ENUM_PARAM_FLAG(PARAMFLAG_FHASDEFAULT); + ENUM_PARAM_FLAG(PARAMFLAG_FHASCUSTDATA); + + if(!bFirst) + { + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets1); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSpace); + } + + memset(wszText, 0, sizeof(wszText)); + memset(wszAfter, 0, sizeof(wszAfter)); + CreateTypeInfo(wszText, wszAfter, pFuncDesc->lprgelemdescParam[j].tdesc, + pTypeInfo); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszText); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszAfter); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSpace); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), bstrParamNames[j+1]); + SysFreeString(bstrParamNames[j+1]); + } + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszCloseBrackets2); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszSemicolon); + AddToTLDataStrW((TYPELIB_DATA*)(U(tvis).item.lParam), wszNewLine); SendMessage(typelib.hTree, TVM_INSERTITEM, 0, (LPARAM)&tvis); + HeapFree(GetProcessHeap(), 0, bstrParamNames); SysFreeString(bstrName); ITypeInfo_ReleaseFuncDesc(pTypeInfo, pFuncDesc); }
1
0
0
0
Saulius Krasuckas : advpack/tests: Make RunSetupCommand not popup dialogs.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: a07240142ed1119b00e088c95309f3e47aea13c1 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=a07240142ed1119b00e088c…
Author: Saulius Krasuckas <saulius.krasuckas(a)ieee.org> Date: Mon Aug 21 12:31:17 2006 +0300 advpack/tests: Make RunSetupCommand not popup dialogs. --- dlls/advpack/tests/install.c | 26 +++++++++++++------------- 1 files changed, 13 insertions(+), 13 deletions(-) diff --git a/dlls/advpack/tests/install.c b/dlls/advpack/tests/install.c index 919f809..291c92a 100644 --- a/dlls/advpack/tests/install.c +++ b/dlls/advpack/tests/install.c @@ -113,7 +113,7 @@ static void test_RunSetupCommand() /* try to run an exe with the RSC_FLAG_INF flag */ hexe = (HANDLE)0xdeadbeef; - hr = pRunSetupCommand(NULL, "winver.exe", "Install", "c:\\windows\\system32", "Title", &hexe, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "winver.exe", "Install", "c:\\windows\\system32", "Title", &hexe, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(is_spapi_err(hr), "Expected a setupapi error, got %ld\n", hr); ok(hexe == (HANDLE)0xdeadbeef, "Expected hexe to be 0xdeadbeef\n"); ok(!TerminateProcess(hexe, 0), "Expected TerminateProcess to fail\n"); @@ -133,43 +133,43 @@ static void test_RunSetupCommand() lstrcat(path, "\\one\\test.inf"); lstrcpy(dir, CURR_DIR); lstrcat(dir, "\\one"); - hr = pRunSetupCommand(NULL, path, "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, path, "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", hr); /* try a full path to the INF, NULL working dir */ - hr = pRunSetupCommand(NULL, path, "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, path, "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %ld\n", hr); /* try a full path to the INF, empty working dir */ - hr = pRunSetupCommand(NULL, path, "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, path, "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", hr); /* try a relative path to the INF, with working dir provided */ - hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", hr); /* try a relative path to the INF, NULL working dir */ - hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %ld\n", hr); /* try a relative path to the INF, empty working dir */ - hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "one\\test.inf", "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", hr); /* try only the INF filename, with working dir provided */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", dir, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %ld\n", hr); /* try only the INF filename, NULL working dir */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %ld\n", hr); /* try only the INF filename, empty working dir */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", "", "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); todo_wine { ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), @@ -182,17 +182,17 @@ static void test_RunSetupCommand() create_inf_file("test.inf"); /* try INF file in the current directory, working directory provided */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", CURR_DIR, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", CURR_DIR, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %ld\n", hr); /* try INF file in the current directory, NULL working directory */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", NULL, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), "Expected HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), got %ld\n", hr); /* try INF file in the current directory, empty working directory */ - hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", CURR_DIR, "Title", NULL, RSC_FLAG_INF, NULL); + hr = pRunSetupCommand(NULL, "test.inf", "DefaultInstall", CURR_DIR, "Title", NULL, RSC_FLAG_INF | RSC_FLAG_QUIET, NULL); ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "Expected HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), got %ld\n", hr); }
1
0
0
0
Mike McCormack : kernel32: Print parameters, call SetLastError() when failing.
by Alexandre Julliard
21 Aug '06
21 Aug '06
Module: wine Branch: master Commit: 0c20afe6948a1988383d2ae263b86148f2d1ff1f URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=0c20afe6948a1988383d2ae…
Author: Mike McCormack <mike(a)codeweavers.com> Date: Mon Aug 21 14:28:20 2006 +0900 kernel32: Print parameters, call SetLastError() when failing. --- dlls/kernel/actctx.c | 15 +++++++++++---- 1 files changed, 11 insertions(+), 4 deletions(-) diff --git a/dlls/kernel/actctx.c b/dlls/kernel/actctx.c index 9daae0a..9bb698f 100644 --- a/dlls/kernel/actctx.c +++ b/dlls/kernel/actctx.c @@ -160,7 +160,9 @@ BOOL WINAPI FindActCtxSectionStringA(DWO ULONG ulId, LPCSTR lpSearchStr, PACTCTX_SECTION_KEYED_DATA pInfo) { - FIXME("stub!\n"); + FIXME("%08lx %s %lu %s %p\n", dwFlags, debugstr_guid(lpExtGuid), + ulId, debugstr_a(lpSearchStr), pInfo); + SetLastError( ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } @@ -173,7 +175,9 @@ BOOL WINAPI FindActCtxSectionStringW(DWO ULONG ulId, LPCWSTR lpSearchStr, PACTCTX_SECTION_KEYED_DATA pInfo) { - FIXME("stub!\n"); + FIXME("%08lx %s %lu %s %p\n", dwFlags, debugstr_guid(lpExtGuid), + ulId, debugstr_w(lpSearchStr), pInfo); + SetLastError( ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } @@ -186,7 +190,9 @@ BOOL WINAPI FindActCtxSectionGuid(DWORD ULONG ulId, const GUID* lpSearchGuid, PACTCTX_SECTION_KEYED_DATA pInfo) { - FIXME("stub!\n"); + FIXME("%08lx %s %lu %s %p\n", dwFlags, debugstr_guid(lpExtGuid), + ulId, debugstr_guid(lpSearchGuid), pInfo); + SetLastError( ERROR_CALL_NOT_IMPLEMENTED); return FALSE; } @@ -199,7 +205,8 @@ BOOL WINAPI QueryActCtxW(DWORD dwFlags, ULONG ulClass, PVOID pvBuff, SIZE_T cbBuff, SIZE_T *pcbLen) { - FIXME("stub!\n"); + FIXME("%08lx %p %p %lu %p %ld %p\n", dwFlags, hActCtx, + pvSubInst, ulClass, pvBuff, cbBuff, pcbLen); /* this makes Adobe Photoshop 7.0 happy */ SetLastError( ERROR_CALL_NOT_IMPLEMENTED); return FALSE;
1
0
0
0
← Newer
1
...
19
20
21
22
23
24
25
...
75
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
Results per page:
10
25
50
100
200