Ignore:
Timestamp:
Oct 11, 2001, 4:13:18 AM (24 years ago)
Author:
phaller
Message:

performance improvement

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/shell32/shlfolder.c

    r6776 r7012  
    3636
    3737
     38/****************************************************************************
     39 * local prototypes
     40 ****************************************************************************/
     41
     42DWORD        _Optlink ODIN_ILFree       (LPITEMIDLIST pidl);
     43LPITEMIDLIST _Optlink ODIN_ILCombine    (LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2);
     44LPITEMIDLIST _Optlink ODIN_ILClone      (LPCITEMIDLIST pidl);
     45LPITEMIDLIST _Optlink ODIN_ILCloneFirst (LPCITEMIDLIST pidl);
     46
     47
    3848/***************************************************************************
    3949 * debughelper: print out the return adress
     
    119129          IShellFolder_Release(psfChild);
    120130
    121           pidlTemp = ILCombine(*pidlInOut, pidlOut);
     131          pidlTemp = ODIN_ILCombine(*pidlInOut, pidlOut);
    122132
    123133          if (pidlOut)
    124             ILFree(pidlOut);
    125         }
    126 
    127         ILFree(*pidlInOut);
     134            ODIN_ILFree(pidlOut);
     135        }
     136
     137        ODIN_ILFree(*pidlInOut);
    128138        *pidlInOut = pidlTemp;
    129139
     
    160170          if (SUCCEEDED(hr))
    161171          {
    162             absPidl = ILCombine (pidlRoot, pidlChild);
     172            absPidl = ODIN_ILCombine (pidlRoot, pidlChild);
    163173            hr = IPersistFolder_Initialize(pPersistFolder, absPidl);
    164174            IPersistFolder_Release(pPersistFolder);
     
    187197        pdump(pidl);
    188198       
    189         if ((pidlFirst = ILCloneFirst(pidl)))
     199        if ((pidlFirst = ODIN_ILCloneFirst(pidl)))
    190200        {
    191201          hr = IShellFolder_BindToObject(psf, pidlFirst, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
     
    202212            IShellFolder_Release(psfChild);
    203213          }
    204           ILFree(pidlFirst);
     214          ODIN_ILFree(pidlFirst);
    205215        }
    206216
     
    518528          int len;
    519529
    520           sf->absPidl = ILCombine(This->absPidl, pidl); /* build a absolute pidl */
     530          sf->absPidl = ODIN_ILCombine(This->absPidl, pidl);    /* build a absolute pidl */
    521531
    522532          if (!_ILIsSpecialFolder(pidl))                                /* only file system paths */
     
    752762             && SUCCEEDED(IShellFolder_QueryInterface(pShellFolder, &IID_IPersistFolder, (LPVOID*)&pPersistFolder)))
    753763            {
    754               absPidl = ILCombine (This->absPidl, pidl);
     764              absPidl = ODIN_ILCombine (This->absPidl, pidl);
    755765              IPersistFolder_Initialize(pPersistFolder, absPidl);
    756766              IPersistFolder_Release(pPersistFolder);
     
    764774        else if(_ILIsFolder(pidl))
    765775        {
    766           LPITEMIDLIST pidltemp = ILCloneFirst(pidl);
     776          LPITEMIDLIST pidltemp = ODIN_ILCloneFirst(pidl);
    767777          pShellFolder = IShellFolder_Constructor(iface, pidltemp);
    768           ILFree(pidltemp);
     778          ODIN_ILFree(pidltemp);
    769779        }
    770780        else
     
    888898              if (pidl1 && pidl1->mkid.cb)              /* go deeper? */       
    889899              {
    890                 pidlTemp = ILCloneFirst(pidl1);
     900                pidlTemp = ODIN_ILCloneFirst(pidl1);
    891901                pidl2 = ILGetNext(pidl2);
    892902       
     
    898908                  hr = ResultFromShort(nReturn);
    899909                }
    900                 ILFree(pidlTemp);
     910                ODIN_ILFree(pidlTemp);
    901911              }
    902912              else
     
    10541064          else if (IsEqualIID(riid, &IID_IExtractIconA) && (cidl == 1))
    10551065          {
    1056             pidl = ILCombine(This->absPidl,apidl[0]);
     1066            pidl = ODIN_ILCombine(This->absPidl,apidl[0]);
    10571067            pObj = (LPUNKNOWN)IExtractIconA_Constructor( pidl );
    10581068            SHFree(pidl);
     
    14641474          pidlitem = SHSimpleIDListFromPathA(lpstrNewDir);
    14651475
    1466           pidl = ILCombine(This->absPidl, pidlitem);
     1476          pidl = ODIN_ILCombine(This->absPidl, pidlitem);
    14671477          SHChangeNotifyA(SHCNE_MKDIR, SHCNF_IDLIST, pidl, NULL);
    14681478          SHFree(pidl);
     
    15291539              return E_FAIL;
    15301540            }
    1531             pidl = ILCombine(This->absPidl, apidl[i]);
     1541            pidl = ODIN_ILCombine(This->absPidl, apidl[i]);
    15321542            SHChangeNotifyA(SHCNE_RMDIR, SHCNF_IDLIST, pidl, NULL);
    15331543            SHFree(pidl);
     
    15431553              return E_FAIL;
    15441554            }
    1545             pidl = ILCombine(This->absPidl, apidl[i]);
     1555            pidl = ODIN_ILCombine(This->absPidl, apidl[i]);
    15461556            SHChangeNotifyA(SHCNE_DELETE, SHCNF_IDLIST, pidl, NULL);
    15471557            SHFree(pidl);
     
    17961806          /* combine pidls */
    17971807          SHGetSpecialFolderLocation(0, CSIDL_DESKTOPDIRECTORY, &deskpidl);
    1798           firstpidl = ILCloneFirst(pidl);
    1799           completepidl = ILCombine(deskpidl, firstpidl);
     1808          firstpidl = ODIN_ILCloneFirst(pidl);
     1809          completepidl = ODIN_ILCombine(deskpidl, firstpidl);
    18001810
    18011811          pShellFolder = IShellFolder_Constructor(NULL, NULL);
     
    18051815            IPersistFolder_Release(ppf);
    18061816          }
    1807           ILFree(completepidl);
    1808           ILFree(deskpidl);
    1809           ILFree(firstpidl);
     1817          ODIN_ILFree(completepidl);
     1818          ODIN_ILFree(deskpidl);
     1819          ODIN_ILFree(firstpidl);
    18101820        }
    18111821       
     
    22282238          if (!_ILIsDrive(pidl)) return E_INVALIDARG;
    22292239
    2230           pidltemp = ILCloneFirst(pidl);
     2240          pidltemp = ODIN_ILCloneFirst(pidl);
    22312241          pShellFolder = IShellFolder_Constructor(iface, pidltemp);
    2232           ILFree(pidltemp);
     2242          ODIN_ILFree(pidltemp);
    22332243        }
    22342244
Note: See TracChangeset for help on using the changeset viewer.