[PATCH 1/2] Fix invalid read of item data

Nikolay Sivov nsivov at codeweavers.com
Sat Apr 9 10:39:45 CDT 2011


---
 dlls/comctl32/tab.c       |    2 +-
 dlls/comctl32/tests/tab.c |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/comctl32/tab.c b/dlls/comctl32/tab.c
index fe82d59..f86fd0f 100644
--- a/dlls/comctl32/tab.c
+++ b/dlls/comctl32/tab.c
@@ -2500,7 +2500,7 @@ static void TAB_EnsureSelectionVisible(
 
   if (infoPtr->leftmostVisible >= iSelected)
   {
-    infoPtr->leftmostVisible = iSelected;
+    if (iSelected >= 0) infoPtr->leftmostVisible = iSelected;
   }
   else
   {
diff --git a/dlls/comctl32/tests/tab.c b/dlls/comctl32/tests/tab.c
index 4c464e6..5bd2ea0 100644
--- a/dlls/comctl32/tests/tab.c
+++ b/dlls/comctl32/tests/tab.c
@@ -1052,6 +1052,9 @@ static void test_insert_focus(HWND parent_wnd)
     hTab = createFilledTabControl(parent_wnd, TCS_FIXEDWIDTH, mask, 0);
     ok(hTab != NULL, "Failed to create tab control\n");
 
+    r = SendMessage(hTab, TCM_GETCURSEL, 0, 0);
+    expect(-1, r);
+
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
 
     nTabsRetrieved = SendMessage(hTab, TCM_GETITEMCOUNT, 0, 0);
-- 
1.5.6.5



--------------060306020402030501040105--



More information about the wine-patches mailing list