Peter Oberndorfer : comctl32: EnumMRUListA/ W fix getting list size by negative item pos.

Alexandre Julliard julliard at winehq.org
Thu Dec 6 08:26:49 CST 2007


Module: wine
Branch: master
Commit: 429d0d3eb330562648f5d0b609101e5252d0ddbc
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=429d0d3eb330562648f5d0b609101e5252d0ddbc

Author: Peter Oberndorfer <kumbayo84 at arcor.de>
Date:   Wed Dec  5 20:10:55 2007 +0100

comctl32: EnumMRUListA/W fix getting list size by negative item pos.

---

 dlls/comctl32/comctl32undoc.c |    4 ++--
 dlls/comctl32/tests/mru.c     |    2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/dlls/comctl32/comctl32undoc.c b/dlls/comctl32/comctl32undoc.c
index 6f434a6..8ada782 100644
--- a/dlls/comctl32/comctl32undoc.c
+++ b/dlls/comctl32/comctl32undoc.c
@@ -834,8 +834,8 @@ INT WINAPI EnumMRUListW (HANDLE hList, INT nItemPos, LPVOID lpBuffer,
     const WINEMRUITEM *witem;
     INT desired, datasize;
 
-    if (nItemPos >= mp->cursize) return -1;
     if ((nItemPos < 0) || !lpBuffer) return mp->cursize;
+    if (nItemPos >= mp->cursize) return -1;
     desired = mp->realMRU[nItemPos];
     desired -= 'a';
     TRACE("nItemPos=%d, desired=%d\n", nItemPos, desired);
@@ -860,8 +860,8 @@ INT WINAPI EnumMRUListA (HANDLE hList, INT nItemPos, LPVOID lpBuffer,
     INT desired, datasize;
     DWORD lenA;
 
-    if (nItemPos >= mp->cursize) return -1;
     if ((nItemPos < 0) || !lpBuffer) return mp->cursize;
+    if (nItemPos >= mp->cursize) return -1;
     desired = mp->realMRU[nItemPos];
     desired -= 'a';
     TRACE("nItemPos=%d, desired=%d\n", nItemPos, desired);
diff --git a/dlls/comctl32/tests/mru.c b/dlls/comctl32/tests/mru.c
index bfcc385..5201a95 100644
--- a/dlls/comctl32/tests/mru.c
+++ b/dlls/comctl32/tests/mru.c
@@ -288,7 +288,6 @@ static void test_MRUListA(void)
         iRet = pEnumMRUList(hMRU, 0, NULL, 0);
         ok(iRet == 3, "EnumMRUList expected %d, got %d\n", LIST_SIZE, iRet);
 
-        todo_wine{
         /* negative item pos = get list size */
         iRet = pEnumMRUList(hMRU, -1, NULL, 0);
         ok(iRet == 3, "EnumMRUList expected %d, got %d\n", LIST_SIZE, iRet);
@@ -304,7 +303,6 @@ static void test_MRUListA(void)
         /* negative item pos = get list size */
         iRet = pEnumMRUList(hMRU, -5, buffer, 255);
         ok(iRet == 3, "EnumMRUList expected %d, got %d\n", LIST_SIZE, iRet);
-        }
 
         /* check entry 0 */
         buffer[0] = 0;




More information about the wine-cvs mailing list