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/win32... ============================================================================== --- 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();