Listview - fix for Outlook Background

Guy L. Albertelli galberte at neo.lrun.com
Sat Sep 28 21:37:13 CDT 2002


This time with License line:

----- Original Message -----
From: "Guy L. Albertelli" <galberte at neo.lrun.com>
To: "Wine Patches" <wine-patches at winehq.com>
Sent: Saturday, September 28, 2002 10:26 PM
Subject: Listview - fix for Outlook Background


> This fixes the problem with Outlook having the wrong background. Problem was that we were filling the background even when we
should
> not have. Only should be done on WM_ERASEBKGND (or the WM_PAINT .fErase flag). Outlook subclassed Listview and handled the erase
> itself.
>
   License:  X11

   Changelog:
> Guy Albertelli  <<galberte at neo.lrun.com>>
>
>   dlls/comctl32/listview.c
>    - Eliminate extra background fills.
>    - Eliminate bogus error messages.
>
-------------- next part --------------
Index: dlls/comctl32/listview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/listview.c,v
retrieving revision 1.154
diff -u -r1.154 listview.c
--- dlls/comctl32/listview.c	27 Sep 2002 22:47:00 -0000	1.154
+++ dlls/comctl32/listview.c	29 Sep 2002 02:12:17 -0000
@@ -3017,7 +3017,6 @@
   LVITEMW lvItem;
   LVCOLUMNW lvColumn;
   UINT textoutOptions = ETO_CLIPPED | ETO_OPAQUE;
-  RECT rcTemp;
   INT textLeft;
   INT nLabelWidth = 0;
 
@@ -3049,16 +3048,6 @@
     }
   }
 
-
-  /* redraw the background of the item */
-  rcTemp = rcItem;
-  if(infoPtr->nColumnCount == (nSubItem + 1))
-    rcTemp.right  = infoPtr->rcList.right;
-  else
-    rcTemp.right += WIDTH_PADDING;
-
-  LISTVIEW_FillBkgnd(infoPtr, hdc, &rcTemp);
-
   /* set item colors */
   if (ListView_GetItemState(infoPtr->hwndSelf,nItem,LVIS_SELECTED) && Selected)
   {
@@ -3142,7 +3131,6 @@
   BOOL bImage = FALSE;
   INT   iBkMode = -1;
   UINT  textoutOptions = ETO_OPAQUE | ETO_CLIPPED;
-  RECT rcTemp;
 
   TRACE("(hdc=%x, nItem=%d)\n", hdc, nItem);
 
@@ -3157,15 +3145,6 @@
   LISTVIEW_GetItemW(infoPtr, &lvItem, TRUE);
   TRACE("   lvItem=%s\n", debuglvitem_t(&lvItem, TRUE));
 
-  /* redraw the background of the item */
-  rcTemp = rcItem;
-  if(infoPtr->nColumnCount == (nItem + 1))
-    rcTemp.right = infoPtr->rcList.right;
-  else
-    rcTemp.right+=WIDTH_PADDING;
-
-  LISTVIEW_FillBkgnd(infoPtr, hdc, &rcTemp);
-
   /* do indent */
   if (lvItem.iIndent>0 && infoPtr->iconSize.cx > 0)
   {
@@ -3349,8 +3328,6 @@
   TRACE("background rect (%d,%d)-(%d,%d)\n",
         rcFill.left, rcFill.top, rcFill.right, rcFill.bottom);
 
-  LISTVIEW_FillBkgnd(infoPtr, hdc, &rcFill);
-
   /* Set the item to the boundary box for now */
   rcItem = rcFill;
   TRACE("bound box for text+icon (%d,%d)-(%d,%d), iS.cx=%ld, nItemWidth=%d\n",
@@ -4638,10 +4615,6 @@
           nScrollPosHeight = 1;
           rcItem.top += infoPtr->rcList.top;
         }
-	else
-	{
-	    ERR("LVS_LIST top unknown, nScrollPosWidth=%d\n", nScrollPosWidth);
-	}
 
 	if (nScrollPosHeight)
 	{
@@ -4670,10 +4643,6 @@
           nScrollPosHeight = 1;
           rcItem.bottom -= infoPtr->rcList.bottom;
         }
-	else  /* LVS_LIST */
-	{
-	    ERR("LVS_LIST bottom unknown, nScrollPosWidth=%d\n", nScrollPosWidth);
-	}
 
 	if (nScrollPosHeight)
 	{


More information about the wine-patches mailing list