Try2: TAB_SetItemSize - fix default height

Vitaliy Margolen wine-patch at kievinfo.com
Sun Mar 2 22:33:28 CST 2003


Some programs send TCM_SETITEMSIZE message with Width set to new width
and Height is set to 0.
When TCM_FIXEDWIDTH flag is set these programs want to leave height
unchanged.
This behavior tested with win95,win98,ME,NT,win2k,XP.

This pach fixes "invisible tabs" in a TabControls with fixed width tabs.

Vitaliy Margolen

Changelog:
          Fix invisible tabs in TabControls with fixed tab width


Index: dlls/comctl32/tab.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/tab.c,v
retrieving revision 1.74
diff -u -r1.74 tab.c
--- dlls/comctl32/tab.c 8 Jan 2003 21:09:27 -0000       1.74
+++ dlls/comctl32/tab.c 2 Mar 2003 23:28:26 -0000
@@ -2538,7 +2538,10 @@
   {
     lResult = MAKELONG(infoPtr->tabWidth, infoPtr->tabHeight);
     infoPtr->tabWidth = (INT)LOWORD(lParam);
-    infoPtr->tabHeight = (INT)HIWORD(lParam);
+    /* If requested Height is 0 this means that program wants to use default. */
+    if ((INT)HIWORD(lParam)){
+      infoPtr->tabHeight = (INT)HIWORD(lParam);
+    }
     TRACE("was h=%d,w=%d, now h=%d,w=%d\n",
          HIWORD(lResult), LOWORD(lResult),
          infoPtr->tabHeight, infoPtr->tabWidth);




More information about the wine-devel mailing list