Fix treeview with checkboxes creation

Maxime Bellengé maxime.bellenge at laposte.net
Sat Aug 16 10:44:24 CDT 2003


This patch fixes the creation of treeview with checkboxes.
Although this patch can be applied independently from my previous ones
(the UpdateDispInfo one), the diff was made on top of the previous one.
So the line number may not be correct.

a+

Maxime

Changelog:
	* Fix the creation of treeview with checkboxes. Now they display fine.


-- 
Maxime Bellengé <maxime.bellenge at laposte.net>
-------------- next part --------------
--- wine/dlls/comctl32/treeview.c	2003-08-16 17:33:06.000000000 +0200
+++ wine/dlls/comctl32/treeviewmax.c	2003-08-16 17:30:26.000000000 +0200
@@ -4825,14 +4825,16 @@
     {
 	RECT rc;
 	HBITMAP hbm, hbmOld;
-	HDC hdc;
+	HDC hdc,hdcScreen;
 	int nIndex;
 
 	infoPtr->himlState =
 	    ImageList_Create(16, 16, ILC_COLOR | ILC_MASK, 3, 0);
 
-	hdc = CreateCompatibleDC(0);
-	hbm = CreateCompatibleBitmap(hdc, 48, 16);
+	hdcScreen = CreateDCA("DISPLAY", NULL, NULL, NULL);
+
+	hdc = CreateCompatibleDC(hdcScreen);
+	hbm = CreateCompatibleBitmap(hdcScreen, 48, 16);
 	hbmOld = SelectObject(hdc, hbm);
 
 	rc.left  = 0;   rc.top    = 0;
@@ -4848,12 +4850,14 @@
 	DrawFrameControl(hdc, &rc, DFC_BUTTON,
 	                  DFCS_BUTTONCHECK|DFCS_FLAT|DFCS_CHECKED);
 
+	SelectObject(hdc, hbmOld);
 	nIndex = ImageList_AddMasked(infoPtr->himlState, hbm,
 	                              GetSysColor(COLOR_WINDOW));
 	TRACE("chckbox index %d\n", nIndex);
-	SelectObject(hdc, hbmOld);
+
 	DeleteObject(hbm);
 	DeleteDC(hdc);
+	DeleteDC(hdcScreen);
 
 	infoPtr->stateImageWidth = 16;
 	infoPtr->stateImageHeight = 16;


More information about the wine-patches mailing list