[ros-diffs] [fireball] 43927: - Open and set window station for CSR's process when a first request for create desktop comes (at this time we are sure winlogon created the window station). Examples of fixed bugs: console windows open now, no weird crashes at shutdown.
fireball at svn.reactos.org
fireball at svn.reactos.org
Mon Nov 2 22:31:09 CET 2009
Author: fireball
Date: Mon Nov 2 22:31:09 2009
New Revision: 43927
URL: http://svn.reactos.org/svn/reactos?rev=43927&view=rev
Log:
- Open and set window station for CSR's process when a first request for create desktop comes (at this time we are sure winlogon created the window station). Examples of fixed bugs: console windows open now, no weird crashes at shutdown.
Modified:
branches/arwinss/reactos/subsystems/win32/csrss/win32csr/desktopbg.c
Modified: branches/arwinss/reactos/subsystems/win32/csrss/win32csr/desktopbg.c
URL: http://svn.reactos.org/svn/reactos/branches/arwinss/reactos/subsystems/win32/csrss/win32csr/desktopbg.c?rev=43927&r1=43926&r2=43927&view=diff
==============================================================================
--- branches/arwinss/reactos/subsystems/win32/csrss/win32csr/desktopbg.c [iso-8859-1] (original)
+++ branches/arwinss/reactos/subsystems/win32/csrss/win32csr/desktopbg.c [iso-8859-1] Mon Nov 2 22:31:09 2009
@@ -120,8 +120,10 @@
static BOOL FASTCALL
DtbgInit()
{
- //WNDCLASSEXW Class;
- //ATOM ClassAtom;
+ //WNDCLASSEXW Class;
+ //ATOM ClassAtom;
+ static const WCHAR WinSta0[] = {'W','i','n','S','t','a','0',0};
+ HANDLE handle;
/*
* Create the desktop window class
@@ -146,9 +148,17 @@
return FALSE;
}
#endif
- VisibleDesktopWindow = NULL;
-
- return TRUE;
+
+ /* set winstation if we don't have one yet */
+ if (!GetProcessWindowStation())
+ {
+ handle = OpenWindowStationW( WinSta0, FALSE, WINSTA_ALL_ACCESS );
+ if (handle) SetProcessWindowStation( handle );
+ }
+
+ VisibleDesktopWindow = NULL;
+
+ return TRUE;
}
HWND BackgroundWnd;
More information about the Ros-diffs
mailing list