Author: cmihail
Date: Thu Sep  8 22:42:01 2011
New Revision: 53650

URL: http://svn.reactos.org/svn/reactos?rev=53650&view=rev
Log:
[shell32.dll]
- Fix bug 6336 of shell32_new. The bug was caused by not properly verifying the 
return value of ShellExecuteExW.
[FORMATTING]
- First wave of accidental formatting (sorry again about mixing code and 
formatting heh).

Modified:
    branches/shell32_new-bringup/dll/win32/shell32/shfldr_cpanel.cpp

Modified: branches/shell32_new-bringup/dll/win32/shell32/shfldr_cpanel.cpp
URL: 
http://svn.reactos.org/svn/reactos/branches/shell32_new-bringup/dll/win32/shell32/shfldr_cpanel.cpp?rev=53650&r1=53649&r2=53650&view=diff
==============================================================================
--- branches/shell32_new-bringup/dll/win32/shell32/shfldr_cpanel.cpp 
[iso-8859-1] (original)
+++ branches/shell32_new-bringup/dll/win32/shell32/shfldr_cpanel.cpp 
[iso-8859-1] Thu Sep  8 22:42:01 2011
@@ -22,7 +22,7 @@
 /*
 TODO:
 1. The selected items list should not be stored in CControlPanelFolder, it 
should
-       be a result returned by an internal method.
+    be a result returned by an internal method.
 */
 
 #include <precomp.h>
@@ -34,20 +34,20 @@
 */
 
 class CControlPanelEnum :
-       public IEnumIDListImpl
+    public IEnumIDListImpl
 {
 private:
 public:
-       CControlPanelEnum();
-       ~CControlPanelEnum();
-       HRESULT WINAPI Initialize(DWORD dwFlags);
-       BOOL SHELL_RegisterCPanelApp(LPCSTR path);
-       int SHELL_RegisterRegistryCPanelApps(HKEY hkey_root, LPCSTR szRepPath);
-       int SHELL_RegisterCPanelFolders(HKEY hkey_root, LPCSTR szRepPath);
-       BOOL CreateCPanelEnumList(DWORD dwFlags);
+    CControlPanelEnum();
+    ~CControlPanelEnum();
+    HRESULT WINAPI Initialize(DWORD dwFlags);
+    BOOL SHELL_RegisterCPanelApp(LPCSTR path);
+    int SHELL_RegisterRegistryCPanelApps(HKEY hkey_root, LPCSTR szRepPath);
+    int SHELL_RegisterCPanelFolders(HKEY hkey_root, LPCSTR szRepPath);
+    BOOL CreateCPanelEnumList(DWORD dwFlags);
 
 BEGIN_COM_MAP(CControlPanelEnum)
-       COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList)
+    COM_INTERFACE_ENTRY_IID(IID_IEnumIDList, IEnumIDList)
 END_COM_MAP()
 };
 
@@ -72,52 +72,52 @@
 
 HRESULT WINAPI CControlPanelEnum::Initialize(DWORD dwFlags)
 {
-       if (CreateCPanelEnumList(dwFlags) == FALSE)
-               return E_FAIL;
-       return S_OK;
+    if (CreateCPanelEnumList(dwFlags) == FALSE)
+        return E_FAIL;
+    return S_OK;
 }
 
 static LPITEMIDLIST _ILCreateCPanelApplet(LPCSTR name, LPCSTR displayName, 
LPCSTR comment, int iconIdx)
 {
-       PIDLCPanelStruct *p;
-       LPITEMIDLIST pidl;
-       PIDLDATA tmp;
-       int size0 = (char*)&tmp.u.cpanel.szName - (char*)&tmp.u.cpanel;
-       int size = size0;
-       int l;
-
-       tmp.type = PT_CPLAPPLET;
-       tmp.u.cpanel.dummy = 0;
-       tmp.u.cpanel.iconIdx = iconIdx;
-
-       l = strlen(name);
-       size += l + 1;
-
-       tmp.u.cpanel.offsDispName = l+1;
-       l = strlen(displayName);
-       size += l + 1;
-
-       tmp.u.cpanel.offsComment = tmp.u.cpanel.offsDispName + 1 + l;
-       l = strlen(comment);
-       size += l + 1;
-
-       pidl = (LPITEMIDLIST)SHAlloc(size + 4);
-       if (!pidl)
-               return NULL;
-
-       pidl->mkid.cb = size + 2;
-       memcpy(pidl->mkid.abID, &tmp, 2 + size0);
-
-       p = &((PIDLDATA *)pidl->mkid.abID)->u.cpanel;
-       strcpy(p->szName, name);
-       strcpy(p->szName+tmp.u.cpanel.offsDispName, displayName);
-       strcpy(p->szName+tmp.u.cpanel.offsComment, comment);
-
-       *(WORD*)((char*)pidl + (size + 2)) = 0;
-
-       pcheck(pidl);
-
-       return pidl;
+    PIDLCPanelStruct *p;
+    LPITEMIDLIST pidl;
+    PIDLDATA tmp;
+    int size0 = (char*)&tmp.u.cpanel.szName - (char*)&tmp.u.cpanel;
+    int size = size0;
+    int l;
+
+    tmp.type = PT_CPLAPPLET;
+    tmp.u.cpanel.dummy = 0;
+    tmp.u.cpanel.iconIdx = iconIdx;
+
+    l = strlen(name);
+    size += l + 1;
+
+    tmp.u.cpanel.offsDispName = l+1;
+    l = strlen(displayName);
+    size += l + 1;
+
+    tmp.u.cpanel.offsComment = tmp.u.cpanel.offsDispName + 1 + l;
+    l = strlen(comment);
+    size += l + 1;
+
+    pidl = (LPITEMIDLIST)SHAlloc(size + 4);
+    if (!pidl)
+        return NULL;
+
+    pidl->mkid.cb = size + 2;
+    memcpy(pidl->mkid.abID, &tmp, 2 + size0);
+
+    p = &((PIDLDATA *)pidl->mkid.abID)->u.cpanel;
+    strcpy(p->szName, name);
+    strcpy(p->szName+tmp.u.cpanel.offsDispName, displayName);
+    strcpy(p->szName+tmp.u.cpanel.offsComment, comment);
+
+    *(WORD*)((char*)pidl + (size + 2)) = 0;
+
+    pcheck(pidl);
+
+    return pidl;
 }
 
 /**************************************************************************
@@ -126,114 +126,114 @@
  */
 static PIDLCPanelStruct *_ILGetCPanelPointer(LPCITEMIDLIST pidl)
 {
-       LPPIDLDATA pdata = _ILGetDataPointer(pidl);
-
-       if (pdata && pdata->type == PT_CPLAPPLET)
-               return (PIDLCPanelStruct *)&(pdata->u.cpanel);
-
-       return NULL;
+    LPPIDLDATA pdata = _ILGetDataPointer(pidl);
+
+    if (pdata && pdata->type == PT_CPLAPPLET)
+        return (PIDLCPanelStruct *)&(pdata->u.cpanel);
+
+    return NULL;
 }
 
 BOOL CControlPanelEnum::SHELL_RegisterCPanelApp(LPCSTR path)
 {
-       LPITEMIDLIST pidl;
-       CPlApplet* applet;
-       CPanel panel;
-       CPLINFO info;
-       unsigned i;
-       int iconIdx;
-
-       char displayName[MAX_PATH];
-       char comment[MAX_PATH];
-
-       WCHAR wpath[MAX_PATH];
-
-       MultiByteToWideChar(CP_ACP, 0, path, -1, wpath, MAX_PATH);
-
-       panel.first = NULL;
-       applet = Control_LoadApplet(0, wpath, &panel);
-
-       if (applet)
-       {
-               for (i = 0; i < applet->count; ++i)
-               {
-                       WideCharToMultiByte(CP_ACP, 0, applet->info[i].szName, 
-1, displayName, MAX_PATH, 0, 0);
-                       WideCharToMultiByte(CP_ACP, 0, applet->info[i].szInfo, 
-1, comment, MAX_PATH, 0, 0);
-
-                       applet->proc(0, CPL_INQUIRE, i, (LPARAM)&info);
-
-                       if (info.idIcon > 0)
-                               iconIdx = -info.idIcon; /* negative icon index 
instead of icon number */
-                       else
-                               iconIdx = 0;
-
-                       pidl = _ILCreateCPanelApplet(path, displayName, 
comment, iconIdx);
-
-                       if (pidl)
-                               AddToEnumList(pidl);
-               }
-               Control_UnloadApplet(applet);
-       }
-       return TRUE;
+    LPITEMIDLIST pidl;
+    CPlApplet* applet;
+    CPanel panel;
+    CPLINFO info;
+    unsigned i;
+    int iconIdx;
+
+    char displayName[MAX_PATH];
+    char comment[MAX_PATH];
+
+    WCHAR wpath[MAX_PATH];
+
+    MultiByteToWideChar(CP_ACP, 0, path, -1, wpath, MAX_PATH);
+
+    panel.first = NULL;
+    applet = Control_LoadApplet(0, wpath, &panel);
+
+    if (applet)
+    {
+        for (i = 0; i < applet->count; ++i)
+        {
+            WideCharToMultiByte(CP_ACP, 0, applet->info[i].szName, -1, 
displayName, MAX_PATH, 0, 0);
+            WideCharToMultiByte(CP_ACP, 0, applet->info[i].szInfo, -1, 
comment, MAX_PATH, 0, 0);
+
+            applet->proc(0, CPL_INQUIRE, i, (LPARAM)&info);
+
+            if (info.idIcon > 0)
+                iconIdx = -info.idIcon; /* negative icon index instead of icon 
number */
+            else
+                iconIdx = 0;
+
+            pidl = _ILCreateCPanelApplet(path, displayName, comment, iconIdx);
+
+            if (pidl)
+                AddToEnumList(pidl);
+        }
+        Control_UnloadApplet(applet);
+    }
+    return TRUE;
 }
 
 int CControlPanelEnum::SHELL_RegisterRegistryCPanelApps(HKEY hkey_root, LPCSTR 
szRepPath)
 {
-       char name[MAX_PATH];
-       char value[MAX_PATH];
-       HKEY hkey;
-
-       int cnt = 0;
-
-       if (RegOpenKeyA(hkey_root, szRepPath, &hkey) == ERROR_SUCCESS)
-       {
-               int idx = 0;
-
-               for(; ; idx++)
-               {
-                       DWORD nameLen = MAX_PATH;
-                       DWORD valueLen = MAX_PATH;
-
-                       if (RegEnumValueA(hkey, idx, name, &nameLen, NULL, 
NULL, (LPBYTE)&value, &valueLen) != ERROR_SUCCESS)
-                               break;
-
-                       if (SHELL_RegisterCPanelApp(value))
-                               ++cnt;
-               }
-               RegCloseKey(hkey);
-       }
-
-       return cnt;
+    char name[MAX_PATH];
+    char value[MAX_PATH];
+    HKEY hkey;
+
+    int cnt = 0;
+
+    if (RegOpenKeyA(hkey_root, szRepPath, &hkey) == ERROR_SUCCESS)
+    {
+        int idx = 0;
+
+        for(; ; idx++)
+        {
+            DWORD nameLen = MAX_PATH;
+            DWORD valueLen = MAX_PATH;
+
+            if (RegEnumValueA(hkey, idx, name, &nameLen, NULL, NULL, 
(LPBYTE)&value, &valueLen) != ERROR_SUCCESS)
+                break;
+
+            if (SHELL_RegisterCPanelApp(value))
+                ++cnt;
+        }
+        RegCloseKey(hkey);
+    }
+
+    return cnt;
 }
 
 int CControlPanelEnum::SHELL_RegisterCPanelFolders(HKEY hkey_root, LPCSTR 
szRepPath)
 {
-       char name[MAX_PATH];
-       HKEY hkey;
-
-       int cnt = 0;
-
-       if (RegOpenKeyA(hkey_root, szRepPath, &hkey) == ERROR_SUCCESS)
-       {
-               int idx = 0;
-               for (; ; idx++)
-               {
-                       if (RegEnumKeyA(hkey, idx, name, MAX_PATH) != 
ERROR_SUCCESS)
-                               break;
-
-                       if (*name == '{')
-                       {
-                               LPITEMIDLIST pidl = _ILCreateGuidFromStrA(name);
-
-                               if (pidl && AddToEnumList(pidl))
-                                       ++cnt;
-                       }
-               }
-
-               RegCloseKey(hkey);
-       }
-
-       return cnt;
+    char name[MAX_PATH];
+    HKEY hkey;
+
+    int cnt = 0;
+
+    if (RegOpenKeyA(hkey_root, szRepPath, &hkey) == ERROR_SUCCESS)
+    {
+        int idx = 0;
+        for (; ; idx++)
+        {
+            if (RegEnumKeyA(hkey, idx, name, MAX_PATH) != ERROR_SUCCESS)
+                break;
+
+            if (*name == '{')
+            {
+                LPITEMIDLIST pidl = _ILCreateGuidFromStrA(name);
+
+                if (pidl && AddToEnumList(pidl))
+                    ++cnt;
+            }
+        }
+
+        RegCloseKey(hkey);
+    }
+
+    return cnt;
 }
 
 /**************************************************************************
@@ -241,79 +241,79 @@
  */
 BOOL CControlPanelEnum::CreateCPanelEnumList(DWORD dwFlags)
 {
-       CHAR szPath[MAX_PATH];
-       WIN32_FIND_DATAA wfd;
-       HANDLE hFile;
-
-       TRACE("(%p)->(flags=0x%08x)\n", this, dwFlags);
-
-       /* enumerate control panel folders */
-       if (dwFlags & SHCONTF_FOLDERS)
-               SHELL_RegisterCPanelFolders(HKEY_LOCAL_MACHINE, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel\\NameSpace");
-
-       /* enumerate the control panel applets */
-       if (dwFlags & SHCONTF_NONFOLDERS)
-       {
-               LPSTR p;
-
-               GetSystemDirectoryA(szPath, MAX_PATH);
-               p = PathAddBackslashA(szPath);
-               strcpy(p, "*.cpl");
-
-               TRACE("-- (%p)-> enumerate SHCONTF_NONFOLDERS of %s\n", this, 
debugstr_a(szPath));
-               hFile = FindFirstFileA(szPath, &wfd);
-
-               if (hFile != INVALID_HANDLE_VALUE)
-               {
-                       do
-                       {
-                               if (!(dwFlags & SHCONTF_INCLUDEHIDDEN) && 
(wfd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
-                                       continue;
-
-                               if (!(wfd.dwFileAttributes & 
FILE_ATTRIBUTE_DIRECTORY)) {
-                                       strcpy(p, wfd.cFileName);
-                                       if (strcmp(wfd.cFileName, "ncpa.cpl"))
-                                               SHELL_RegisterCPanelApp(szPath);
-                               }
-                       } while(FindNextFileA(hFile, &wfd));
-                       FindClose(hFile);
-               }
-
-               SHELL_RegisterRegistryCPanelApps(HKEY_LOCAL_MACHINE, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls");
-               SHELL_RegisterRegistryCPanelApps(HKEY_CURRENT_USER, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls");
-       }
-       return TRUE;
+    CHAR szPath[MAX_PATH];
+    WIN32_FIND_DATAA wfd;
+    HANDLE hFile;
+
+    TRACE("(%p)->(flags=0x%08x)\n", this, dwFlags);
+
+    /* enumerate control panel folders */
+    if (dwFlags & SHCONTF_FOLDERS)
+        SHELL_RegisterCPanelFolders(HKEY_LOCAL_MACHINE, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel\\NameSpace");
+
+    /* enumerate the control panel applets */
+    if (dwFlags & SHCONTF_NONFOLDERS)
+    {
+        LPSTR p;
+
+        GetSystemDirectoryA(szPath, MAX_PATH);
+        p = PathAddBackslashA(szPath);
+        strcpy(p, "*.cpl");
+
+        TRACE("-- (%p)-> enumerate SHCONTF_NONFOLDERS of %s\n", this, 
debugstr_a(szPath));
+        hFile = FindFirstFileA(szPath, &wfd);
+
+        if (hFile != INVALID_HANDLE_VALUE)
+        {
+            do
+            {
+                if (!(dwFlags & SHCONTF_INCLUDEHIDDEN) && 
(wfd.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
+                    continue;
+
+                if (!(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
+                    strcpy(p, wfd.cFileName);
+                    if (strcmp(wfd.cFileName, "ncpa.cpl"))
+                        SHELL_RegisterCPanelApp(szPath);
+                }
+            } while(FindNextFileA(hFile, &wfd));
+            FindClose(hFile);
+        }
+
+        SHELL_RegisterRegistryCPanelApps(HKEY_LOCAL_MACHINE, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls");
+        SHELL_RegisterRegistryCPanelApps(HKEY_CURRENT_USER, 
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Control Panel\\Cpls");
+    }
+    return TRUE;
 }
 
 CControlPanelFolder::CControlPanelFolder()
 {
-       pidlRoot = NULL;        /* absolute pidl */
-       dwAttributes = 0;               /* attributes returned by 
GetAttributesOf FIXME: use it */
-       apidl = NULL;
-       cidl = 0;
+    pidlRoot = NULL;    /* absolute pidl */
+    dwAttributes = 0;        /* attributes returned by GetAttributesOf FIXME: 
use it */
+    apidl = NULL;
+    cidl = 0;
 }
 
 CControlPanelFolder::~CControlPanelFolder()
 {
-       TRACE("-- destroying IShellFolder(%p)\n", this);
-       SHFree(pidlRoot);
+    TRACE("-- destroying IShellFolder(%p)\n", this);
+    SHFree(pidlRoot);
 }
 
 HRESULT WINAPI CControlPanelFolder::FinalConstruct()
 {
-       pidlRoot = _ILCreateControlPanel();     /* my qualified pidl */
-       if (pidlRoot == NULL)
-               return E_OUTOFMEMORY;
-       return S_OK;
-}
-
-/**************************************************************************
-*      ISF_ControlPanel_fnParseDisplayName
+    pidlRoot = _ILCreateControlPanel();    /* my qualified pidl */
+    if (pidlRoot == NULL)
+        return E_OUTOFMEMORY;
+    return S_OK;
+}
+
+/**************************************************************************
+*    ISF_ControlPanel_fnParseDisplayName
 */
 HRESULT WINAPI CControlPanelFolder::ParseDisplayName(HWND hwndOwner,
-                                  LPBC pbc,
-                                  LPOLESTR lpszDisplayName,
-                                  DWORD * pchEaten, LPITEMIDLIST * ppidl, 
DWORD * pdwAttributes)
+                   LPBC pbc,
+                   LPOLESTR lpszDisplayName,
+                   DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * 
pdwAttributes)
 {
     WCHAR szElement[MAX_PATH];
     LPCWSTR szNext = NULL;
@@ -369,40 +369,40 @@
 }
 
 /**************************************************************************
-*              ISF_ControlPanel_fnEnumObjects
+*        ISF_ControlPanel_fnEnumObjects
 */
 HRESULT WINAPI CControlPanelFolder::EnumObjects(HWND hwndOwner, DWORD dwFlags, 
LPENUMIDLIST * ppEnumIDList)
 {
-       CComObject<CControlPanelEnum>                   *theEnumerator;
-       CComPtr<IEnumIDList>                                    result;
-       HRESULT                                                                 
hResult;
-
-       TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, 
dwFlags, ppEnumIDList);
-
-       if (ppEnumIDList == NULL)
-               return E_POINTER;
-       *ppEnumIDList = NULL;
-       ATLTRY (theEnumerator = new CComObject<CControlPanelEnum>);
-       if (theEnumerator == NULL)
-               return E_OUTOFMEMORY;
-       hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void 
**)&result);
-       if (FAILED (hResult))
-       {
-               delete theEnumerator;
-               return hResult;
-       }
-       hResult = theEnumerator->Initialize (dwFlags);
-       if (FAILED (hResult))
-               return hResult;
-       *ppEnumIDList = result.Detach ();
+    CComObject<CControlPanelEnum>            *theEnumerator;
+    CComPtr<IEnumIDList>                    result;
+    HRESULT                                    hResult;
+
+    TRACE ("(%p)->(HWND=%p flags=0x%08x pplist=%p)\n", this, hwndOwner, 
dwFlags, ppEnumIDList);
+
+    if (ppEnumIDList == NULL)
+        return E_POINTER;
+    *ppEnumIDList = NULL;
+    ATLTRY (theEnumerator = new CComObject<CControlPanelEnum>);
+    if (theEnumerator == NULL)
+        return E_OUTOFMEMORY;
+    hResult = theEnumerator->QueryInterface (IID_IEnumIDList, (void 
**)&result);
+    if (FAILED (hResult))
+    {
+        delete theEnumerator;
+        return hResult;
+    }
+    hResult = theEnumerator->Initialize (dwFlags);
+    if (FAILED (hResult))
+        return hResult;
+    *ppEnumIDList = result.Detach ();
 
     TRACE ("-- (%p)->(new ID List: %p)\n", this, *ppEnumIDList);
 
-       return S_OK;
-}
-
-/**************************************************************************
-*              ISF_ControlPanel_fnBindToObject
+    return S_OK;
+}
+
+/**************************************************************************
+*        ISF_ControlPanel_fnBindToObject
 */
 HRESULT WINAPI CControlPanelFolder::BindToObject(LPCITEMIDLIST pidl, LPBC 
pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
@@ -412,7 +412,7 @@
 }
 
 /**************************************************************************
-*      ISF_ControlPanel_fnBindToStorage
+*    ISF_ControlPanel_fnBindToStorage
 */
 HRESULT WINAPI CControlPanelFolder::BindToStorage(LPCITEMIDLIST pidl, LPBC 
pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
@@ -423,7 +423,7 @@
 }
 
 /**************************************************************************
-*      ISF_ControlPanel_fnCompareIDs
+*     ISF_ControlPanel_fnCompareIDs
 */
 
 HRESULT WINAPI CControlPanelFolder::CompareIDs(LPARAM lParam, LPCITEMIDLIST 
pidl1, LPCITEMIDLIST pidl2)
@@ -437,30 +437,30 @@
 }
 
 /**************************************************************************
-*      ISF_ControlPanel_fnCreateViewObject
+*    ISF_ControlPanel_fnCreateViewObject
 */
 HRESULT WINAPI CControlPanelFolder::CreateViewObject(HWND hwndOwner, REFIID 
riid, LPVOID * ppvOut)
 {
-    CComPtr<IShellView>                                        pShellView;
+    CComPtr<IShellView>                    pShellView;
     HRESULT hr = E_INVALIDARG;
 
     TRACE("(%p)->(hwnd=%p,%s,%p)\n", this, hwndOwner, shdebugstr_guid(&riid), 
ppvOut);
 
     if (ppvOut) {
-       *ppvOut = NULL;
-
-       if (IsEqualIID(riid, IID_IDropTarget)) {
-           WARN("IDropTarget not implemented\n");
-           hr = E_NOTIMPL;
-       } else if (IsEqualIID(riid, IID_IContextMenu)) {
-           WARN("IContextMenu not implemented\n");
-           hr = E_NOTIMPL;
-       } else if (IsEqualIID(riid, IID_IShellView)) {
-           hr = IShellView_Constructor((IShellFolder *)this, &pShellView);
-           if (pShellView) {
-               hr = pShellView->QueryInterface(riid, ppvOut);
-           }
-       }
+    *ppvOut = NULL;
+
+    if (IsEqualIID(riid, IID_IDropTarget)) {
+        WARN("IDropTarget not implemented\n");
+        hr = E_NOTIMPL;
+    } else if (IsEqualIID(riid, IID_IContextMenu)) {
+        WARN("IContextMenu not implemented\n");
+        hr = E_NOTIMPL;
+    } else if (IsEqualIID(riid, IID_IShellView)) {
+        hr = IShellView_Constructor((IShellFolder *)this, &pShellView);
+        if (pShellView) {
+        hr = pShellView->QueryInterface(riid, ppvOut);
+        }
+    }
     }
     TRACE("--(%p)->(interface=%p)\n", this, ppvOut);
     return hr;
@@ -482,13 +482,13 @@
         return E_INVALIDARG;
 
     if (*rgfInOut == 0)
-       *rgfInOut = ~0;
+    *rgfInOut = ~0;
 
     while(cidl > 0 && *apidl) {
-       pdump(*apidl);
-       SHELL32_GetItemAttributes(this, *apidl, rgfInOut);
-       apidl++;
-       cidl--;
+    pdump(*apidl);
+    SHELL32_GetItemAttributes(this, *apidl, rgfInOut);
+    apidl++;
+    cidl--;
     }
     /* make sure SFGAO_VALIDATE is cleared, some apps depend on that */
     *rgfInOut &= ~SFGAO_VALIDATE;
@@ -498,7 +498,7 @@
 }
 
 /**************************************************************************
-*      ISF_ControlPanel_fnGetUIObjectOf
+*    ISF_ControlPanel_fnGetUIObjectOf
 *
 * PARAMETERS
 *  HWND           hwndOwner, //[in ] Parent window for any output
@@ -510,59 +510,59 @@
 *
 */
 HRESULT WINAPI CControlPanelFolder::GetUIObjectOf(HWND hwndOwner,
-                               UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, 
UINT * prgfInOut, LPVOID * ppvOut)
+                UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * 
prgfInOut, LPVOID * ppvOut)
 {
     LPITEMIDLIST pidl;
     IUnknown *pObj = NULL;
     HRESULT hr = E_INVALIDARG;
 
     TRACE("(%p)->(%p,%u,apidl=%p,%s,%p,%p)\n",
-          this, hwndOwner, cidl, apidl, shdebugstr_guid(&riid), prgfInOut, 
ppvOut);
+       this, hwndOwner, cidl, apidl, shdebugstr_guid(&riid), prgfInOut, 
ppvOut);
 
     if (ppvOut) {
-       *ppvOut = NULL;
-
-       if (IsEqualIID(riid, IID_IContextMenu) &&(cidl >= 1)) {
-               // TODO
-               // create a seperate item struct
-               //
-               pObj = (IContextMenu *)this;
-               this->apidl = apidl;
-               cidl = cidl;
-               pObj->AddRef();
-               hr = S_OK;
-       } else if (IsEqualIID(riid, IID_IDataObject) &&(cidl >= 1)) {
-           hr = IDataObject_Constructor(hwndOwner, pidlRoot, apidl, cidl, 
(IDataObject **)&pObj);
-       } else if (IsEqualIID(riid, IID_IExtractIconA) &&(cidl == 1)) {
-           pidl = ILCombine(pidlRoot, apidl[0]);
-           pObj = (LPUNKNOWN) IExtractIconA_Constructor(pidl);
-           SHFree(pidl);
-           hr = S_OK;
-       } else if (IsEqualIID(riid, IID_IExtractIconW) &&(cidl == 1)) {
-           pidl = ILCombine(pidlRoot, apidl[0]);
-           pObj = (LPUNKNOWN) IExtractIconW_Constructor(pidl);
-           SHFree(pidl);
-           hr = S_OK;
-       } else if ((IsEqualIID(riid, IID_IShellLinkW) || IsEqualIID(riid, 
IID_IShellLinkA))
-                               && (cidl == 1)) {
-           pidl = ILCombine(pidlRoot, apidl[0]);
-           hr = IShellLink_ConstructFromFile(NULL, riid, pidl,(LPVOID*)&pObj);
-           SHFree(pidl);
-       } else {
-           hr = E_NOINTERFACE;
-       }
-
-       if (SUCCEEDED(hr) && !pObj)
-           hr = E_OUTOFMEMORY;
-
-       *ppvOut = pObj;
+    *ppvOut = NULL;
+
+    if (IsEqualIID(riid, IID_IContextMenu) &&(cidl >= 1)) {
+        // TODO
+        // create a seperate item struct
+        //
+        pObj = (IContextMenu *)this;
+        this->apidl = apidl;
+        cidl = cidl;
+        pObj->AddRef();
+        hr = S_OK;
+    } else if (IsEqualIID(riid, IID_IDataObject) &&(cidl >= 1)) {
+        hr = IDataObject_Constructor(hwndOwner, pidlRoot, apidl, cidl, 
(IDataObject **)&pObj);
+    } else if (IsEqualIID(riid, IID_IExtractIconA) &&(cidl == 1)) {
+        pidl = ILCombine(pidlRoot, apidl[0]);
+        pObj = (LPUNKNOWN) IExtractIconA_Constructor(pidl);
+        SHFree(pidl);
+        hr = S_OK;
+    } else if (IsEqualIID(riid, IID_IExtractIconW) &&(cidl == 1)) {
+        pidl = ILCombine(pidlRoot, apidl[0]);
+        pObj = (LPUNKNOWN) IExtractIconW_Constructor(pidl);
+        SHFree(pidl);
+        hr = S_OK;
+    } else if ((IsEqualIID(riid, IID_IShellLinkW) || IsEqualIID(riid, 
IID_IShellLinkA))
+                && (cidl == 1)) {
+        pidl = ILCombine(pidlRoot, apidl[0]);
+        hr = IShellLink_ConstructFromFile(NULL, riid, pidl,(LPVOID*)&pObj);
+        SHFree(pidl);
+    } else {
+        hr = E_NOINTERFACE;
+    }
+
+    if (SUCCEEDED(hr) && !pObj)
+        hr = E_OUTOFMEMORY;
+
+    *ppvOut = pObj;
     }
     TRACE("(%p)->hr=0x%08x\n", this, hr);
     return hr;
 }
 
 /**************************************************************************
-*      ISF_ControlPanel_fnGetDisplayNameOf
+*    ISF_ControlPanel_fnGetDisplayNameOf
 */
 HRESULT WINAPI CControlPanelFolder::GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD 
dwFlags, LPSTRRET strRet)
 {
@@ -576,43 +576,53 @@
     pdump(pidl);
 
     if (!pidl || !strRet)
-       return E_INVALIDARG;
+    return E_INVALIDARG;
 
     pcpanel = _ILGetCPanelPointer(pidl);
 
-    if (pcpanel) {
-       lstrcpyA(szPath, pcpanel->szName+pcpanel->offsDispName);
-
-       if (!(dwFlags & SHGDN_FORPARSING))
-           FIXME("retrieve display name from control panel app\n");
+    if (pcpanel)
+    {
+        lstrcpyA(szPath, pcpanel->szName+pcpanel->offsDispName);
+
+        if (!(dwFlags & SHGDN_FORPARSING))
+            FIXME("retrieve display name from control panel app\n");
     }
     /* take names of special folders only if it's only this folder */
-    else if (_ILIsSpecialFolder(pidl)) {
-       BOOL bSimplePidl = _ILIsPidlSimple(pidl);
-
-       if (bSimplePidl) {
-           _ILSimpleGetTextW(pidl, wszPath, MAX_PATH); /* append my own path */
-       } else {
-           FIXME("special pidl\n");
-       }
-
-       if ((dwFlags & SHGDN_FORPARSING) && !bSimplePidl) { /* go deeper if 
needed */
-           int len = 0;
-
-           PathAddBackslashW(wszPath);
-           len = wcslen(wszPath);
-
-           if (!SUCCEEDED
-             (SHELL32_GetDisplayNameOfChild(this, pidl, dwFlags, wszPath + 
len, MAX_PATH + 1 - len)))
-               return E_OUTOFMEMORY;
-           if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, MAX_PATH, 
NULL, NULL))
-               wszPath[0] = '\0';
-    } else {
-        if (bSimplePidl) {
-               if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, 
MAX_PATH, NULL, NULL))
-                   wszPath[0] = '\0';
-        }
-    }
+    else if (_ILIsSpecialFolder(pidl))
+    {
+        BOOL bSimplePidl = _ILIsPidlSimple(pidl);
+
+        if (bSimplePidl)
+        {
+            _ILSimpleGetTextW(pidl, wszPath, MAX_PATH);    /* append my own 
path */
+        }
+        else
+        {
+            FIXME("special pidl\n");
+        }
+
+        if ((dwFlags & SHGDN_FORPARSING) && !bSimplePidl)
+        {
+            /* go deeper if needed */
+            int len = 0;
+
+            PathAddBackslashW(wszPath);
+            len = wcslen(wszPath);
+
+            if (!SUCCEEDED(SHELL32_GetDisplayNameOfChild(this, pidl, dwFlags, 
wszPath + len, MAX_PATH + 1 - len)))
+                return E_OUTOFMEMORY;
+            
+            if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, MAX_PATH, 
NULL, NULL))
+                wszPath[0] = '\0';
+        }
+        else
+        {
+            if (bSimplePidl)
+            {
+                if (!WideCharToMultiByte(CP_ACP, 0, wszPath, -1, szPath, 
MAX_PATH, NULL, NULL))
+                    wszPath[0] = '\0';
+            }
+        }
     }
 
     strRet->uType = STRRET_CSTR;
@@ -634,8 +644,8 @@
 *  DWORD         dwFlags,    //[in ] SHGNO formatting flags
 *  LPITEMIDLIST* ppidlOut)   //[out] simple pidl returned
 */
-HRESULT WINAPI CControlPanelFolder::SetNameOf(HWND hwndOwner, LPCITEMIDLIST 
pidl,      /*simple pidl */
-                                                 LPCOLESTR lpName, DWORD 
dwFlags, LPITEMIDLIST * pPidlOut)
+HRESULT WINAPI CControlPanelFolder::SetNameOf(HWND hwndOwner, LPCITEMIDLIST 
pidl,    /*simple pidl */
+                          LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * 
pPidlOut)
 {
     FIXME("(%p)->(%p,pidl=%p,%s,%u,%p)\n", this, hwndOwner, pidl, 
debugstr_w(lpName), dwFlags, pPidlOut);
     return E_FAIL;
@@ -684,26 +694,26 @@
     TRACE("(%p)->(%p %i %p)\n", this, pidl, iColumn, psd);
 
     if (!psd || iColumn >= CONROLPANELSHELLVIEWCOLUMNS)
-       return E_INVALIDARG;
+    return E_INVALIDARG;
 
     if (!pidl) {
-       psd->fmt = ControlPanelSFHeader[iColumn].fmt;
-       psd->cxChar = ControlPanelSFHeader[iColumn].cxChar;
-       psd->str.uType = STRRET_CSTR;
-       LoadStringA(shell32_hInstance, ControlPanelSFHeader[iColumn].colnameid, 
psd->str.cStr, MAX_PATH);
-       return S_OK;
+    psd->fmt = ControlPanelSFHeader[iColumn].fmt;
+    psd->cxChar = ControlPanelSFHeader[iColumn].cxChar;
+    psd->str.uType = STRRET_CSTR;
+    LoadStringA(shell32_hInstance, ControlPanelSFHeader[iColumn].colnameid, 
psd->str.cStr, MAX_PATH);
+    return S_OK;
     } else {
-       psd->str.cStr[0] = 0x00;
-       psd->str.uType = STRRET_CSTR;
-       switch(iColumn) {
-       case 0:         /* name */
-           hr = GetDisplayNameOf(pidl, SHGDN_NORMAL | SHGDN_INFOLDER, 
&psd->str);
-           break;
-       case 1:         /* comment */
-           _ILGetFileType(pidl, psd->str.cStr, MAX_PATH);
-           break;
-       }
-       hr = S_OK;
+    psd->str.cStr[0] = 0x00;
+    psd->str.uType = STRRET_CSTR;
+    switch(iColumn) {
+    case 0:        /* name */
+        hr = GetDisplayNameOf(pidl, SHGDN_NORMAL | SHGDN_INFOLDER, &psd->str);
+        break;
+    case 1:        /* comment */
+        _ILGetFileType(pidl, psd->str.cStr, MAX_PATH);
+        break;
+    }
+    hr = S_OK;
     }
 
     return hr;
@@ -715,21 +725,21 @@
 }
 
 /************************************************************************
- *     ICPanel_PersistFolder2_GetClassID
+ *    ICPanel_PersistFolder2_GetClassID
  */
 HRESULT WINAPI CControlPanelFolder::GetClassID(CLSID *lpClassId)
 {
     TRACE("(%p)\n", this);
 
     if (!lpClassId)
-       return E_POINTER;
+    return E_POINTER;
     *lpClassId = CLSID_ControlPanel;
 
     return S_OK;
 }
 
 /************************************************************************
- *     ICPanel_PersistFolder2_Initialize
+ *    ICPanel_PersistFolder2_Initialize
  *
  * NOTES: it makes no sense to change the pidl
  */
@@ -743,14 +753,14 @@
 }
 
 /**************************************************************************
- *     IPersistFolder2_fnGetCurFolder
+ *    IPersistFolder2_fnGetCurFolder
  */
 HRESULT WINAPI CControlPanelFolder::GetCurFolder(LPITEMIDLIST * pidl)
 {
     TRACE("(%p)->(%p)\n", this, pidl);
 
     if (!pidl)
-       return E_POINTER;
+    return E_POINTER;
     *pidl = ILClone(pidlRoot);
     return S_OK;
 }
@@ -759,8 +769,8 @@
 {
     PIDLCPanelStruct* pcpanel = _ILGetCPanelPointer(pidl);
 
-       if (!pcpanel)
-       return E_INVALIDARG;
+    if (!pcpanel)
+    return E_INVALIDARG;
 
     MultiByteToWideChar(CP_ACP, 0, pcpanel->szName, -1, szIconFile, cchMax);
     *piIndex = (int)pcpanel->iconIdx != -1 ? pcpanel->iconIdx : 0;
@@ -803,7 +813,7 @@
 
     ZeroMemory(&si, sizeof(si));
     si.cb = sizeof(si);
-    if (!CreateProcessW(NULL, szExpCmd, NULL, NULL, FALSE, 0, NULL,    NULL, 
&si, &pi))
+    if (!CreateProcessW(NULL, szExpCmd, NULL, NULL, FALSE, 0, NULL,    NULL, 
&si, &pi))
         return E_FAIL;
 
     CloseHandle(pi.hProcess);
@@ -885,12 +895,12 @@
     TRACE("(%p)->execute(%p)\n", this, psei);
 
     if (!psei)
-       return E_INVALIDARG;
+    return E_INVALIDARG;
 
     pcpanel = _ILGetCPanelPointer(ILFindLastID((LPCITEMIDLIST)psei->lpIDList));
 
     if (!pcpanel)
-       return E_INVALIDARG;
+    return E_INVALIDARG;
 
     path[0] = '\"';
     lstrcpyA(path+1, pcpanel->szName);
@@ -905,9 +915,9 @@
 
     ret = ShellExecuteExA(&sei_tmp);
     if (ret)
-       return S_OK;
+    return S_OK;
     else
-       return S_FALSE;
+    return S_FALSE;
 }
 
 /**************************************************************************
@@ -918,11 +928,11 @@
 * ICPanel_IContextMenu_QueryContextMenu()
 */
 HRESULT WINAPI CControlPanelFolder::QueryContextMenu(
-       HMENU hMenu,
-       UINT indexMenu,
-       UINT idCmdFirst,
-       UINT idCmdLast,
-       UINT uFlags)
+    HMENU hMenu,
+    UINT indexMenu,
+    UINT idCmdFirst,
+    UINT idCmdLast,
+    UINT uFlags)
 {
     WCHAR szBuffer[30] = {0};
     ULONG Count = 1;
@@ -963,9 +973,9 @@
     WCHAR* pszPath;
     INT Length, cLength;
     PIDLCPanelStruct *pcpanel;
-    CComPtr<IPersistFile>                              ppf;
-    CComPtr<IShellLinkA>                               isl;
-       HRESULT hResult;
+    CComPtr<IPersistFile>                ppf;
+    CComPtr<IShellLinkA>                isl;
+    HRESULT hResult;
 
     TRACE("(%p)->(invcom=%p verb=%p wnd=%p)\n",this,lpcmi,lpcmi->lpVerb, 
lpcmi->hwnd);
 
@@ -978,9 +988,9 @@
        sei.hwnd = lpcmi->hwnd;
        sei.nShow = SW_SHOWNORMAL;
        sei.lpVerb = L"open";
-       ShellExecuteExW(&sei);
-       if (sei.hInstApp == FALSE)
-          return E_FAIL;
+
+       if (ShellExecuteExW(&sei) == FALSE)
+            return E_FAIL;
     }
     else if (lpcmi->lpVerb == MAKEINTRESOURCEA(IDS_CREATELINK)) //FIXME
     {
@@ -1029,7 +1039,7 @@
            FIXME("Couldn't retrieve pointer to cpl structure\n");
            return E_FAIL;
         }
-               hResult = ShellLink::_CreatorClass::CreateInstance(NULL, 
IID_IShellLinkA, (void **)&isl);
+        hResult = ShellLink::_CreatorClass::CreateInstance(NULL, 
IID_IShellLinkA, (void **)&isl);
         if (SUCCEEDED(hResult))
         {
             isl->SetPath(szTarget);
@@ -1046,25 +1056,25 @@
  *
  */
 HRESULT WINAPI CControlPanelFolder::GetCommandString(
-       UINT_PTR idCommand,
-       UINT uFlags,
-       UINT* lpReserved,
-       LPSTR lpszName,
-       UINT uMaxNameLen)
-{
-       TRACE("(%p)->(idcom=%lx flags=%x %p name=%p len=%x)\n",this, idCommand, 
uFlags, lpReserved, lpszName, uMaxNameLen);
-
-       FIXME("unknown command string\n");
-       return E_FAIL;
+    UINT_PTR idCommand,
+    UINT uFlags,
+    UINT* lpReserved,
+    LPSTR lpszName,
+    UINT uMaxNameLen)
+{
+    TRACE("(%p)->(idcom=%lx flags=%x %p name=%p len=%x)\n",this, idCommand, 
uFlags, lpReserved, lpszName, uMaxNameLen);
+
+    FIXME("unknown command string\n");
+    return E_FAIL;
 }
 
 /**************************************************************************
 * ICPanel_IContextMenu_HandleMenuMsg()
 */
 HRESULT WINAPI CControlPanelFolder::HandleMenuMsg(
-       UINT uMsg,
-       WPARAM wParam,
-       LPARAM lParam)
+    UINT uMsg,
+    WPARAM wParam,
+    LPARAM lParam)
 {
     TRACE("ICPanel_IContextMenu_HandleMenuMsg (%p)->(msg=%x wp=%lx 
lp=%lx)\n",this, uMsg, wParam, lParam);
 


Reply via email to