Author: fireball
Date: Mon Dec 6 14:16:20 2010
New Revision: 49964
URL:
http://svn.reactos.org/svn/reactos?rev=49964&view=rev
Log:
- Adjust SWM to actually behave like a window manager which user32/server expects. [2/2]
Changes briefly:
* A window is created as a hidden window by default .
* When a window is being made visible zorder doesn't change (it's not moved to
foreground automatically anymore).
Modified:
branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c
Modified: branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c
URL:
http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win3…
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/win32k/swm/winman.c [iso-8859-1] Mon Dec 6
14:16:20 2010
@@ -356,7 +356,8 @@
Win->Window.bottom = WindowRect->bottom;
Win->Visible = create_empty_region();
- set_region_rect(Win->Visible, &Win->Window);
+ Win->Hidden = TRUE;
+ //set_region_rect(Win->Visible, &Win->Window);
/* Set window's flags */
if (ex_style & WS_EX_TOPMOST) Win->Topmost = TRUE;
@@ -375,9 +376,9 @@
}
/* Now ensure it is visible on screen */
- SwmInvalidateRegion(Win, Win->Visible, &Win->Window);
-
- SwmClipAllWindows();
+ //SwmInvalidateRegion(Win, Win->Visible, &Win->Window);
+
+ //SwmClipAllWindows();
//SwmDumpWindows();
@@ -855,6 +856,7 @@
DPRINT("Unhiding %x, rect (%d,%d)-(%d,%d)\n", Win->hwnd,
Win->Window.left, Win->Window.top, Win->Window.right, Win->Window.bottom);
Win->Hidden = FALSE;
+#if 0
/* Make it topmost window if needed */
if (!(SwpFlags & SWP_NOZORDER))
{
@@ -864,6 +866,7 @@
/* Add it to the head of the list */
InsertHeadList(&SwmWindows, &Win->Entry);
}
+#endif
/* Calculate visible regions for all windows */
SwmClipAllWindows();