comctl32/listview: Fix regression caused by 2796763ee3ef87904fd92f4f753c138a1be295bd
Nikolay Sivov
bunglehead at gmail.com
Thu Apr 30 07:04:10 CDT 2009
http://bugs.winehq.org/show_bug.cgi?id=18299
Regression looks like an assertion when grid lines are drawing and
no columns added.
Changelog:
- Check columns array size before trying to obtain rectangl
>From ae238d04da0047e4597fb14eb8b9e04e8996934a Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <bunglehead at gmail.com>
Date: Thu, 30 Apr 2009 15:59:21 +0400
Subject: Fix regression caused by 2796763ee3ef87904fd92f4f753c138a1be295bd
---
dlls/comctl32/listview.c | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c
index bfe47a3..169c242 100644
--- a/dlls/comctl32/listview.c
+++ b/dlls/comctl32/listview.c
@@ -4156,11 +4156,11 @@ static void LISTVIEW_RefreshReportGrid(LISTVIEW_INFO *infoPtr, HDC hdc)
INT rgntype;
INT y, itemheight;
HPEN hPen, hOldPen;
- RECT rcClip, rcItem;
+ RECT rcClip, rcItem = {0};
POINT Origin;
RANGE colRange;
ITERATOR j;
- BOOL rmost;
+ BOOL rmost = FALSE;
TRACE("()\n");
@@ -4183,8 +4183,11 @@ static void LISTVIEW_RefreshReportGrid(LISTVIEW_INFO *infoPtr, HDC hdc)
if (rcItem.left + Origin.x < rcClip.right) break;
}
/* is right most vertical line visible? */
- LISTVIEW_GetHeaderRect(infoPtr, DPA_GetPtrCount(infoPtr->hdpaColumns) - 1, &rcItem);
- rmost = (rcItem.right + Origin.x < rcClip.right);
+ if (DPA_GetPtrCount(infoPtr->hdpaColumns) > 0)
+ {
+ LISTVIEW_GetHeaderRect(infoPtr, DPA_GetPtrCount(infoPtr->hdpaColumns) - 1, &rcItem);
+ rmost = (rcItem.right + Origin.x < rcClip.right);
+ }
if ((hPen = CreatePen( PS_SOLID, 1, comctl32_color.clr3dFace )))
{
--
1.5.6.5
More information about the wine-patches
mailing list