Author: akhaldi
Date: Thu Nov  6 19:14:58 2014
New Revision: 65298

URL: http://svn.reactos.org/svn/reactos?rev=65298&view=rev
Log:
[SHELL32]
* Another partial sync of brsfolder.c with Wine 1.7.27.
CORE-8540

Modified:
    branches/shell-experiments/dll/win32/shell32/wine/brsfolder.c

Modified: branches/shell-experiments/dll/win32/shell32/wine/brsfolder.c
URL: 
http://svn.reactos.org/svn/reactos/branches/shell-experiments/dll/win32/shell32/wine/brsfolder.c?rev=65298&r1=65297&r2=65298&view=diff
==============================================================================
--- branches/shell-experiments/dll/win32/shell32/wine/brsfolder.c       
[iso-8859-1] (original)
+++ branches/shell-experiments/dll/win32/shell32/wine/brsfolder.c       
[iso-8859-1] Thu Nov  6 19:14:58 2014
@@ -18,9 +18,7 @@
  * FIXME:
  *  - many memory leaks
  *  - many flags unimplemented
- *    - implement new dialog style "make new folder" button
  *    - implement editbox
- *    - implement new dialog style resizing
  */
 
 #define WIN32_NO_STATUS
@@ -387,7 +385,9 @@
        tvi.lParam = (LPARAM)lptvid;
 
        IShellFolder_AddRef(lpsf);
-    IEnumIDList_AddRef(pEnumIL);
+#ifdef __REACTOS__
+        IEnumIDList_AddRef(pEnumIL);
+#endif
        lptvid->lpsfParent = lpsf;
        lptvid->lpi     = ILClone(pidl);
        lptvid->lpifq   = pidlParent ? ILCombine(pidlParent, pidl) : 
ILClone(pidl);
@@ -543,7 +543,8 @@
                                        &IID_IShellFolder, (void**)&lpsf2 );
     } else {
         lpsf2 = lptvid->lpsfParent;
-        r = IShellFolder_AddRef(lpsf2);
+        IShellFolder_AddRef(lpsf2);
+        r = S_OK;
     }
 
     if (SUCCEEDED(r))
@@ -831,8 +832,10 @@
     switch (id)
     {
     case IDOK:
+#ifdef __REACTOS__
         /* The original pidl is owned by the treeview and will be free'd. */
         info->pidlRet = ILClone(info->pidlRet);
+#endif
         if (info->pidlRet == NULL) /* A null pidl would mean a cancel */
             info->pidlRet = _ILCreateDesktop();
         pdump( info->pidlRet );
@@ -1054,8 +1057,12 @@
     return FALSE;
 }
 
-
-
+#ifndef __REACTOS__
+static const WCHAR swBrowseTemplateName[] = {
+    
'S','H','B','R','S','F','O','R','F','O','L','D','E','R','_','M','S','G','B','O','X',0};
+static const WCHAR swNewBrowseTemplateName[] = {
+    
'S','H','N','E','W','B','R','S','F','O','R','F','O','L','D','E','R','_','M','S','G','B','O','X',0};
+#endif
 
 /*************************************************************************
  * SHBrowseForFolderA [SHELL32.@]
@@ -1115,12 +1122,23 @@
     browse_info info;
     DWORD r;
     HRESULT hr;
+#ifdef __REACTOS__
     WORD wDlgId;
+#else
+    const WCHAR * templateName;
+    INITCOMMONCONTROLSEX icex;
+#endif
 
     info.hWnd = 0;
     info.pidlRet = NULL;
     info.lpBrowseInfo = lpbi;
     info.hwndTreeView = NULL;
+
+#ifndef __REACTOS__
+    icex.dwSize = sizeof( icex );
+    icex.dwICC = ICC_TREEVIEW_CLASSES;
+    InitCommonControlsEx( &icex );
+#endif
 
     hr = OleInitialize(NULL);
 


Reply via email to