Changeset 1677 for trunk/src


Ignore:
Timestamp:
Nov 9, 1999, 11:38:57 PM (26 years ago)
Author:
phaller
Message:

Fix: fixes in file open dialogs

Location:
trunk/src/comdlg32
Files:
2 edited

Legend:

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

    r1556 r1677  
    1 /* $Id: comdlg32.cpp,v 1.17 1999-11-02 20:37:42 sandervl Exp $ */
     1/* $Id: comdlg32.cpp,v 1.18 1999-11-09 22:38:57 phaller Exp $ */
    22
    33/*
     
    2525#include <win32wnd.h>
    2626
    27 ODINDEBUGCHANNEL(COMDLG32)
     27ODINDEBUGCHANNEL(COMDLG32-COMDLG32)
    2828
    2929#if 0
     
    8787  COMDLG32_CHECKHOOK(lpofn, OFN_ENABLEHOOK, WNDPROC)
    8888
     89  //@@@PH 1999/11/09 needs to be fixed
    8990  return(O32_GetSaveFileName(lpofn));
    9091}
     
    175176  ofn.lpstrCustomFilter = szCustFilter;
    176177
    177   COMDLG32_CHECKHOOK((&ofn), OFN_ENABLEHOOK, WNDPROC)
    178 
    179   bResult =  O32_GetSaveFileName(&ofn);
     178  // call ascii variant of function
     179  // @@@PH switch to ODIN_GetSaveFileNameA later
     180  bResult = GetSaveFileNameA(&ofn);
    180181
    181182  if (ofn.lpTemplateName    != NULL) FreeAsciiString((char*)ofn.lpTemplateName);
     
    230231  Win32WindowProc *wndproc;
    231232
    232   if(lpofn->Flags & (OFN_ENABLETEMPLATE|OFN_ENABLETEMPLATEHANDLE)) {
    233         return GetFileDialog95A(lpofn, OPEN_DIALOG);
     233  if(lpofn->Flags & (OFN_ENABLETEMPLATE|OFN_ENABLETEMPLATEHANDLE))
     234  {
     235    return GetFileDialog95A(lpofn, OPEN_DIALOG);
    234236  }
    235237  COMDLG32_CHECKHOOK(lpofn, OFN_ENABLEHOOK, WNDPROC)
    236238
     239  //@@@PH 1999/11/09 needs to be fixed
    237240  return(O32_GetOpenFileName(lpofn));
    238241}
     
    323326  ofn.lpstrCustomFilter = szCustFilter;
    324327
    325   COMDLG32_CHECKHOOK((&ofn), OFN_ENABLEHOOK, WNDPROC)
    326 
    327   bResult =  O32_GetOpenFileName(&ofn);
     328  // call ascii variant of function
     329  // @@@PH switch to ODIN_GetOpenFileNameA later
     330  bResult = GetOpenFileNameA(&ofn);
    328331
    329332  if (ofn.lpTemplateName    != NULL) FreeAsciiString((char*)ofn.lpTemplateName);
  • trunk/src/comdlg32/filedlg95.cpp

    r1556 r1677  
    1 /* $Id: filedlg95.cpp,v 1.2 1999-11-02 20:37:42 sandervl Exp $ */
     1/* $Id: filedlg95.cpp,v 1.3 1999-11-09 22:38:57 phaller 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);
     
    353353  /* Initialise the dialog property */
    354354  fodInfos->DlgInfos.dwDlgProp = 0;
    355  
     355
    356356  switch(iDlgType)
    357357  {
     
    382382      MemFree((LPVOID)(fodInfos->ofnInfos.lpstrCustomFilter));
    383383
    384   if (fodInfos->ofnInfos.lpstrFile) 
     384  if (fodInfos->ofnInfos.lpstrFile)
    385385    {
    386386      strcpy(ofn->lpstrFile,fodInfos->ofnInfos.lpstrFile);
    387387      MemFree((LPVOID)fodInfos->ofnInfos.lpstrFile);
    388388    }
    389   if (fodInfos->ofnInfos.lpstrFileTitle) 
     389  if (fodInfos->ofnInfos.lpstrFileTitle)
    390390    {
    391391      if (ofn->lpstrFileTitle)
     
    427427    /* filter is a list...  title\0ext\0......\0\0 */
    428428    s = (LPWSTR)ofn->lpstrFilter;
    429    
     429
    430430    while (*s)
    431431      s = s+lstrlenW(s)+1;
     
    491491  fodInfos->ofnInfos.lCustData = ofn->lCustData;
    492492  fodInfos->ofnInfos.lpfnHook = (LPOFNHOOKPROC)ofn->lpfnHook;
    493   if (ofn->lpTemplateName) 
    494   { 
     493  if (ofn->lpTemplateName)
     494  {
    495495    fodInfos->ofnInfos.lpTemplateName = (LPSTR)MemAlloc(lstrlenW(ofn->lpTemplateName)+1);
    496496    lstrcpyWtoA((LPSTR)fodInfos->ofnInfos.lpTemplateName,(LPWSTR)ofn->lpTemplateName);
     
    498498  /* Initialise the dialog property */
    499499  fodInfos->DlgInfos.dwDlgProp = 0;
    500  
     500
    501501  switch(iDlgType)
    502502  {
     
    511511      ret = 0;
    512512  }
    513      
     513
    514514  /* Cleaning */
    515515  ofn->nFileOffset = fodInfos->ofnInfos.nFileOffset;
     
    625625                        if(rectCtrl.top > rectStc32.top)
    626626                        {
    627                                  
     627
    628628                                if(ptMoveCtl.x > 0)
    629629                                        rectCtrl.left += ptMoveCtl.x;
    630630                                rectCtrl.top  += ptMoveCtl.y;
    631                                 handle = DeferWindowPos(handle, hwndChild, 0, rectCtrl.left, rectCtrl.top, 
     631                                handle = DeferWindowPos(handle, hwndChild, 0, rectCtrl.left, rectCtrl.top,
    632632                                rectCtrl.right-rectCtrl.left,rectCtrl.bottom-rectCtrl.top,
    633633                                SWP_NOSIZE | SWP_NOZORDER );
     
    662662                                        rectCtrl.top += ptMoveCtl.y;
    663663
    664                                         handle = DeferWindowPos(        handle, hwndChild, 0, rectCtrl.left, rectCtrl.top, 
     664                                        handle = DeferWindowPos(        handle, hwndChild, 0, rectCtrl.left, rectCtrl.top,
    665665                                        rectCtrl.right-rectCtrl.left,rectCtrl.bottom-rectCtrl.top,
    666666                                        SWP_NOSIZE |SWP_NOZORDER );
     
    682682  {
    683683        case WM_INITDIALOG:
    684         {         
     684        {
    685685                FileOpenDlgInfos *fodInfos = (FileOpenDlgInfos *)lParam;
    686686                procUserHook=NULL;
     
    694694        } }
    695695 if(procUserHook)
    696       return CallWindowProcA(procUserHook,hwnd,uMsg,wParam,lParam); 
    697   return DefWindowProcA(hwnd,uMsg,wParam,lParam); 
     696      return CallWindowProcA(procUserHook,hwnd,uMsg,wParam,lParam);
     697  return DefWindowProcA(hwnd,uMsg,wParam,lParam);
    698698}
    699699
     
    735735        if(hChildDlg)
    736736        {
    737                 ShowWindow(hChildDlg,SW_SHOW); 
     737                ShowWindow(hChildDlg,SW_SHOW);
    738738                return hChildDlg;
    739739        }
     
    751751        tmplate.cx = rectHwnd.right-rectHwnd.left;
    752752        tmplate.cy = rectHwnd.bottom-rectHwnd.top;
    753        
     753
    754754        return CreateDialogIndirectParamA(fodInfos->ofnInfos.hInstance,&tmplate,hwnd,(DLGPROC)FileOpenDlgProcUserTemplate,(LPARAM)fodInfos);
    755755 }
     
    782782      }
    783783      return FALSE;
    784          
     784
    785785    case WM_GETISHELLBROWSER:
    786786      return FILEDLG95_OnWMGetIShellBrowser(hwnd);
     
    806806  TRACE("\n");
    807807
    808   /* Adds the FileOpenDlgInfos in the property list of the dialog 
     808  /* Adds the FileOpenDlgInfos in the property list of the dialog
    809809     so it will be easily accessible through a GetPropA(...) */
    810810  SetPropA(hwnd, FileOpenDlgInfosStr, (HANDLE) fodInfos);
    811811
    812812#ifndef __WIN32OS2__
    813   /* Make sure the common control DLL is loaded */     
     813  /* Make sure the common control DLL is loaded */
    814814  InitCommonControls();
    815815#endif
     
    910910  }
    911911  /* Do not use the listview selection anymore */
    912   fodInfos->DlgInfos.dwDlgProp &= ~FODPROP_USEVIEW;
    913   return 0;
     912
     913  // @@@PH 1999/11/09
     914  if (fodInfos != NULL)
     915    fodInfos->DlgInfos.dwDlgProp &= ~FODPROP_USEVIEW;
     916
     917  return 0;
    914918}
    915919
     
    928932  SetWindowLongA(hwnd,DWL_MSGRESULT,(LONG)fodInfos->Shell.FOIShellBrowser);
    929933
    930   return TRUE; 
     934  return TRUE;
    931935}
    932936
     
    10081012 *
    10091013 * Ok button WM_COMMAND message handler
    1010  * 
     1014 *
    10111015 * If the function succeeds, the return value is nonzero.
    10121016 */
     
    10401044      char lpstrPathAndFile[MAX_PATH] = "";
    10411045
    1042       /* Separate the file spec from the path spec 
    1043          e.g.: 
     1046      /* Separate the file spec from the path spec
     1047         e.g.:
    10441048              lpstrSpecifiedByUser  lpstrPathSpec  lpstrFileSpec
    10451049              C:\TEXT1\TEXT2        C:\TEXT1          TEXT2
    1046       */     
     1050      */
    10471051      lpstrFileSpec = (LPSTR)COMDLG32_PathFindFilenameA(lpstrSpecifiedByUser);
    10481052      strcpy(lpstrPathSpec,lpstrSpecifiedByUser);
    10491053      COMDLG32_PathRemoveFileSpecA(lpstrPathSpec);
    1050      
     1054
    10511055      /* Get the current directory name */
    10521056      COMDLG32_SHGetPathFromIDListA(fodInfos->ShellInfos.pidlAbsCurrent,
    10531057                                    lpstrCurrentDir);
    10541058
    1055       /* Create an absolute path name */ 
     1059      /* Create an absolute path name */
    10561060      if(lpstrSpecifiedByUser[1] != ':')
    10571061      {
     
    10691073                  strcpy(lpstrPathSpec,lpstrTmp);
    10701074              }
    1071               break;           
    1072           /* Go to parent ..\TEXT */ 
     1075              break;
     1076          /* Go to parent ..\TEXT */
    10731077          case '.':
    10741078              {
     
    10941098                  strcpy(lpstrPathSpec,lpstrTmp);
    10951099              }
    1096                  
     1100
    10971101          } /* end switch */
    10981102      }
     
    11011105      {
    11021106          /* Browse to the right directory */
    1103           COMDLG32_SHGetDesktopFolder(&psfDesktop); 
     1107          COMDLG32_SHGetDesktopFolder(&psfDesktop);
    11041108          if((browsePidl = GetPidlFromName(psfDesktop,lpstrPathSpec)))
    11051109          {
     
    11221126              }
    11231127          }
    1124          
     1128       
    11251129          strcat(lpstrPathAndFile,lpstrPathSpec);
    11261130          IShellFolder_Release(psfDesktop);
     
    11341138      COMDLG32_PathAddBackslashA(lpstrPathAndFile);
    11351139      strcat(lpstrPathAndFile,lpstrFileSpec);
    1136      
     1140
    11371141      /* Update the edit field */
    11381142      SetDlgItemTextA(hwnd,IDC_FILENAME,lpstrFileSpec);
    11391143      SendDlgItemMessageA(hwnd,IDC_FILENAME,EM_SETSEL,0,-1);
    1140      
     1144
    11411145      /* Don't go further if we dont have a file spec */
    11421146      if(!strlen(lpstrFileSpec) || !strcmp(lpstrFileSpec,lpstrPathSpec))
    11431147          return FALSE;
    11441148
    1145       /* Time to check lpstrFileSpec         */ 
     1149      /* Time to check lpstrFileSpec         */
    11461150      /* search => contains * or ?           */
    11471151      /* browse => contains a directory name */
     
    11601164          lstrcpyAtoW(fodInfos->ShellInfos.lpstrCurrentFilter,
    11611165                      (LPSTR)strlwr((LPSTR)lpstrFileSpec));
    1162      
     1166
    11631167      IShellView_Refresh(fodInfos->Shell.FOIShellView);
    11641168
     
    11751179    {
    11761180          ULONG  ulAttr = SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
    1177           IShellFolder_GetAttributesOf(fodInfos->Shell.FOIShellFolder, 
    1178                                        1, 
    1179                                        &browsePidl, 
     1181          IShellFolder_GetAttributesOf(fodInfos->Shell.FOIShellFolder,
     1182                                       1,
     1183                                       &browsePidl,
    11801184                                       &ulAttr);
    11811185
     
    12491253            return EndDialog(hwnd,TRUE);
    12501254        }
    1251         return FALSE;       
     1255        return FALSE;
    12521256      }
    12531257    }
     
    12601264          /* if the file has no extension, append the selected
    12611265             extension of the filetype combo box */
    1262           int iExt; 
     1266          int iExt;
    12631267          LPSTR lpstrExt;
    12641268          iExt = CBGetCurSel(fodInfos->DlgInfos.hwndFileTypeCB);
     
    12761280              strcpy(lpstrExt,&lpstrTemp[1]);
    12771281          }
    1278                  
     1282               
    12791283          if(!strcmp(&lpstrExt[1],"*") && fodInfos->ofnInfos.lpstrDefExt)
    12801284          {
     
    13001304                  fodInfos->ofnInfos.nMaxFileTitle);
    13011305
    1302       /* Check if the file is to be opened as read only */           
     1306      /* Check if the file is to be opened as read only */     
    13031307      if(BST_CHECKED == SendDlgItemMessageA(hwnd,
    13041308                                            IDC_OPENREADONLY,
     
    13131317      fodInfos->ofnInfos.nFileExtension = lpstrTemp - fodInfos->ofnInfos.lpstrFile + 1;
    13141318
    1315    
     1319
    13161320    /* clean and exit */
    13171321    FILEDLG95_Clean(hwnd);
     
    13341338
    13351339  /*
    1336    * Initialisation of the FileOpenDialogInfos structure 
     1340   * Initialisation of the FileOpenDialogInfos structure
    13371341   */
    13381342
     
    13541358
    13551359  /* Construct the IShellBrowser interface */
    1356   fodInfos->Shell.FOIShellBrowser = IShellBrowserImpl_Construct(hwnd); 
    1357    
     1360  fodInfos->Shell.FOIShellBrowser = IShellBrowserImpl_Construct(hwnd);
     1361
    13581362  return NOERROR;
    13591363}
     
    14131417 *      FILEDLG95_SHELL_NewFolder
    14141418 *
    1415  * Creates a new directory with New folder as name 
     1419 * Creates a new directory with New folder as name
    14161420 * If the function succeeds, the return value is nonzero.
    14171421 * FIXME: let the contextmenu (CMDSTR_NEWFOLDER) do this thing
     
    14611465 *      FILEDLG95_FILETYPE_Init
    14621466 *
    1463  * Initialisation of the file type combo box 
     1467 * Initialisation of the file type combo box
    14641468 */
    14651469static HRESULT FILEDLG95_FILETYPE_Init(HWND hwnd)
     
    14961500      if(!lpstrExt)
    14971501          break;
    1498      
     1502
    14991503      strcpy(lpstrExt,lpstrExtTmp);
    15001504
    15011505      iStrIndex += strlen(lpstrExt) +1;
    1502            
     1506
    15031507      /* Add the item at the end of the combo */
    15041508      CBAddString(fodInfos->DlgInfos.hwndFileTypeCB,lpstrTmp);
     
    16081612
    16091613}
    1610    
     1614
    16111615/***********************************************************************
    16121616 *      FILEDLG95_LOOKIN_Init
    16131617 *
    1614  * Initialisation of the look in combo box 
     1618 * Initialisation of the look in combo box
    16151619 */
    16161620static HRESULT FILEDLG95_LOOKIN_Init(HWND hwndCombo)
     
    17121716  {
    17131717    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1714                                                0,   
    1715                                                &sfi,   
    1716                                                sizeof (SHFILEINFOA),   
    1717                                                SHGFI_PIDL | SHGFI_SMALLICON |   
    1718                                                SHGFI_OPENICON | SHGFI_SYSICONINDEX    | 
    1719                                                SHGFI_DISPLAYNAME );   
     1718                                               0,
     1719                                               &sfi,
     1720                                               sizeof (SHFILEINFOA),
     1721                                               SHGFI_PIDL | SHGFI_SMALLICON |
     1722                                               SHGFI_OPENICON | SHGFI_SYSICONINDEX    |
     1723                                               SHGFI_DISPLAYNAME );
    17201724  }
    17211725  else
    17221726  {
    17231727    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1724                                                   0, 
    1725                                                   &sfi, 
     1728                                                  0,
     1729                                                  &sfi,
    17261730                                                  sizeof (SHFILEINFOA),
    1727                                                   SHGFI_PIDL | SHGFI_SMALLICON | 
    1728                                                   SHGFI_SYSICONINDEX | 
     1731                                                  SHGFI_PIDL | SHGFI_SMALLICON |
     1732                                                  SHGFI_SYSICONINDEX |
    17291733                                                  SHGFI_DISPLAYNAME);
    17301734  }
     
    17491753    iIndentation = 0;
    17501754    ilItemImage = (HIMAGELIST) COMDLG32_SHGetFileInfoA ((LPCSTR) tmpFolder->pidlItem,
    1751                                                 0, 
    1752                                                 &sfi, 
    1753                                                 sizeof (SHFILEINFOA), 
    1754                                                 SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_OPENICON 
     1755                                                0,
     1756                                                &sfi,
     1757                                                sizeof (SHFILEINFOA),
     1758                                                SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_OPENICON
    17551759                                                | SHGFI_SYSICONINDEX | SHGFI_DISPLAYNAME  );
    17561760
     
    17741778  rectText.bottom = pDIStruct->rcItem.bottom;
    17751779
    1776  
     1780
    17771781  /* Draw the icon from the image list */
    17781782  COMDLG32_ImageList_Draw(ilItemImage,
    17791783                 sfi.iIcon,
    1780                  pDIStruct->hDC, 
    1781                  rectIcon.left, 
    1782                  rectIcon.top, 
    1783                  ILD_TRANSPARENT ); 
     1784                 pDIStruct->hDC,
     1785                 rectIcon.left,
     1786                 rectIcon.top,
     1787                 ILD_TRANSPARENT );
    17841788
    17851789  /* Draw the associated text */
     
    18081812    {
    18091813      LPSFOLDER tmpFolder;
    1810       int iItem; 
     1814      int iItem;
    18111815
    18121816      iItem = CBGetCurSel(fodInfos->DlgInfos.hwndLookInCB);
     
    18251829      break;
    18261830    }
    1827      
     1831
    18281832  }
    18291833  return FALSE;
     
    18471851  if(!(liInfos = (LookInInfos *)GetPropA(hwnd,LookInInfosStr)))
    18481852    return -1;
    1849    
     1853
    18501854  tmpFolder->m_iIndent = 0;
    18511855
     
    18641868  if(tmpFolder->m_iIndent > liInfos->iMaxIndentation)
    18651869    liInfos->iMaxIndentation = tmpFolder->m_iIndent;
    1866  
     1870
    18671871  COMDLG32_SHGetFileInfoA((LPSTR)pidl,
    18681872                  0,
    18691873                  &sfi,
    18701874                  sizeof(sfi),
    1871                   SHGFI_DISPLAYNAME | SHGFI_SYSICONINDEX 
     1875                  SHGFI_DISPLAYNAME | SHGFI_SYSICONINDEX
    18721876                  | SHGFI_PIDL | SHGFI_SMALLICON | SHGFI_ATTRIBUTES);
    18731877
     
    18981902 *      FILEDLG95_LOOKIN_InsertItemAfterParent
    18991903 *
    1900  * Insert an item below its parent 
     1904 * Insert an item below its parent
    19011905 */
    19021906static int FILEDLG95_LOOKIN_InsertItemAfterParent(HWND hwnd,LPITEMIDLIST pidl)
    19031907{
    1904  
     1908
    19051909  LPITEMIDLIST pidlParent = GetParentPidl(pidl);
    19061910  int iParentPos;
     
    19571961    }
    19581962  }
    1959  
     1963
    19601964  CBSetCurSel(hwnd,iItemPos);
    19611965  liInfos->uSelectedItem = iItemPos;
     
    20512055 *      GetName
    20522056 *
    2053  * Get the pidl's display name (relative to folder) and 
     2057 * Get the pidl's display name (relative to folder) and
    20542058 * put it in lpstrFileName.
    2055  * 
     2059 *
    20562060 * Return NOERROR on success,
    20572061 * E_FAIL otherwise
     
    20762080  /* Get the display name of the pidl relative to the folder */
    20772081  if (SUCCEEDED(hRes = IShellFolder_GetDisplayNameOf(lpsf,
    2078                                                      pidl, 
    2079                                                      dwFlags, 
     2082                                                     pidl,
     2083                                                     dwFlags,
    20802084                                                     &str)))
    20812085  {
     
    20882092 *      GetShellFolderFromPidl
    20892093 *
    2090  * pidlRel is the item pidl relative 
     2094 * pidlRel is the item pidl relative
    20912095 * Return the IShellFolder of the absolute pidl
    20922096 */
     
    21272131  pidlParent = COMDLG32_PIDL_ILClone(pidl);
    21282132  COMDLG32_PIDL_ILRemoveLastID(pidlParent);
    2129      
     2133
    21302134  return pidlParent;
    21312135}
     
    21342138 *      GetPidlFromName
    21352139 *
    2136  * returns the pidl of the file name relative to folder 
     2140 * returns the pidl of the file name relative to folder
    21372141 * NULL if an error occured
    21382142 */
     
    21482152  if(!lpcstrFileName)
    21492153    return NULL;
    2150    
     2154
    21512155  MultiByteToWideChar(CP_ACP,
    2152                       MB_PRECOMPOSED,   
    2153                       lpcstrFileName, 
    2154                       -1, 
    2155                       (LPWSTR)lpwstrDirName, 
    2156                       MAX_PATH); 
     2156                      MB_PRECOMPOSED,
     2157                      lpcstrFileName,
     2158                      -1,
     2159                      (LPWSTR)lpwstrDirName,
     2160                      MAX_PATH);
    21572161
    21582162  IShellFolder_ParseDisplayName(psf,                                0,
     
    21612165                                             &ulEaten,
    21622166                                             &pidl,
    2163                                 NULL);   
     2167                                NULL);
    21642168
    21652169    return pidl;
Note: See TracChangeset for help on using the changeset viewer.