TreeView control - set correct hwndNotify

Igor Grahek igorg at cadlink.com
Tue Sep 9 09:12:30 CDT 2003


ChangeLog: - TreeView control set Notify window correctly in case that
window style is WS_POPUP.
 
------- patch.diff start --------
Index: dlls/comctl32/treeview.c
===================================================================
RCS file: /home/wine/wine/dlls/comctl32/treeview.c,v
retrieving revision 1.125
diff -u -r1.125 treeview.c
--- dlls/comctl32/treeview.c	5 Sep 2003 23:08:42 -0000	1.125
+++ dlls/comctl32/treeview.c	9 Sep 2003 14:02:33 -0000
@@ -4730,7 +4730,7 @@
 /* Create/Destroy
*******************************************************/
 
 static LRESULT
-TREEVIEW_Create(HWND hwnd)
+TREEVIEW_Create(HWND hwnd, LPARAM lparam)
 {
     RECT rcClient;
     TREEVIEW_INFO *infoPtr;
@@ -4809,7 +4809,11 @@
     infoPtr->root->iLevel = -1;
     infoPtr->root->visibleOrder = -1;
 
-    infoPtr->hwndNotify = GetParent(hwnd);
+    if ((infoPtr->dwStyle & (WS_CHILD|WS_POPUP)) == WS_POPUP &&
IsWindow(((LPCREATESTRUCTW)lParam)->hwndParent ))
+        infoPtr->hwndNotify = ((LPCREATESTRUCTW)lParam)->hwndParent;
+    else
+        infoPtr->hwndNotify = GetParent(hwnd);
+
 #if 0
     infoPtr->bTransparent = ( GetWindowLongA( hwnd, GWL_STYLE) &
TBSTYLE_FLAT);
 #endif
@@ -5188,7 +5192,7 @@
     else
     {
 	if (uMsg == WM_CREATE)
-	    TREEVIEW_Create(hwnd);
+	    TREEVIEW_Create(hwnd, lParam);
 	else
 	    goto def;
     }
------- patch.diff end --------

Igor Grahek
 




More information about the wine-patches mailing list