Ignore:
Timestamp:
Nov 13, 1999, 4:41:44 PM (26 years ago)
Author:
sandervl
Message:

several bugfixes in Wine file dialog

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/comdlg32/filedlg95.cpp

    r1677 r1721  
    1 /* $Id: filedlg95.cpp,v 1.3 1999-11-09 22:38:57 phaller Exp $ */
     1/* $Id: filedlg95.cpp,v 1.4 1999-11-13 15:41:44 sandervl Exp $ */
    22/*
    33 * COMMDLG - File Open Dialogs Win95 look and feel
     
    4646  HIMAGELIST hImgList;
    4747  int m_iIndent;      /* Indentation index */
    48   LPITEMIDLIST pidlItem;  /* absolute pidl of the item */
     48  LPITEMIDLIST pidlItem;  /* absolute pidl of the item */ 
    4949
    5050} SFOLDER,*LPSFOLDER;
     
    174174 *      GetOpenFileName95
    175175 *
    176  * Creates an Open common dialog box that lets the user select
     176 * Creates an Open common dialog box that lets the user select 
    177177 * the drive, directory, and the name of a file or set of files to open.
    178178 *
     
    211211    if( lRes == -1)
    212212        return FALSE;
    213 
     213   
    214214    return lRes;
    215215}
     
    254254    if( lRes == -1)
    255255        return FALSE;
    256 
     256   
    257257    return lRes;
    258258}
     
    272272  BOOL ret;
    273273  FileOpenDlgInfos *fodInfos;
    274 
    275   /* Initialise FileOpenDlgInfos structure*/
     274 
     275  /* Initialise FileOpenDlgInfos structure*/ 
    276276  fodInfos = (FileOpenDlgInfos*)MemAlloc(sizeof(FileOpenDlgInfos));
    277277  memset(&fodInfos->ofnInfos,'\0',sizeof(*ofn)); fodInfos->ofnInfos.lStructSize = sizeof(*ofn);
     
    339339  fodInfos->ofnInfos.lpfnHook = (LPOFNHOOKPROC)ofn->lpfnHook;
    340340
    341   if (ofn->lpTemplateName)
     341  //SvL: Bugfix; can be resource id
     342  if (HIWORD(ofn->lpTemplateName))
    342343  {
    343344      fodInfos->ofnInfos.lpTemplateName = ofn->lpTemplateName;
     
    353354  /* Initialise the dialog property */
    354355  fodInfos->DlgInfos.dwDlgProp = 0;
    355 
     356 
    356357  switch(iDlgType)
    357358  {
     
    382383      MemFree((LPVOID)(fodInfos->ofnInfos.lpstrCustomFilter));
    383384
    384   if (fodInfos->ofnInfos.lpstrFile)
     385  if (fodInfos->ofnInfos.lpstrFile) 
    385386    {
    386387      strcpy(ofn->lpstrFile,fodInfos->ofnInfos.lpstrFile);
    387388      MemFree((LPVOID)fodInfos->ofnInfos.lpstrFile);
    388389    }
    389   if (fodInfos->ofnInfos.lpstrFileTitle)
     390  if (fodInfos->ofnInfos.lpstrFileTitle) 
    390391    {
    391392      if (ofn->lpstrFileTitle)
     
    427428    /* filter is a list...  title\0ext\0......\0\0 */
    428429    s = (LPWSTR)ofn->lpstrFilter;
    429 
     430   
    430431    while (*s)
    431432      s = s+lstrlenW(s)+1;
     
    491492  fodInfos->ofnInfos.lCustData = ofn->lCustData;
    492493  fodInfos->ofnInfos.lpfnHook = (LPOFNHOOKPROC)ofn->lpfnHook;
    493   if (ofn->lpTemplateName)
    494   {
     494  //SvL: Bugfix
     495  if (HIWORD(ofn->lpTemplateName))
     496  {
    495497    fodInfos->ofnInfos.lpTemplateName = (LPSTR)MemAlloc(lstrlenW(ofn->lpTemplateName)+1);
    496498    lstrcpyWtoA((LPSTR)fodInfos->ofnInfos.lpTemplateName,(LPWSTR)ofn->lpTemplateName);
     
    498500  /* Initialise the dialog property */
    499501  fodInfos->DlgInfos.dwDlgProp = 0;
    500 
     502 
    501503  switch(iDlgType)
    502504  {
     
    511513      ret = 0;
    512514  }
    513 
     515     
    514516  /* Cleaning */
    515517  ofn->nFileOffset = fodInfos->ofnInfos.nFileOffset;
     
    625627                        if(rectCtrl.top > rectStc32.top)
    626628                        {
    627 
     629                                 
    628630                                if(ptMoveCtl.x > 0)
    629631                                        rectCtrl.left += ptMoveCtl.x;
    630632                                rectCtrl.top  += ptMoveCtl.y;
    631                                 handle = DeferWindowPos(handle, hwndChild, 0, rectCtrl.left, rectCtrl.top,
     633                                handle = DeferWindowPos(handle, hwndChild, 0, rectCtrl.left, rectCtrl.top, 
    632634                                rectCtrl.right-rectCtrl.left,rectCtrl.bottom-rectCtrl.top,
    633635                                SWP_NOSIZE | SWP_NOZORDER );
     
    662664                                        rectCtrl.top += ptMoveCtl.y;
    663665
    664                                         handle = DeferWindowPos(        handle, hwndChild, 0, rectCtrl.left, rectCtrl.top,
     666                                        handle = DeferWindowPos(        handle, hwndChild, 0, rectCtrl.left, rectCtrl.top, 
    665667                                        rectCtrl.right-rectCtrl.left,rectCtrl.bottom-rectCtrl.top,
    666668                                        SWP_NOSIZE |SWP_NOZORDER );
     
    682684  {
    683685        case WM_INITDIALOG:
    684         {
     686        {         
    685687                FileOpenDlgInfos *fodInfos = (FileOpenDlgInfos *)lParam;
    686688                procUserHook=NULL;
     
    694696        } }
    695697 if(procUserHook)
    696       return CallWindowProcA(procUserHook,hwnd,uMsg,wParam,lParam);
    697   return DefWindowProcA(hwnd,uMsg,wParam,lParam);
     698      return CallWindowProcA(procUserHook,hwnd,uMsg,wParam,lParam); 
     699  return DefWindowProcA(hwnd,uMsg,wParam,lParam); 
    698700}
    699701
     
    735737        if(hChildDlg)
    736738        {
    737                 ShowWindow(hChildDlg,SW_SHOW);
     739                ShowWindow(hChildDlg,SW_SHOW); 
    738740                return hChildDlg;
    739741        }
     
    751753        tmplate.cx = rectHwnd.right-rectHwnd.left;
    752754        tmplate.cy = rectHwnd.bottom-rectHwnd.top;
    753 
     755       
    754756        return CreateDialogIndirectParamA(fodInfos->ofnInfos.hInstance,&tmplate,hwnd,(DLGPROC)FileOpenDlgProcUserTemplate,(LPARAM)fodInfos);
    755757 }
     
    782784      }
    783785      return FALSE;
    784 
     786         
    785787    case WM_GETISHELLBROWSER:
    786788      return FILEDLG95_OnWMGetIShellBrowser(hwnd);
     
    806808  TRACE("\n");
    807809
    808   /* Adds the FileOpenDlgInfos in the property list of the dialog
     810  /* Adds the FileOpenDlgInfos in the property list of the dialog 
    809811     so it will be easily accessible through a GetPropA(...) */
    810812  SetPropA(hwnd, FileOpenDlgInfosStr, (HANDLE) fodInfos);
    811813
    812814#ifndef __WIN32OS2__
    813   /* Make sure the common control DLL is loaded */
     815  /* Make sure the common control DLL is loaded */     
    814816  InitCommonControls();
    815817#endif
     
    910912  }
    911913  /* Do not use the listview selection anymore */
    912 
    913   // @@@PH 1999/11/09
    914   if (fodInfos != NULL)
    915     fodInfos->DlgInfos.dwDlgProp &= ~FODPROP_USEVIEW;
    916 
    917   return 0;
     914  fodInfos->DlgInfos.dwDlgProp &= ~FODPROP_USEVIEW;
     915  return 0;
    918916}
    919917
     
    932930  SetWindowLongA(hwnd,DWL_MSGRESULT,(LONG)fodInfos->Shell.FOIShellBrowser);
    933931
    934   return TRUE;
     932  return TRUE; 
    935933}
    936934
     
    987985
    988986  /* Initialise the file name edit control */
    989   if(strlen(fodInfos->ofnInfos.lpstrFile))
     987  //SvL: Check pointer before calling strlen!
     988  if(fodInfos->ofnInfos.lpstrFile && strlen(fodInfos->ofnInfos.lpstrFile))
    990989  {
    991990      SetDlgItemTextA(hwnd,IDC_FILENAME,fodInfos->ofnInfos.lpstrFile);
     
    10121011 *
    10131012 * Ok button WM_COMMAND message handler
    1014  *
     1013 * 
    10151014 * If the function succeeds, the return value is nonzero.
    10161015 */
     
    10441043      char lpstrPathAndFile[MAX_PATH] = "";
    10451044
    1046       /* Separate the file spec from the path spec
    1047          e.g.:
     1045      /* Separate the file spec from the path spec 
     1046         e.g.: 
    10481047              lpstrSpecifiedByUser  lpstrPathSpec  lpstrFileSpec
    10491048              C:\TEXT1\TEXT2        C:\TEXT1          TEXT2
    1050       */
     1049      */     
    10511050      lpstrFileSpec = (LPSTR)COMDLG32_PathFindFilenameA(lpstrSpecifiedByUser);
    10521051      strcpy(lpstrPathSpec,lpstrSpecifiedByUser);
    10531052      COMDLG32_PathRemoveFileSpecA(lpstrPathSpec);
    1054 
     1053     
    10551054      /* Get the current directory name */
    10561055      COMDLG32_SHGetPathFromIDListA(fodInfos->ShellInfos.pidlAbsCurrent,
    10571056                                    lpstrCurrentDir);
    10581057
    1059       /* Create an absolute path name */
     1058      /* Create an absolute path name */ 
    10601059      if(lpstrSpecifiedByUser[1] != ':')
    10611060      {
     
    10731072                  strcpy(lpstrPathSpec,lpstrTmp);
    10741073              }
    1075               break;
    1076           /* Go to parent ..\TEXT */
     1074              break;           
     1075          /* Go to parent ..\TEXT */ 
    10771076          case '.':
    10781077              {
     
    10981097                  strcpy(lpstrPathSpec,lpstrTmp);
    10991098              }
    1100 
     1099                 
    11011100          } /* end switch */
    11021101      }
     
    11051104      {
    11061105          /* Browse to the right directory */
    1107           COMDLG32_SHGetDesktopFolder(&psfDesktop);
     1106          COMDLG32_SHGetDesktopFolder(&psfDesktop); 
    11081107          if((browsePidl = GetPidlFromName(psfDesktop,lpstrPathSpec)))
    11091108          {
     
    11261125              }
    11271126          }
    1128        
     1127         
    11291128          strcat(lpstrPathAndFile,lpstrPathSpec);
    11301129          IShellFolder_Release(psfDesktop);
     
    11381137      COMDLG32_PathAddBackslashA(lpstrPathAndFile);
    11391138      strcat(lpstrPathAndFile,lpstrFileSpec);
    1140 
     1139     
    11411140      /* Update the edit field */
    11421141      SetDlgItemTextA(hwnd,IDC_FILENAME,lpstrFileSpec);
    11431142      SendDlgItemMessageA(hwnd,IDC_FILENAME,EM_SETSEL,0,-1);
    1144 
     1143     
    11451144      /* Don't go further if we dont have a file spec */
    11461145      if(!strlen(lpstrFileSpec) || !strcmp(lpstrFileSpec,lpstrPathSpec))
    11471146          return FALSE;
    11481147
    1149       /* Time to check lpstrFileSpec         */
     1148      /* Time to check lpstrFileSpec         */ 
    11501149      /* search => contains * or ?           */
    11511150      /* browse => contains a directory name */
     
    11641163          lstrcpyAtoW(fodInfos->ShellInfos.lpstrCurrentFilter,
    11651164                      (LPSTR)strlwr((LPSTR)lpstrFileSpec));
    1166 
     1165     
    11671166      IShellView_Refresh(fodInfos->Shell.FOIShellView);
    11681167
     
    11791178    {
    11801179          ULONG  ulAttr = SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
    1181           IShellFolder_GetAttributesOf(fodInfos->Shell.FOIShellFolder,
    1182                                        1,
    1183                                        &browsePidl,
     1180          IShellFolder_GetAttributesOf(fodInfos->Shell.FOIShellFolder, 
     1181                                       1, 
     1182                                       &browsePidl, 
    11841183                                       &ulAttr);
    11851184
     
    12531252            return EndDialog(hwnd,TRUE);
    12541253        }
    1255         return FALSE;
     1254        return FALSE;       
    12561255      }
    12571256    }
     
    12641263          /* if the file has no extension, append the selected
    12651264             extension of the filetype combo box */
    1266           int iExt;
     1265          int iExt; 
    12671266          LPSTR lpstrExt;
    12681267          iExt = CBGetCurSel(fodInfos->DlgInfos.hwndFileTypeCB);
    12691268          lpstrTemp = (LPSTR) CBGetItemDataPtr(fodInfos->DlgInfos.hwndFileTypeCB,iExt);
    12701269
    1271           if((lpstrExt = strchr(lpstrTemp,';')))
    1272           {
    1273               int i = lpstrExt - lpstrTemp;
    1274               lpstrExt = MemAlloc(i);
    1275               strncpy(lpstrExt,&lpstrTemp[1],i-1);
    1276           }
    1277           else
    1278           {
    1279               lpstrExt = MemAlloc(strlen(lpstrTemp));
    1280               strcpy(lpstrExt,&lpstrTemp[1]);
    1281           }
    1282                
    1283           if(!strcmp(&lpstrExt[1],"*") && fodInfos->ofnInfos.lpstrDefExt)
    1284           {
    1285               lpstrExt = MemAlloc(strlen(fodInfos->ofnInfos.lpstrDefExt)+2);
    1286               strcat(lpstrExt,".");
    1287               strcat(lpstrExt,(LPSTR) fodInfos->ofnInfos.lpstrDefExt);
    1288           }
    1289           strcat(lpstrPathAndFile,lpstrExt);
     1270          //SvL: Check pointer first
     1271          if(lpstrTemp != (LPSTR)-1) {
     1272                if((lpstrExt = strchr(lpstrTemp,';')))
     1273                {
     1274                      int i = lpstrExt - lpstrTemp;
     1275                      lpstrExt = MemAlloc(i);
     1276                      strncpy(lpstrExt,&lpstrTemp[1],i-1);
     1277                }
     1278                else
     1279                {
     1280                      lpstrExt = MemAlloc(strlen(lpstrTemp));
     1281                      strcpy(lpstrExt,&lpstrTemp[1]);
     1282                }
     1283                 
     1284                if(!strcmp(&lpstrExt[1],"*") && fodInfos->ofnInfos.lpstrDefExt)
     1285                {
     1286                        lpstrExt = MemAlloc(strlen(fodInfos->ofnInfos.lpstrDefExt)+2);
     1287                        strcat(lpstrExt,".");
     1288                        strcat(lpstrExt,(LPSTR) fodInfos->ofnInfos.lpstrDefExt);
     1289                }
     1290                strcat(lpstrPathAndFile,lpstrExt);
     1291          }
    12901292      }
    12911293      /* Check that size size of the file does not exceed buffer size */
     
    13041306                  fodInfos->ofnInfos.nMaxFileTitle);
    13051307
    1306       /* Check if the file is to be opened as read only */     
     1308      /* Check if the file is to be opened as read only */           
    13071309      if(BST_CHECKED == SendDlgItemMessageA(hwnd,
    13081310                                            IDC_OPENREADONLY,
     
    13171319      fodInfos->ofnInfos.nFileExtension = lpstrTemp - fodInfos->ofnInfos.lpstrFile + 1;
    13181320
    1319 
     1321   
    13201322    /* clean and exit */
    13211323    FILEDLG95_Clean(hwnd);
     
    13381340
    13391341  /*
    1340    * Initialisation of the FileOpenDialogInfos structure
     1342   * Initialisation of the FileOpenDialogInfos structure 
    13411343   */
    13421344
     
    13581360
    13591361  /* Construct the IShellBrowser interface */
    1360   fodInfos->Shell.FOIShellBrowser = IShellBrowserImpl_Construct(hwnd);
    1361 
     1362  fodInfos->Shell.FOIShellBrowser = IShellBrowserImpl_Construct(hwnd); 
     1363   
    13621364  return NOERROR;
    13631365}
     
    14171419 *      FILEDLG95_SHELL_NewFolder
    14181420 *
    1419  * Creates a new directory with New folder as name
     1421 * Creates a new directory with New folder as name 
    14201422 * If the function succeeds, the return value is nonzero.
    14211423 * FIXME: let the contextmenu (CMDSTR_NEWFOLDER) do this thing
     
    14651467 *      FILEDLG95_FILETYPE_Init
    14661468 *
    1467  * Initialisation of the file type combo box
     1469 * Initialisation of the file type combo box 
    14681470 */
    14691471static HRESULT FILEDLG95_FILETYPE_Init(HWND hwnd)
     
    15001502      if(!lpstrExt)
    15011503          break;
    1502 
     1504     
    15031505      strcpy(lpstrExt,lpstrExtTmp);
    15041506
    15051507      iStrIndex += strlen(lpstrExt) +1;
    1506 
     1508           
    15071509      /* Add the item at the end of the combo */
    15081510      CBAddString(fodInfos->DlgInfos.hwndFileTypeCB,lpstrTmp);
     
    16121614
    16131615}
    1614 
     1616   
    16151617/***********************************************************************
    16161618 *      FILEDLG95_LOOKIN_Init
    16171619 *
    1618  * Initialisation of the look in combo box
     1620 * Initialisation of the look in combo box 
    16191621 */
    16201622static HRESULT FILEDLG95_LOOKIN_Init(HWND hwndCombo)
     
    17161718  {
    17171719    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1718                                                0,
    1719                                                &sfi,
    1720                                                sizeof (SHFILEINFOA),
    1721                                                SHGFI_PIDL | SHGFI_SMALLICON |
    1722                                                SHGFI_OPENICON | SHGFI_SYSICONINDEX    |
    1723                                                SHGFI_DISPLAYNAME );
     1720                                               0,   
     1721                                               &sfi,   
     1722                                               sizeof (SHFILEINFOA),   
     1723                                               SHGFI_PIDL | SHGFI_SMALLICON |   
     1724                                               SHGFI_OPENICON | SHGFI_SYSICONINDEX    | 
     1725                                               SHGFI_DISPLAYNAME );   
    17241726  }
    17251727  else
    17261728  {
    17271729    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1728                                                   0,
    1729                                                   &sfi,
     1730                                                  0, 
     1731                                                  &sfi, 
    17301732                                                  sizeof (SHFILEINFOA),
    1731                                                   SHGFI_PIDL | SHGFI_SMALLICON |
    1732                                                   SHGFI_SYSICONINDEX |
     1733                                                  SHGFI_PIDL | SHGFI_SMALLICON | 
     1734                                                  SHGFI_SYSICONINDEX | 
    17331735                                                  SHGFI_DISPLAYNAME);
    17341736  }
     
    17531755    iIndentation = 0;
    17541756    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1755                                                 0,
    1756                                                 &sfi,
    1757                                                 sizeof (SHFILEINFOA),
    1758                                                 SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_OPENICON
     1757                                                0, 
     1758                                                &sfi, 
     1759                                                sizeof (SHFILEINFOA), 
     1760                                                SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_OPENICON 
    17591761                                                | SHGFI_SYSICONINDEX | SHGFI_DISPLAYNAME  );
    17601762
     
    17781780  rectText.bottom = pDIStruct->rcItem.bottom;
    17791781
    1780 
     1782 
    17811783  /* Draw the icon from the image list */
    17821784  COMDLG32_ImageList_Draw(ilItemImage,
    17831785                 sfi.iIcon,
    1784                  pDIStruct->hDC,
    1785                  rectIcon.left,
    1786                  rectIcon.top,
    1787                  ILD_TRANSPARENT );
     1786                 pDIStruct->hDC, 
     1787                 rectIcon.left, 
     1788                 rectIcon.top, 
     1789                 ILD_TRANSPARENT ); 
    17881790
    17891791  /* Draw the associated text */
     
    18121814    {
    18131815      LPSFOLDER tmpFolder;
    1814       int iItem;
     1816      int iItem; 
    18151817
    18161818      iItem = CBGetCurSel(fodInfos->DlgInfos.hwndLookInCB);
     
    18291831      break;
    18301832    }
    1831 
     1833     
    18321834  }
    18331835  return FALSE;
     
    18511853  if(!(liInfos = (LookInInfos *)GetPropA(hwnd,LookInInfosStr)))
    18521854    return -1;
    1853 
     1855   
    18541856  tmpFolder->m_iIndent = 0;
    18551857
     
    18681870  if(tmpFolder->m_iIndent > liInfos->iMaxIndentation)
    18691871    liInfos->iMaxIndentation = tmpFolder->m_iIndent;
    1870 
     1872 
    18711873  COMDLG32_SHGetFileInfoA((LPSTR)pidl,
    18721874                  0,
    18731875                  &sfi,
    18741876                  sizeof(sfi),
    1875                   SHGFI_DISPLAYNAME | SHGFI_SYSICONINDEX
     1877                  SHGFI_DISPLAYNAME | SHGFI_SYSICONINDEX 
    18761878                  | SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_ATTRIBUTES);
    18771879
     
    19021904 *      FILEDLG95_LOOKIN_InsertItemAfterParent
    19031905 *
    1904  * Insert an item below its parent
     1906 * Insert an item below its parent 
    19051907 */
    19061908static int FILEDLG95_LOOKIN_InsertItemAfterParent(HWND hwnd,LPITEMIDLIST pidl)
    19071909{
    1908 
     1910 
    19091911  LPITEMIDLIST pidlParent = GetParentPidl(pidl);
    19101912  int iParentPos;
     
    19611963    }
    19621964  }
    1963 
     1965 
    19641966  CBSetCurSel(hwnd,iItemPos);
    19651967  liInfos->uSelectedItem = iItemPos;
     
    20552057 *      GetName
    20562058 *
    2057  * Get the pidl's display name (relative to folder) and
     2059 * Get the pidl's display name (relative to folder) and 
    20582060 * put it in lpstrFileName.
    2059  *
     2061 * 
    20602062 * Return NOERROR on success,
    20612063 * E_FAIL otherwise
     
    20802082  /* Get the display name of the pidl relative to the folder */
    20812083  if (SUCCEEDED(hRes = IShellFolder_GetDisplayNameOf(lpsf,
    2082                                                      pidl,
    2083                                                      dwFlags,
     2084                                                     pidl, 
     2085                                                     dwFlags, 
    20842086                                                     &str)))
    20852087  {
     
    20922094 *      GetShellFolderFromPidl
    20932095 *
    2094  * pidlRel is the item pidl relative
     2096 * pidlRel is the item pidl relative 
    20952097 * Return the IShellFolder of the absolute pidl
    20962098 */
     
    21312133  pidlParent = COMDLG32_PIDL_ILClone(pidl);
    21322134  COMDLG32_PIDL_ILRemoveLastID(pidlParent);
    2133 
     2135     
    21342136  return pidlParent;
    21352137}
     
    21382140 *      GetPidlFromName
    21392141 *
    2140  * returns the pidl of the file name relative to folder
     2142 * returns the pidl of the file name relative to folder 
    21412143 * NULL if an error occured
    21422144 */
     
    21522154  if(!lpcstrFileName)
    21532155    return NULL;
    2154 
     2156   
    21552157  MultiByteToWideChar(CP_ACP,
    2156                       MB_PRECOMPOSED,
    2157                       lpcstrFileName,
    2158                       -1,
    2159                       (LPWSTR)lpwstrDirName,
    2160                       MAX_PATH);
     2158                      MB_PRECOMPOSED,   
     2159                      lpcstrFileName, 
     2160                      -1, 
     2161                      (LPWSTR)lpwstrDirName, 
     2162                      MAX_PATH); 
    21612163
    21622164  IShellFolder_ParseDisplayName(psf,                                0,
     
    21652167                                             &ulEaten,
    21662168                                             &pidl,
    2167                                 NULL);
     2169                                NULL);   
    21682170
    21692171    return pidl;
Note: See TracChangeset for help on using the changeset viewer.