[5/5] comctl32/listview: fix LVM_SETICONSPACING on 64bit machines

Daniel Jelinski djelinski1 at gmail.com
Sat Jan 19 17:18:02 CST 2013


-------------- next part --------------
From 9f4c45d780f204b3a20df87e593f922aaf9754e1 Mon Sep 17 00:00:00 2001
From: Daniel Jelinski <djelinski1 at gmail.com>
Date: Sun, 20 Jan 2013 00:04:31 +0100
Subject: comctl32/listview: fix LVM_SETICONSPACING on 64bit machines

---
 dlls/comctl32/listview.c       |    6 ++++++
 dlls/comctl32/tests/listview.c |    3 +--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index b8df878..44bd5b4 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -11418,7 +11418,13 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
     return LISTVIEW_SetHoverTime(infoPtr, (DWORD)lParam);
 
   case LVM_SETICONSPACING:
+#ifdef _WIN64
+    if(lParam == -1)
+        return LISTVIEW_SetIconSpacing(infoPtr, -1, -1);
+    return LISTVIEW_SetIconSpacing(infoPtr, LOWORD(lParam), HIWORD(lParam));
+#else
     return LISTVIEW_SetIconSpacing(infoPtr, (short)LOWORD(lParam), (short)HIWORD(lParam));
+#endif
 
   case LVM_SETIMAGELIST:
     return (LRESULT)LISTVIEW_SetImageList(infoPtr, (INT)wParam, (HIMAGELIST)lParam);
diff --git a/dlls/comctl32/tests/listview.c b/dlls/comctl32/tests/listview.c
index 4b4e341..0dc7aa7 100644
--- a/dlls/comctl32/tests/listview.c
+++ b/dlls/comctl32/tests/listview.c
@@ -4667,10 +4667,9 @@ static void test_getitemspacing(void)
     expect(0xFFFF, HIWORD(ret));
 
     ret = SendMessage(hwnd, LVM_SETICONSPACING, 0, 0xBAADF00DDEADBEEFLL);
-todo_wine {
     expect(0xFFFF, LOWORD(ret));
     expect(0xFFFF, HIWORD(ret));
-}
+
     ret2 = SendMessage(hwnd, LVM_GETITEMSPACING, FALSE, 0);
     ok((LONG)0xDEADBEEF == ret2, "Expected FFFFFFFFDEADBEEF, got %p\n", (void*)ret2);
     ret2 = SendMessage(hwnd, LVM_SETICONSPACING, 0, -1);
-- 
1.7.5.4


More information about the wine-patches mailing list