Changelog: * return S_FALSE only in Next(), if no item could be fetched If less items as "celt" could be fetched, just return S_OK and the number of successfull fetched items Index: enumidlist.c =================================================================== RCS file: /home/wine/wine/dlls/shell32/enumidlist.c,v retrieving revision 1.29 diff -u -r1.29 enumidlist.c --- enumidlist.c 10 Apr 2003 18:17:34 -0000 1.29 +++ enumidlist.c 21 Jul 2003 22:48:23 -0000 @@ -443,11 +443,14 @@ { return E_INVALIDARG; } + if(celt > 0 && !This->mpCurrent) + { return S_FALSE; + } + for(i = 0; i < celt; i++) { if(!(This->mpCurrent)) - { hr = S_FALSE; break; - } + temp = ILClone(This->mpCurrent->pidl); rgelt[i] = temp; This->mpCurrent = This->mpCurrent->pNext; -- Martin Fuchs martin-fuchs@gmx.net