James Hawkins : kernel32: Return TRUE for all pointer params in GlobalUnlock.
Alexandre Julliard
julliard at winehq.org
Mon Sep 17 07:59:57 CDT 2007
Module: wine
Branch: master
Commit: 72a3f1833873cc0e84c4b6639eaf13e6a4ec497c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=72a3f1833873cc0e84c4b6639eaf13e6a4ec497c
Author: James Hawkins <truiken at gmail.com>
Date: Sun Sep 16 18:30:20 2007 -0500
kernel32: Return TRUE for all pointer params in GlobalUnlock.
---
dlls/kernel32/heap.c | 2 +-
dlls/kernel32/tests/heap.c | 8 ++++++++
dlls/user32/tests/dde.c | 20 ++++----------------
3 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/dlls/kernel32/heap.c b/dlls/kernel32/heap.c
index 005a9fe..b526af0 100644
--- a/dlls/kernel32/heap.c
+++ b/dlls/kernel32/heap.c
@@ -480,7 +480,7 @@ BOOL WINAPI GlobalUnlock(HGLOBAL hmem)
PGLOBAL32_INTERN pintern;
BOOL locked;
- if (ISPOINTER(hmem)) return FALSE;
+ if (ISPOINTER(hmem)) return TRUE;
RtlLockHeap(GetProcessHeap());
__TRY
diff --git a/dlls/kernel32/tests/heap.c b/dlls/kernel32/tests/heap.c
index 66155ef..34393e8 100644
--- a/dlls/kernel32/tests/heap.c
+++ b/dlls/kernel32/tests/heap.c
@@ -189,6 +189,14 @@ START_TEST(heap)
ok(GetLastError() == ERROR_INVALID_HANDLE,
"Expected ERROR_INVALID_HANDLE, got %d\n", GetLastError());
+ gbl = GlobalAlloc(GMEM_DDESHARE, 100);
+
+ res = GlobalUnlock(gbl);
+ ok(res == 1, "Expected 1, got %d\n", res);
+
+ res = GlobalUnlock(gbl);
+ ok(res == 1, "Expected 1, got %d\n", res);
+
/* ####################################### */
/* Local*() functions */
gbl = LocalAlloc(LMEM_MOVEABLE, 0);
diff --git a/dlls/user32/tests/dde.c b/dlls/user32/tests/dde.c
index e51391f..b12eb15 100644
--- a/dlls/user32/tests/dde.c
+++ b/dlls/user32/tests/dde.c
@@ -492,10 +492,7 @@ static void test_PackDDElParam(void)
ok(ptr[1] == 0xbeef, "Expected 0xbeef, got %08lx\n", ptr[1]);
ret = GlobalUnlock((HGLOBAL)lparam);
- todo_wine
- {
- ok(ret == 1, "Expected 1, got %d\n", ret);
- }
+ ok(ret == 1, "Expected 1, got %d\n", ret);
lo = hi = 0;
ret = UnpackDDElParam(WM_DDE_ADVISE, lparam, &lo, &hi);
@@ -534,10 +531,7 @@ static void test_PackDDElParam(void)
ok(ptr[1] == 0xbeef, "Expected 0xbeef, got %08lx\n", ptr[1]);
ret = GlobalUnlock((HGLOBAL)lparam);
- todo_wine
- {
- ok(ret == 1, "Expected 1, got %d\n", ret);
- }
+ ok(ret == 1, "Expected 1, got %d\n", ret);
lo = hi = 0;
ret = UnpackDDElParam(WM_DDE_ACK, lparam, &lo, &hi);
@@ -560,10 +554,7 @@ static void test_PackDDElParam(void)
ok(ptr[1] == 0xbeef, "Expected 0xbeef, got %08lx\n", ptr[1]);
ret = GlobalUnlock((HGLOBAL)lparam);
- todo_wine
- {
- ok(ret == 1, "Expected 1, got %d\n", ret);
- }
+ ok(ret == 1, "Expected 1, got %d\n", ret);
lo = hi = 0;
ret = UnpackDDElParam(WM_DDE_DATA, lparam, &lo, &hi);
@@ -602,10 +593,7 @@ static void test_PackDDElParam(void)
ok(ptr[1] == 0xbeef, "Expected 0xbeef, got %08lx\n", ptr[1]);
ret = GlobalUnlock((HGLOBAL)lparam);
- todo_wine
- {
- ok(ret == 1, "Expected 1, got %d\n", ret);
- }
+ ok(ret == 1, "Expected 1, got %d\n", ret);
lo = hi = 0;
ret = UnpackDDElParam(WM_DDE_POKE, lparam, &lo, &hi);
More information about the wine-cvs
mailing list