Author: gadamopoulos
Date: Wed Jul 13 17:57:40 2011
New Revision: 52672
URL:
http://svn.reactos.org/svn/reactos?rev=52672&view=rev
Log:
[ntdll]
- Disable Server to server calls in csr because they do not work yet as our csr is not
compatible with windows.
[user32]
- Call CsrClientConnectToServer when the dll is initialized in order to connect with the
server and determine if user32 is running in the server process.
- Do not load user api hook if we are in the server process
- Fixes drawing the console window
Modified:
branches/GSoC_2011/ThemesSupport/dll/ntdll/csr/connect.c
branches/GSoC_2011/ThemesSupport/dll/win32/user32/include/user32.h
branches/GSoC_2011/ThemesSupport/dll/win32/user32/misc/dllmain.c
Modified: branches/GSoC_2011/ThemesSupport/dll/ntdll/csr/connect.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/dll/ntd…
==============================================================================
--- branches/GSoC_2011/ThemesSupport/dll/ntdll/csr/connect.c [iso-8859-1] (original)
+++ branches/GSoC_2011/ThemesSupport/dll/ntdll/csr/connect.c [iso-8859-1] Wed Jul 13
17:57:40 2011
@@ -74,7 +74,9 @@
ApiMessage->Header.u1.s1.TotalLength);
/* Check if we are already inside a CSR Server */
+#if 0
if (!InsideCsrProcess)
+#endif
{
/* Check if we got a a Capture Buffer */
if (CaptureBuffer)
@@ -148,6 +150,7 @@
ApiMessage->Status = Status;
}
}
+#if 0
else
{
/* This is a server-to-server call. Save our CID and do a direct call */
@@ -163,6 +166,7 @@
ApiMessage->Status = Status;
}
}
+#endif
/* Return the CSR Result */
DPRINT("Got back: 0x%lx\n", ApiMessage->Status);
Modified: branches/GSoC_2011/ThemesSupport/dll/win32/user32/include/user32.h
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/dll/win…
==============================================================================
--- branches/GSoC_2011/ThemesSupport/dll/win32/user32/include/user32.h [iso-8859-1]
(original)
+++ branches/GSoC_2011/ThemesSupport/dll/win32/user32/include/user32.h [iso-8859-1] Wed
Jul 13 17:57:40 2011
@@ -48,7 +48,7 @@
extern PPROCESSINFO g_ppi;
extern ULONG_PTR g_ulSharedDelta;
extern PSERVERINFO gpsi;
-extern BOOL gfServerProcess;
+extern BOOLEAN gfServerProcess;
#define HOOKID_TO_FLAG(HookId) (1 << ((HookId) + 1))
#define ISITHOOKED(HookId) (GetWin32ClientInfo()->fsHooks & HOOKID_TO_FLAG(HookId)
||\
@@ -75,11 +75,9 @@
if(IsInsideUserApiHook())
return;
- /* HACK! Please remove when gfServerProcess is correct */
-#if 0
if(gfServerProcess)
return;
-#endif
+
if(RtlIsThreadWithinLoaderCallout())
return;
Modified: branches/GSoC_2011/ThemesSupport/dll/win32/user32/misc/dllmain.c
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2011/ThemesSupport/dll/win…
==============================================================================
--- branches/GSoC_2011/ThemesSupport/dll/win32/user32/misc/dllmain.c [iso-8859-1]
(original)
+++ branches/GSoC_2011/ThemesSupport/dll/win32/user32/misc/dllmain.c [iso-8859-1] Wed Jul
13 17:57:40 2011
@@ -13,7 +13,7 @@
PUSER_HANDLE_ENTRY gHandleEntries = NULL;
PSERVERINFO gpsi = NULL;
ULONG_PTR g_ulSharedDelta;
-BOOL gfServerProcess = FALSE;
+BOOLEAN gfServerProcess = FALSE;
WCHAR szAppInit[KEY_LENGTH];
@@ -198,7 +198,7 @@
{
USERCONNECT UserCon;
PVOID *KernelCallbackTable;
-
+
/* Set up the kernel callbacks. */
KernelCallbackTable = NtCurrentPeb()->KernelCallbackTable;
KernelCallbackTable[USER32_CALLBACK_WINDOWPROC] =
@@ -231,8 +231,8 @@
gHandleEntries = SharedPtrToUser(gHandleTable->handles);
RtlInitializeCriticalSection(&gcsUserApiHook);
- gfServerProcess = TRUE; // FIXME HAX! Used in
CsrClientConnectToServer(,,,,&gfServerProcess);
-
+
+ CsrClientConnectToServer(L"\\Windows", 0, NULL, 0, &gfServerProcess);
//ERR("1 SI 0x%x : HT 0x%x : D 0x%x\n", UserCon.siClient.psi,
UserCon.siClient.aheList, g_ulSharedDelta);
/* Allocate an index for user32 thread local data. */