Alexandre Julliard : comctl32: Avoid accessing imagelist internals.

Alexandre Julliard julliard at winehq.org
Mon Nov 21 11:10:08 CST 2011


Module: wine
Branch: master
Commit: d0b1b4c7b0c4efc22cd35e03697818bad2a608d4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d0b1b4c7b0c4efc22cd35e03697818bad2a608d4

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Mon Nov 21 11:43:06 2011 +0100

comctl32: Avoid accessing imagelist internals.

---

 dlls/comctl32/header.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/comctl32/header.c b/dlls/comctl32/header.c
index 17b55be..ce95d58 100644
--- a/dlls/comctl32/header.c
+++ b/dlls/comctl32/header.c
@@ -39,7 +39,6 @@
 #include "winnls.h"
 #include "commctrl.h"
 #include "comctl32.h"
-#include "imagelist.h"
 #include "vssym32.h"
 #include "uxtheme.h"
 #include "wine/debug.h"
@@ -384,6 +383,7 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
 	  /* cnt,txt,img,bmp */
 	UINT cx, tx, ix, bx,
 	     cw, tw, iw, bw;
+        INT img_cx, img_cy;
 	BITMAP bmp;
 
         HEADER_PrepareCallbackItems(infoPtr, iItem, HDI_TEXT|HDI_IMAGE);
@@ -400,8 +400,8 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
 	    cw = textRect.right - textRect.left + 2 * infoPtr->iMargin;
 	}
 
-	if ((phdi->fmt & HDF_IMAGE) && (infoPtr->himl)) {
-	    iw = infoPtr->himl->cx + 2 * infoPtr->iMargin;
+	if ((phdi->fmt & HDF_IMAGE) && ImageList_GetIconSize( infoPtr->himl, &img_cx, &img_cy )) {
+	    iw = img_cx + 2 * infoPtr->iMargin;
 	    x = &ix;
 	    w = &iw;
 	}
@@ -474,8 +474,8 @@ HEADER_DrawItem (HEADER_INFO *infoPtr, HDC hdc, INT iItem, BOOL bHotTrack, LRESU
 
 	    if (iw) {
 	        ImageList_DrawEx (infoPtr->himl, phdi->iImage, hClipDC, 
-	                          ix, r.top + ((INT)rh - infoPtr->himl->cy) / 2,
-	                          infoPtr->himl->cx, infoPtr->himl->cy, CLR_DEFAULT, CLR_DEFAULT, 0);
+	                          ix, r.top + ((INT)rh - img_cy) / 2,
+	                          img_cx, img_cy, CLR_DEFAULT, CLR_DEFAULT, 0);
 	    }
 
 	    DeleteObject(hClipRgn);




More information about the wine-cvs mailing list