Release 950202
Wed Feb 1 19:27:55 1995 Alexandre Julliard (julliard@lamisun.epfl.ch)
* [windows/nonclient.c] [windows/winpos.c]
Implemented maximized windows.
Implemented icon positioning and ArrangeIconicWindows().
Bug fixes in SetWindowPos().
* [windows/painting.c]
Implemented GetControlBrush().
Window frame is no longer contained in the update region.
* [windows/win.c]
Destroy owned windows upon DestroyWindow().
Sun Jan 29 16:17:22 1995 David Metcalfe <david@prism.demon.co.uk>
* [controls/edit.c]
Changed line terminator to \r\n to be compatible with
Windows. Fixed bug in text selection.
Sun Jan 29 14:10:22 1995 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* [misc/shell.c]
Rewrote RegCreateKey and RegOpenKey, since they were completely broken.
Fixed a bug in RegQueryKeyValue. Implemented RegEnumKey
These functions now work somewhat more the way Windows programs expect
them to work.
diff --git a/windows/win.c b/windows/win.c
index 809c333..5148b94 100644
--- a/windows/win.c
+++ b/windows/win.c
@@ -400,7 +400,7 @@
/* Send the WM_GETMINMAXINFO message and fix the size if needed */
- WINPOS_GetMinMaxInfo( hwnd, &maxSize, &maxPos, &minTrack, &maxTrack );
+ NC_GetMinMaxInfo( hwnd, &maxSize, &maxPos, &minTrack, &maxTrack );
if ( maxSize.x < width)
{
@@ -532,6 +532,21 @@
ReleaseCapture();
WIN_SendParentNotify( hwnd, WM_DESTROY, MAKELONG(hwnd, wndPtr->wIDmenu) );
+ /* Recursively destroy owned windows */
+
+ for (;;)
+ {
+ HWND hwndSibling = GetWindow( hwnd, GW_HWNDFIRST );
+ while (hwndSibling)
+ {
+ WND *siblingPtr = WIN_FindWndPtr( hwndSibling );
+ if (siblingPtr->hwndOwner == hwnd) break;
+ hwndSibling = siblingPtr->hwndNext;
+ }
+ if (hwndSibling) DestroyWindow( hwndSibling );
+ else break;
+ }
+
/* Send destroy messages and destroy children */
SendMessage( hwnd, WM_DESTROY, 0, 0 );
@@ -560,7 +575,6 @@
}
-
/***********************************************************************
* OpenIcon (USER.44)
*/
@@ -572,7 +586,6 @@
}
-
/***********************************************************************
* FindWindow (USER.50)
*/