Fix: tab-control flickering (2. attempt)

Tobias Loew tobi at die-loews.de
Sun Jan 29 09:28:55 CST 2006


Changelog:
    dlls/comctl32/tab.c

    Tobias Loew <tobi at die-loews.de>
    Fix: tab-control flickering; tab-control invalidates itself after a call to 
SetCurSel even if the selection doesn't change

Tobias Loew


Index: dlls/comctl32/tab.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/tab.c,v
retrieving revision 1.122
diff -u -p -r1.122 tab.c
--- dlls/comctl32/tab.c	8 Nov 2005 12:52:35 -0000	1.122
+++ dlls/comctl32/tab.c	29 Jan 2006 15:12:54 -0000
@@ -261,9 +261,11 @@ static inline LRESULT TAB_SetCurSel (TAB
 
   if (iItem >= 0 && iItem < infoPtr->uNumItem) {
       prevItem=infoPtr->iSelected;
-      infoPtr->iSelected=iItem;
-      TAB_EnsureSelectionVisible(infoPtr);
-      TAB_InvalidateTabArea(infoPtr);
+      if (infoPtr->iSelected != iItem) {
+          infoPtr->iSelected=iItem;
+          TAB_EnsureSelectionVisible(infoPtr);
+          TAB_InvalidateTabArea(infoPtr);
+      }
   }
   return prevItem;
 }




More information about the wine-patches mailing list