ReactOS.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
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
List overview
Download
Ros-diffs
April 2016
----- 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
ros-diffs@reactos.org
13 participants
133 discussions
Start a n
N
ew thread
[akhaldi] 71220: [SHELL32] Properly track RC file dependencies. CORE-9806
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Apr 30 16:21:23 2016 New Revision: 71220 URL:
http://svn.reactos.org/svn/reactos?rev=71220&view=rev
Log: [SHELL32] Properly track RC file dependencies. CORE-9806 Modified: trunk/reactos/dll/win32/shell32/CMakeLists.txt Modified: trunk/reactos/dll/win32/shell32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/CMakeLis…
============================================================================== --- trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/CMakeLists.txt [iso-8859-1] Sat Apr 30 16:21:23 2016 @@ -71,6 +71,10 @@ CFolderItemVerbs.cpp precomp.h) +file(GLOB_RECURSE shell32_rc_deps res/*.*) +list(APPEND shell32_rc_deps ${CMAKE_CURRENT_BINARY_DIR}/shell32_shldisp.tlb) +add_rc_deps(shell32.rc ${shell32_rc_deps}) + add_library(shell32 SHARED ${SOURCE} wine/brsfolder.c
8 years, 8 months
1
0
0
0
[pschweitzer] 71219: [PSDK] Add missing definition
by pschweitzer@svn.reactos.org
Author: pschweitzer Date: Sat Apr 30 16:12:49 2016 New Revision: 71219 URL:
http://svn.reactos.org/svn/reactos?rev=71219&view=rev
Log: [PSDK] Add missing definition Modified: trunk/reactos/sdk/include/psdk/ntdddisk.h Modified: trunk/reactos/sdk/include/psdk/ntdddisk.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/include/psdk/ntdddisk.…
============================================================================== --- trunk/reactos/sdk/include/psdk/ntdddisk.h [iso-8859-1] (original) +++ trunk/reactos/sdk/include/psdk/ntdddisk.h [iso-8859-1] Sat Apr 30 16:12:49 2016 @@ -268,6 +268,7 @@ #endif #if(_WIN32_WINNT >= 0x0500) +#define GPT_ATTRIBUTE_PLATFORM_REQUIRED 0x00000001 #define GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY 0x10000000 #define GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY 0x20000000 #define GPT_BASIC_DATA_ATTRIBUTE_HIDDEN 0x40000000
8 years, 8 months
1
0
0
0
[tfaber] 71218: [0.4.1] - Update start menu bitmap
by tfaber@svn.reactos.org
Author: tfaber Date: Sat Apr 30 15:52:03 2016 New Revision: 71218 URL:
http://svn.reactos.org/svn/reactos?rev=71218&view=rev
Log: [0.4.1] - Update start menu bitmap Added: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc1.bmp - copied, changed from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc2.bmp - copied, changed from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc3.bmp - copied, changed from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp Modified: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp Copied: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc1.bmp (from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp) URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_1/reactos/base/s…
============================================================================== Binary files - no diff available. Copied: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc2.bmp (from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp) URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_1/reactos/base/s…
============================================================================== Binary files - no diff available. Copied: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158-rc3.bmp (from r71217, branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp) URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_1/reactos/base/s…
============================================================================== Binary files - no diff available. Modified: branches/ros-branch-0_4_1/reactos/base/shell/explorer/res/bmp/158.bmp URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_1/reactos/base/s…
============================================================================== Binary files - no diff available.
8 years, 8 months
1
0
0
0
[gadamopoulos] 71217: [SHELL32] - Get rid of CPrintersExtractIconW and add CPrintersExtractIconW_CreateInstane which creates and initializes CExtractIcon. - Also add CNetFolderExtractIcon_CreateIns...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Sat Apr 30 15:30:59 2016 New Revision: 71217 URL:
http://svn.reactos.org/svn/reactos?rev=71217&view=rev
Log: [SHELL32] - Get rid of CPrintersExtractIconW and add CPrintersExtractIconW_CreateInstane which creates and initializes CExtractIcon. - Also add CNetFolderExtractIcon_CreateInstance and CRecyclerExtractIcon_CreateInstance. Modified: trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp Modified: trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] Sat Apr 30 15:30:59 2016 @@ -47,6 +47,18 @@ * IShellFolder implementation */ +HRESULT CNetFolderExtractIcon_CreateInstance(LPCITEMIDLIST pidl, REFIID riid, LPVOID * ppvOut) +{ + CComPtr<IDefaultExtractIconInit> initIcon; + HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit, &initIcon)); + if (FAILED(hr)) + return NULL; + + initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_NETWORK_FOLDER); + + return initIcon->QueryInterface(riid, ppvOut); +} + class CNetFolderEnum : public CEnumIDListBase { @@ -403,8 +415,7 @@ HRESULT WINAPI CNetFolder::GetUIObjectOf(HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) { - LPITEMIDLIST pidl; - IUnknown *pObj = NULL; + LPVOID pObj = NULL; HRESULT hr = E_INVALIDARG; TRACE("(%p)->(%p,%u,apidl=%p,%s,%p,%p)\n", this, @@ -427,19 +438,9 @@ hr = IDataObject_Constructor (hwndOwner, pidlRoot, apidl, cidl, &pDo); pObj = pDo; } - else if (IsEqualIID(riid, IID_IExtractIconA) && (cidl == 1)) - { - pidl = ILCombine (pidlRoot, apidl[0]); - pObj = IExtractIconA_Constructor (pidl); - SHFree (pidl); - hr = S_OK; - } - else if (IsEqualIID(riid, IID_IExtractIconW) && (cidl == 1)) - { - pidl = ILCombine (pidlRoot, apidl[0]); - pObj = IExtractIconW_Constructor (pidl); - SHFree (pidl); - hr = S_OK; + else if ((IsEqualIID(riid, IID_IExtractIconA) || IsEqualIID(riid, IID_IExtractIconW)) && (cidl == 1)) + { + hr = CNetFolderExtractIcon_CreateInstance(apidl[0], riid, &pObj); } else if (IsEqualIID(riid, IID_IDropTarget) && (cidl >= 1)) { Modified: trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] Sat Apr 30 15:30:59 2016 @@ -26,35 +26,6 @@ #include <winspool.h> WINE_DEFAULT_DEBUG_CHANNEL (shell); - -/*********************************************************************** - * Printers_IExtractIconW implementation - */ -class CPrintersExtractIconW : - public CComObjectRootEx<CComMultiThreadModelNoCS>, - public IExtractIconW, - public IExtractIconA -{ - private: - LPITEMIDLIST pidl; - public: - CPrintersExtractIconW(); - ~CPrintersExtractIconW(); - HRESULT WINAPI Initialize(LPCITEMIDLIST pidl); - - // IExtractIconW - virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPWSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); - virtual HRESULT STDMETHODCALLTYPE Extract(LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); - - // IExtractIconA - virtual HRESULT STDMETHODCALLTYPE GetIconLocation(UINT uFlags, LPSTR szIconFile, UINT cchMax, int *piIndex, UINT *pwFlags); - virtual HRESULT STDMETHODCALLTYPE Extract(LPCSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize); - - BEGIN_COM_MAP(CPrintersExtractIconW) - COM_INTERFACE_ENTRY_IID(IID_IExtractIconW, IExtractIconW) - COM_INTERFACE_ENTRY_IID(IID_IExtractIconA, IExtractIconA) - END_COM_MAP() -}; static shvheader PrinterSFHeader[] = { {IDS_SHV_COLUMN8, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_LEFT, 15}, @@ -72,123 +43,24 @@ #define COLUMN_LOCATION 4 #define COLUMN_MODEL 5 - #define PrinterSHELLVIEWCOLUMNS (6) -CPrintersExtractIconW::CPrintersExtractIconW() -{ - pidl = NULL; -} - -CPrintersExtractIconW::~CPrintersExtractIconW() -{ - TRACE(" destroying IExtractIcon(%p)\n", this); - SHFree(pidl); -} - -HRESULT WINAPI CPrintersExtractIconW::Initialize(LPCITEMIDLIST pidl) -{ - pidl = ILClone(pidl); - - pdump(pidl); - return S_OK; -} - -/************************************************************************** - * CPrintersExtractIconW::GetIconLocation - * - * mapping filetype to icon - */ -HRESULT WINAPI CPrintersExtractIconW::GetIconLocation(UINT uFlags, /* GIL_ flags */ - LPWSTR szIconFile, - UINT cchMax, - int *piIndex, - UINT *pwFlags) /* returned GIL_ flags */ -{ - TRACE("(%p) (flags=%u %p %u %p %p)\n", this, uFlags, szIconFile, cchMax, piIndex, pwFlags); - - if (pwFlags) - *pwFlags = 0; - - lstrcpynW(szIconFile, swShell32Name, cchMax); - *piIndex = -IDI_SHELL_PRINTERS_FOLDER; /* FIXME: other icons for default, network, print to file */ - - TRACE("-- %s %x\n", debugstr_w(szIconFile), *piIndex); - return S_OK; -} - -/************************************************************************** - * CPrintersExtractIconW::Extract - */ -HRESULT WINAPI CPrintersExtractIconW::Extract(LPCWSTR pszFile, - UINT nIconIndex, HICON *phiconLarge, - HICON *phiconSmall, UINT nIconSize) -{ - int index; - HIMAGELIST big_icons, small_icons; - - FIXME("(%p) (file=%p index=%d %p %p size=%x) semi-stub\n", this, debugstr_w(pszFile), - (signed)nIconIndex, phiconLarge, phiconSmall, nIconSize); - - index = SIC_GetIconIndex(pszFile, nIconIndex, 0); - - Shell_GetImageLists(&big_icons, &small_icons); - - if (phiconLarge) - *phiconLarge = ImageList_GetIcon(big_icons, index, ILD_TRANSPARENT); - - if (phiconSmall) - *phiconSmall = ImageList_GetIcon(small_icons, index, ILD_TRANSPARENT); - - return S_OK; -} - -/************************************************************************** - * CPrintersExtractIconW::GetIconLocation - */ -HRESULT WINAPI CPrintersExtractIconW::GetIconLocation(UINT uFlags, - LPSTR szIconFile, - UINT cchMax, - int * piIndex, - UINT * pwFlags) -{ - HRESULT ret; - LPWSTR lpwstrFile = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, cchMax * sizeof(WCHAR)); - - TRACE("(%p) (flags=%u %p %u %p %p)\n", this, uFlags, szIconFile, cchMax, piIndex, pwFlags); - - ret = GetIconLocation(uFlags, lpwstrFile, cchMax, piIndex, pwFlags); - WideCharToMultiByte(CP_ACP, 0, lpwstrFile, -1, szIconFile, cchMax, NULL, NULL); - HeapFree(GetProcessHeap(), 0, lpwstrFile); - - TRACE("-- %s %x\n", szIconFile, *piIndex); - return ret; -} -/************************************************************************** - * CPrintersExtractIconW::Extract - */ -HRESULT WINAPI CPrintersExtractIconW::Extract(LPCSTR pszFile, - UINT nIconIndex, HICON *phiconLarge, - HICON *phiconSmall, UINT nIconSize) -{ - HRESULT ret; - INT len = MultiByteToWideChar(CP_ACP, 0, pszFile, -1, NULL, 0); - LPWSTR lpwstrFile = (LPWSTR)HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR)); - - TRACE("(%p) (file=%p index=%u %p %p size=%u)\n", this, pszFile, nIconIndex, phiconLarge, phiconSmall, nIconSize); - - MultiByteToWideChar(CP_ACP, 0, pszFile, -1, lpwstrFile, len); - ret = Extract(lpwstrFile, nIconIndex, phiconLarge, phiconSmall, nIconSize); - HeapFree(GetProcessHeap(), 0, lpwstrFile); - return ret; -} - -/************************************************************************** - * IExtractIcon_Constructor - */ -static HRESULT WINAPI IEI_Printers_Constructor(LPCITEMIDLIST pidl, REFIID riid, IUnknown **ppv) -{ - return ShellObjectCreatorInit<CPrintersExtractIconW>(pidl, riid, ppv); +/************************************************************************** + * CPrintersExtractIconW_CreateInstane + * + * There is no CPrintersExtractIconW. We just initialize CExtractIcon properly to do our job. + */ +HRESULT WINAPI CPrintersExtractIconW_CreateInstane(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv) +{ + CComPtr<IDefaultExtractIconInit> initIcon; + HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit,&initIcon)); + if (FAILED(hr)) + return NULL; + + /* FIXME: other icons for default, network, print to file */ + initIcon->SetNormalIcon(swShell32Name, -IDI_SHELL_PRINTERS_FOLDER); + + return initIcon->QueryInterface(riid,ppv); } /*********************************************************************** @@ -462,7 +334,7 @@ HRESULT WINAPI CPrinterFolder::GetUIObjectOf(HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut) { - IUnknown *pObj = NULL; + LPVOID pObj = NULL; HRESULT hr = E_INVALIDARG; TRACE ("(%p)->(%p,%u,apidl=%p,%s,%p,%p)\n", @@ -474,7 +346,7 @@ *ppvOut = NULL; if ((IsEqualIID (riid, IID_IExtractIconA) || IsEqualIID(riid, IID_IExtractIconW)) && cidl == 1) - hr = IEI_Printers_Constructor(apidl[0], riid, &pObj); + hr = CPrintersExtractIconW_CreateInstane(apidl[0], riid, &pObj); else hr = E_NOINTERFACE; Modified: trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp [iso-8859-1] Sat Apr 30 15:30:59 2016 @@ -62,6 +62,19 @@ /* * Recycle Bin folder */ + +HRESULT CRecyclerExtractIcon_CreateInstance(LPCITEMIDLIST pidl, REFIID riid, LPVOID * ppvOut) +{ + CComPtr<IDefaultExtractIconInit> initIcon; + HRESULT hr = SHCreateDefaultExtractIcon(IID_PPV_ARG(IDefaultExtractIconInit, &initIcon)); + if (FAILED(hr)) + return NULL; + + /* FIXME: This is completely unimplemented */ + initIcon->SetNormalIcon(swShell32Name, 0); + + return initIcon->QueryInterface(riid, ppvOut); +} class CRecycleBinEnum : public CEnumIDListBase @@ -571,7 +584,7 @@ HRESULT WINAPI CRecycleBin::GetUIObjectOf(HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT *prgfInOut, void **ppv) { - IUnknown *pObj = NULL; + LPVOID pObj = NULL; HRESULT hr = E_INVALIDARG; TRACE ("(%p)->(%p,%u,apidl=%p, %p %p)\n", this, @@ -592,21 +605,9 @@ hr = QueryInterface(IID_PPV_ARG(IDropTarget, &pDt)); pObj = pDt; } - else if(IsEqualIID(riid, IID_IExtractIconA) && (cidl == 1)) - { - // FIXME: This is not correct, it does not show the right icons - LPITEMIDLIST pidlItem = ILCombine(pidl, apidl[0]); - pObj = IExtractIconA_Constructor(pidlItem); - SHFree(pidlItem); - hr = S_OK; - } - else if (IsEqualIID(riid, IID_IExtractIconW) && (cidl == 1)) - { - // FIXME: This is not correct, it does not show the right icons - LPITEMIDLIST pidlItem = ILCombine(pidl, apidl[0]); - pObj = IExtractIconW_Constructor(pidlItem); - SHFree(pidlItem); - hr = S_OK; + else if((IsEqualIID(riid, IID_IExtractIconA) || IsEqualIID(riid, IID_IExtractIconW)) && (cidl == 1)) + { + hr = CRecyclerExtractIcon_CreateInstance(apidl[0], riid, &pObj); } else hr = E_NOINTERFACE; @@ -686,8 +687,10 @@ HRESULT WINAPI CRecycleBin::GetDefaultColumn(DWORD dwReserved, ULONG *pSort, ULONG *pDisplay) { TRACE("(%p, %x, %p, %p)\n", this, (unsigned int)dwReserved, pSort, pDisplay); - *pSort = 0; - *pDisplay = 0; + if (pSort) + *pSort = 0; + if (pDisplay) + *pDisplay = 0; return S_OK; }
8 years, 8 months
1
0
0
0
[tfaber] 71216: [SHELL32_APITEST] - Add a test for SHParseDisplayName CORE-10434
by tfaber@svn.reactos.org
Author: tfaber Date: Sat Apr 30 15:06:57 2016 New Revision: 71216 URL:
http://svn.reactos.org/svn/reactos?rev=71216&view=rev
Log: [SHELL32_APITEST] - Add a test for SHParseDisplayName CORE-10434 Added: trunk/rostests/apitests/shell32/SHParseDisplayName.cpp (with props) Modified: trunk/rostests/apitests/shell32/CMakeLists.txt trunk/rostests/apitests/shell32/testlist.c Modified: trunk/rostests/apitests/shell32/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/shell32/CMakeLis…
============================================================================== --- trunk/rostests/apitests/shell32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/rostests/apitests/shell32/CMakeLists.txt [iso-8859-1] Sat Apr 30 15:06:57 2016 @@ -8,6 +8,7 @@ CShellDesktop.cpp menu.cpp shelltest.cpp + SHParseDisplayName.cpp testlist.c) target_link_libraries(shell32_apitest wine uuid ${PSEH_LIB}) set_module_type(shell32_apitest win32cui) Added: trunk/rostests/apitests/shell32/SHParseDisplayName.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/shell32/SHParseD…
============================================================================== --- trunk/rostests/apitests/shell32/SHParseDisplayName.cpp (added) +++ trunk/rostests/apitests/shell32/SHParseDisplayName.cpp [iso-8859-1] Sat Apr 30 15:06:57 2016 @@ -0,0 +1,159 @@ +/* + * PROJECT: ReactOS API tests + * LICENSE: LGPLv2.1+ - See COPYING.LIB in the top level directory + * PURPOSE: Test for SHParseDisplayName + * PROGRAMMERS: Thomas Faber <thomas.faber(a)reactos.org> + */ + +#include "shelltest.h" +#include "apitest.h" +#include <ndk/umtypes.h> +#include <strsafe.h> + +START_TEST(SHParseDisplayName) +{ + HRESULT hr; + PIDLIST_ABSOLUTE pidl; + WCHAR systemDir[MAX_PATH]; + WCHAR path[MAX_PATH]; + WCHAR resultPath[MAX_PATH]; + BOOL winv6 = LOBYTE(LOWORD(GetVersion())) >= 6; + + CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); + + GetSystemDirectoryW(systemDir, RTL_NUMBER_OF(systemDir)); + SetCurrentDirectoryW(systemDir); + + /* The code below relies on these properties */ + ok(systemDir[1] == L':', "systemDir = %ls\n", systemDir); + ok(systemDir[2] == L'\\', "systemDir = %ls\n", systemDir); + ok(systemDir[wcslen(systemDir) - 1] != L'\\', "systemDir = %ls\n", systemDir); + ok(wcschr(systemDir + 3, L'\\') != NULL, "systemDir = %ls\n", systemDir); + + /* NULL */ + pidl = NULL; + StartSeh() + hr = SHParseDisplayName(NULL, NULL, &pidl, 0, NULL); + EndSeh(STATUS_SUCCESS); + ok(hr == E_OUTOFMEMORY || hr == E_INVALIDARG, "hr = %lx\n", hr); + ok(pidl == NULL, "pidl = %p\n", pidl); + if (pidl) CoTaskMemFree(pidl); + + /* empty string */ + pidl = NULL; + hr = SHParseDisplayName(L"", NULL, &pidl, 0, NULL); + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + ok_wstr(resultPath, L""); + if (pidl) CoTaskMemFree(pidl); + + /* C: */ + path[0] = systemDir[0]; + path[1] = L':'; + path[2] = UNICODE_NULL; + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + if (winv6) + { + /* Win7 accepts this and returns C:\ */ + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + path[2] = L'\\'; + path[3] = UNICODE_NULL; + ok(!wcsicmp(resultPath, path), "Got %ls, expected %ls\n", resultPath, path); + } + else + { + /* Win2003 fails this */ + ok(hr == E_INVALIDARG, "hr = %lx\n", hr); + ok(pidl == NULL, "pidl = %p\n", pidl); + } + if (pidl) CoTaskMemFree(pidl); + + /* C:\ */ + path[0] = systemDir[0]; + path[1] = L':'; + path[2] = L'\\'; + path[3] = UNICODE_NULL; + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + ok(!wcsicmp(resultPath, path), "Got %ls, expected %ls\n", resultPath, path); + if (pidl) CoTaskMemFree(pidl); + + /* C:\\ */ + path[0] = systemDir[0]; + path[1] = L':'; + path[2] = L'\\'; + path[3] = L'\\'; + path[4] = UNICODE_NULL; + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == E_INVALIDARG, "hr = %lx\n", hr); + ok(pidl == NULL, "pidl = %p\n", pidl); + if (pidl) CoTaskMemFree(pidl); + + /* C:\ReactOS */ + StringCbCopyW(path, sizeof(path), systemDir); + wcschr(path + 3, L'\\')[0] = UNICODE_NULL; + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + ok(!wcsicmp(resultPath, path), "Got %ls, expected %ls\n", resultPath, path); + if (pidl) CoTaskMemFree(pidl); + + /* C:\ReactOS\ */ + StringCbCopyW(path, sizeof(path), systemDir); + wcschr(path + 3, L'\\')[1] = UNICODE_NULL; + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + path[wcslen(path) - 1] = UNICODE_NULL; + ok(!wcsicmp(resultPath, path), "Got %ls, expected %ls\n", resultPath, path); + if (pidl) CoTaskMemFree(pidl); + + /* C:\ReactOS\system32 */ + StringCbCopyW(path, sizeof(path), systemDir); + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == S_OK, "hr = %lx\n", hr); + ok(pidl != NULL, "pidl = %p\n", pidl); + resultPath[0] = UNICODE_NULL; + SHGetPathFromIDListW(pidl, resultPath); + ok(!wcsicmp(resultPath, path), "Got %ls, expected %ls\n", resultPath, path); + if (pidl) CoTaskMemFree(pidl); + + /* C:ntoskrnl.exe */ + path[0] = systemDir[0]; + path[1] = L':'; + path[2] = UNICODE_NULL; + StringCbCatW(path, sizeof(path), L"ntoskrnl.exe"); + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == E_INVALIDARG, "hr = %lx\n", hr); + ok(pidl == NULL, "pidl = %p\n", pidl); + if (pidl) CoTaskMemFree(pidl); + + /* ntoskrnl.exe */ + StringCbCopyW(path, sizeof(path), L"ntoskrnl.exe"); + pidl = NULL; + hr = SHParseDisplayName(path, NULL, &pidl, 0, NULL); + ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "hr = %lx\n", hr); + ok(pidl == NULL, "pidl = %p\n", pidl); + if (pidl) CoTaskMemFree(pidl); + + CoUninitialize(); +} Propchange: trunk/rostests/apitests/shell32/SHParseDisplayName.cpp ------------------------------------------------------------------------------ svn:eol-style = native Modified: trunk/rostests/apitests/shell32/testlist.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/shell32/testlist…
============================================================================== --- trunk/rostests/apitests/shell32/testlist.c [iso-8859-1] (original) +++ trunk/rostests/apitests/shell32/testlist.c [iso-8859-1] Sat Apr 30 15:06:57 2016 @@ -6,11 +6,13 @@ extern void func_CMyComputer(void); extern void func_CShellDesktop(void); extern void func_menu(void); +extern void func_SHParseDisplayName(void); const struct test winetest_testlist[] = { { "CMyComputer", func_CMyComputer }, { "CShellDesktop", func_CShellDesktop }, { "menu", func_menu }, + { "SHParseDisplayName", func_SHParseDisplayName }, { 0, 0 } };
8 years, 8 months
1
0
0
0
[mjansen] 71215: fix the build.
by mjansen@svn.reactos.org
Author: mjansen Date: Sat Apr 30 14:33:57 2016 New Revision: 71215 URL:
http://svn.reactos.org/svn/reactos?rev=71215&view=rev
Log: fix the build. Modified: trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp Modified: trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] Sat Apr 30 14:33:57 2016 @@ -538,8 +538,6 @@ HRESULT WINAPI CNetFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd) { - WCHAR buffer[MAX_PATH] = {0}; - if (iColumn >= NETWORKPLACESSHELLVIEWCOLUMNS) return E_FAIL;
8 years, 8 months
1
0
0
0
[gadamopoulos] 71214: Try to fix build.
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Sat Apr 30 14:09:33 2016 New Revision: 71214 URL:
http://svn.reactos.org/svn/reactos?rev=71214&view=rev
Log: Try to fix build. Modified: trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp Modified: trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] Sat Apr 30 14:09:33 2016 @@ -577,8 +577,6 @@ HRESULT WINAPI CPrinterFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd) { - WCHAR buffer[MAX_PATH] = {0}; - TRACE("(%p)->(%p %i %p): stub\n", this, pidl, iColumn, psd); if (iColumn >= PrinterSHELLVIEWCOLUMNS)
8 years, 8 months
1
0
0
0
[gadamopoulos] 71213: [SHELL32] - Add an overload of SHSetStrRet which loads strings by default from shell32. - Remove some dead code fomr CDrivesFolder.
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Sat Apr 30 14:05:10 2016 New Revision: 71213 URL:
http://svn.reactos.org/svn/reactos?rev=71213&view=rev
Log: [SHELL32] - Add an overload of SHSetStrRet which loads strings by default from shell32. - Remove some dead code fomr CDrivesFolder. Modified: trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp trunk/reactos/dll/win32/shell32/shfldr.h Modified: trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CDesktopFolder.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -889,10 +889,7 @@ { psd->fmt = DesktopSFHeader[iColumn].fmt; psd->cxChar = DesktopSFHeader[iColumn].cxChar; - psd->str.uType = STRRET_CSTR; - LoadStringA (shell32_hInstance, DesktopSFHeader[iColumn].colnameid, - psd->str.cStr, MAX_PATH); - return S_OK; + return SHSetStrRet(&psd->str, DesktopSFHeader[iColumn].colnameid); } else if (_ILIsSpecialFolder(pidl)) { Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -164,7 +164,6 @@ CDrivesFolder::CDrivesFolder() { pidlRoot = NULL; - sName = NULL; } CDrivesFolder::~CDrivesFolder() @@ -175,26 +174,10 @@ HRESULT WINAPI CDrivesFolder::FinalConstruct() { - DWORD dwSize; - WCHAR szName[MAX_PATH]; - WCHAR wszMyCompKey[256]; - INT i; - pidlRoot = _ILCreateMyComputer(); /* my qualified pidl */ if (pidlRoot == NULL) return E_OUTOFMEMORY; - i = swprintf(wszMyCompKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\CLSID\\"); - StringFromGUID2(CLSID_MyComputer, wszMyCompKey + i, sizeof(wszMyCompKey) / sizeof(wszMyCompKey[0]) - i); - dwSize = sizeof(szName); - if (RegGetValueW(HKEY_CURRENT_USER, wszMyCompKey, - NULL, RRF_RT_REG_SZ, NULL, szName, &dwSize) == ERROR_SUCCESS) - { - sName = (LPWSTR)SHAlloc((wcslen(szName) + 1) * sizeof(WCHAR)); - if (sName) - wcscpy(sName, szName); - TRACE("sName %s\n", debugstr_w(sName)); - } return S_OK; } @@ -696,10 +679,7 @@ { psd->fmt = MyComputerSFHeader[iColumn].fmt; psd->cxChar = MyComputerSFHeader[iColumn].cxChar; - psd->str.uType = STRRET_CSTR; - LoadStringA(shell32_hInstance, MyComputerSFHeader[iColumn].colnameid, - psd->str.cStr, MAX_PATH); - return S_OK; + return SHSetStrRet(&psd->str, MyComputerSFHeader[iColumn].colnameid); } else if (_ILIsSpecialFolder(pidl)) { Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.h [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -32,7 +32,6 @@ private: /* both paths are parsible from the desktop */ LPITEMIDLIST pidlRoot; /* absolute pidl */ - LPWSTR sName; public: CDrivesFolder(); ~CDrivesFolder(); Modified: trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CFSFolder.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -813,10 +813,7 @@ /* the header titles */ psd->fmt = GenericSFHeader[iColumn].fmt; psd->cxChar = GenericSFHeader[iColumn].cxChar; - psd->str.uType = STRRET_CSTR; - LoadStringA(shell32_hInstance, GenericSFHeader[iColumn].colnameid, - psd->str.cStr, MAX_PATH); - return S_OK; + return SHSetStrRet(&psd->str, GenericSFHeader[iColumn].colnameid); } else { Modified: trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CNetFolder.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -464,43 +464,14 @@ */ HRESULT WINAPI CNetFolder::GetDisplayNameOf(PCUITEMID_CHILD pidl, DWORD dwFlags, LPSTRRET strRet) { - LPWSTR pszName; - - TRACE ("(%p)->(pidl=%p,0x%08lx,%p)\n", this, pidl, dwFlags, strRet); - pdump (pidl); - if (!strRet) return E_INVALIDARG; if (!pidl->mkid.cb) - { - pszName = (LPWSTR)CoTaskMemAlloc(MAX_PATH * sizeof(WCHAR)); - if (!pszName) - return E_OUTOFMEMORY; - - if (LoadStringW(shell32_hInstance, IDS_NETWORKPLACE, pszName, MAX_PATH)) - { - pszName[MAX_PATH-1] = L'\0'; - strRet->uType = STRRET_WSTR; - strRet->pOleStr = pszName; - return S_OK; - } - CoTaskMemFree(pszName); - return E_FAIL; - } + return SHSetStrRet(strRet, IDS_NETWORKPLACE); #ifdef HACKY_UNC_PATHS else - { - LPCWSTR pstr = (LPCWSTR)pidl->mkid.abID; - pszName = (LPWSTR)CoTaskMemAlloc(MAX_PATH * sizeof(WCHAR)); - if (!pszName) - return E_OUTOFMEMORY; - - wcscpy(pszName, pstr); - strRet->pOleStr = pszName; - strRet->uType = STRRET_WSTR; - return S_OK; - } + return SHSetStrRet(strRet, (LPCWSTR)pidl->mkid.abID); #endif return E_NOTIMPL; } @@ -568,7 +539,6 @@ HRESULT WINAPI CNetFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd) { WCHAR buffer[MAX_PATH] = {0}; - HRESULT hr = E_FAIL; if (iColumn >= NETWORKPLACESSHELLVIEWCOLUMNS) return E_FAIL; @@ -576,13 +546,7 @@ psd->fmt = NetworkPlacesSFHeader[iColumn].fmt; psd->cxChar = NetworkPlacesSFHeader[iColumn].cxChar; if (pidl == NULL) - { - psd->str.uType = STRRET_WSTR; - if (LoadStringW(shell32_hInstance, NetworkPlacesSFHeader[iColumn].colnameid, buffer, _countof(buffer))) - hr = SHStrDupW(buffer, &psd->str.pOleStr); - - return hr; - } + return SHSetStrRet(&psd->str, NetworkPlacesSFHeader[iColumn].colnameid); if (iColumn == COLUMN_NAME) return GetDisplayNameOf(pidl, SHGDN_NORMAL, &psd->str); Modified: trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CPrinterFolder.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -492,7 +492,6 @@ */ HRESULT WINAPI CPrinterFolder::GetDisplayNameOf(PCUITEMID_CHILD pidl, DWORD dwFlags, LPSTRRET strRet) { - LPWSTR pszName; PIDLPrinterStruct * p; TRACE ("(%p)->(pidl=%p,0x%08lx,%p)\n", this, pidl, dwFlags, strRet); @@ -505,21 +504,7 @@ } if (!pidl->mkid.cb) - { - pszName = (LPWSTR)CoTaskMemAlloc(MAX_PATH * sizeof(WCHAR)); - if (!pszName) - return E_OUTOFMEMORY; - - if (LoadStringW(shell32_hInstance, IDS_PRINTERS, pszName, MAX_PATH)) - { - pszName[MAX_PATH-1] = L'\0'; - strRet->uType = STRRET_WSTR; - strRet->pOleStr = pszName; - return S_OK; - } - CoTaskMemFree(pszName); - return E_FAIL; - } + return SHSetStrRet(strRet, IDS_PRINTERS); p = _ILGetPrinterStruct(pidl); if (!p) @@ -527,14 +512,8 @@ WARN("no printer struct\n"); return E_INVALIDARG; } - strRet->pOleStr = (LPWSTR)SHAlloc(p->offsServer * sizeof(WCHAR)); - if (!strRet->pOleStr) - return E_OUTOFMEMORY; - - memcpy((LPVOID)strRet->pOleStr, (LPVOID)p->szName, p->offsServer * sizeof(WCHAR)); - TRACE("ret %s\n", debugstr_w(strRet->pOleStr)); - - return S_OK; + + return SHSetStrRet(strRet, p->szName); } /************************************************************************** @@ -599,7 +578,6 @@ HRESULT WINAPI CPrinterFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd) { WCHAR buffer[MAX_PATH] = {0}; - HRESULT hr = E_FAIL; TRACE("(%p)->(%p %i %p): stub\n", this, pidl, iColumn, psd); @@ -609,19 +587,10 @@ psd->fmt = PrinterSFHeader[iColumn].fmt; psd->cxChar = PrinterSFHeader[iColumn].cxChar; if (pidl == NULL) - { - psd->str.uType = STRRET_WSTR; - if (LoadStringW(shell32_hInstance, PrinterSFHeader[iColumn].colnameid, buffer, MAX_PATH)) - hr = SHStrDupW(buffer, &psd->str.pOleStr); - - return hr; - } + return SHSetStrRet(&psd->str, PrinterSFHeader[iColumn].colnameid); if (iColumn == COLUMN_NAME) - { - psd->str.uType = STRRET_WSTR; return GetDisplayNameOf(pidl, SHGDN_NORMAL, &psd->str); - } psd->str.uType = STRRET_CSTR; psd->str.cStr[0] = '\0'; Modified: trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CRecycleBin.cpp [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -740,11 +740,7 @@ pDetails->fmt = RecycleBinColumns[iColumn].fmt; pDetails->cxChar = RecycleBinColumns[iColumn].cxChars; if (pidl == NULL) - { - pDetails->str.uType = STRRET_WSTR; - LoadStringW(shell32_hInstance, RecycleBinColumns[iColumn].column_name_id, buffer, MAX_PATH); - return SHStrDupW(buffer, &pDetails->str.pOleStr); - } + return SHSetStrRet(&pDetails->str, RecycleBinColumns[iColumn].column_name_id); if (iColumn == COLUMN_NAME) return GetDisplayNameOf(pidl, SHGDN_NORMAL, &pDetails->str); @@ -780,15 +776,12 @@ if (LoadStringW(shell32_hInstance, IDS_SHV_COLUMN1, &szTypeName[Length], (sizeof(szTypeName) / sizeof(WCHAR)) - Length)) szTypeName[(sizeof(szTypeName)/sizeof(WCHAR))-1] = L'\0'; } - pDetails->str.uType = STRRET_WSTR; - return SHStrDupW(szTypeName, &pDetails->str.pOleStr); - break; + return SHSetStrRet(&pDetails->str, szTypeName); default: return E_FAIL; } - pDetails->str.uType = STRRET_WSTR; - return SHStrDupW(buffer, &pDetails->str.pOleStr); + return SHSetStrRet(&pDetails->str, buffer); } HRESULT WINAPI CRecycleBin::MapColumnToSCID(UINT iColumn, SHCOLUMNID *pscid) Modified: trunk/reactos/dll/win32/shell32/shfldr.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/shfldr.h…
============================================================================== --- trunk/reactos/dll/win32/shell32/shfldr.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/shfldr.h [iso-8859-1] Sat Apr 30 14:05:10 2016 @@ -104,4 +104,13 @@ void SHELL_FS_ProcessDisplayFilename(LPWSTR szPath, DWORD dwFlags); BOOL SHELL_FS_HideExtension(LPWSTR pwszPath); +#ifdef __cplusplus + +HRESULT inline SHSetStrRet(LPSTRRET pStrRet, DWORD resId) +{ + return SHSetStrRet(pStrRet, shell32_hInstance, resId); +} + +#endif + #endif /* _SHFLDR_H_ */
8 years, 8 months
1
0
0
0
[gadamopoulos] 71212: [SHELL32] - Accept parsing paths like "C:". Also simplify CDrivesFolder::ParseDisplayName a bit. Note: trying to run "c:" from the run dialog doesn't have the right result due...
by gadamopoulos@svn.reactos.org
Author: gadamopoulos Date: Sat Apr 30 12:52:17 2016 New Revision: 71212 URL:
http://svn.reactos.org/svn/reactos?rev=71212&view=rev
Log: [SHELL32] - Accept parsing paths like "C:". Also simplify CDrivesFolder::ParseDisplayName a bit. Note: trying to run "c:" from the run dialog doesn't have the right result due to a bug in ShellExecute. Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp Modified: trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/folders/…
============================================================================== --- trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/win32/shell32/folders/CDrivesFolder.cpp [iso-8859-1] Sat Apr 30 12:52:17 2016 @@ -206,7 +206,6 @@ { HRESULT hr = E_INVALIDARG; LPCWSTR szNext = NULL; - WCHAR szElement[MAX_PATH]; LPITEMIDLIST pidlTemp = NULL; TRACE("(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n", this, @@ -219,17 +218,18 @@ /* handle CLSID paths */ if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':') - { return SH_ParseGuidDisplayName(this, hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes); - } - /* do we have an absolute path name ? */ - else if (PathGetDriveNumberW (lpszDisplayName) >= 0 && - lpszDisplayName[2] == (WCHAR) '\\') - { - szNext = GetNextElementW (lpszDisplayName, szElement, MAX_PATH); - /* make drive letter uppercase to enable PIDL comparison */ - szElement[0] = toupper(szElement[0]); - pidlTemp = _ILCreateDrive (szElement); + + if (PathGetDriveNumberW(lpszDisplayName) < 0) + return E_INVALIDARG; + + pidlTemp = _ILCreateDrive(lpszDisplayName); + if (!pidlTemp) + return E_OUTOFMEMORY; + + if (lpszDisplayName[2] == L'\\') + { + szNext = &lpszDisplayName[3]; } if (szNext && *szNext)
8 years, 8 months
1
0
0
0
[akhaldi] 71211: [0.4.1] Update the version number.
by akhaldi@svn.reactos.org
Author: akhaldi Date: Sat Apr 30 12:29:15 2016 New Revision: 71211 URL:
http://svn.reactos.org/svn/reactos?rev=71211&view=rev
Log: [0.4.1] Update the version number. Modified: branches/ros-branch-0_4_1/reactos/sdk/include/reactos/version.cmake Modified: branches/ros-branch-0_4_1/reactos/sdk/include/reactos/version.cmake URL:
http://svn.reactos.org/svn/reactos/branches/ros-branch-0_4_1/reactos/sdk/in…
============================================================================== --- branches/ros-branch-0_4_1/reactos/sdk/include/reactos/version.cmake [iso-8859-1] (original) +++ branches/ros-branch-0_4_1/reactos/sdk/include/reactos/version.cmake [iso-8859-1] Sat Apr 30 12:29:15 2016 @@ -17,15 +17,15 @@ string(TIMESTAMP KERNEL_VERSION_BUILD %Y%m%d UTC) set(KERNEL_VERSION_MAJOR "0") -set(KERNEL_VERSION_MINOR "5") -set(KERNEL_VERSION_PATCH_LEVEL "0") +set(KERNEL_VERSION_MINOR "4") +set(KERNEL_VERSION_PATCH_LEVEL "1") set(COPYRIGHT_YEAR "2016") # KERNEL_VERSION_BUILD_TYPE is "SVN" or "" (for the release) -set(KERNEL_VERSION_BUILD_TYPE "SVN") +set(KERNEL_VERSION_BUILD_TYPE "") # KERNEL_VERSION_RELEASE_TYPE is "RC1", "RC2" or "" (for the final one) -set(KERNEL_VERSION_RELEASE_TYPE "") +set(KERNEL_VERSION_RELEASE_TYPE "RC1") set(KERNEL_VERSION "${KERNEL_VERSION_MAJOR}.${KERNEL_VERSION_MINOR}") if(KERNEL_VERSION_PATCH_LEVEL)
8 years, 8 months
1
0
0
0
← Newer
1
2
3
4
...
14
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Results per page:
10
25
50
100
200