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/ntdl... ============================================================================== --- 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/win3... ============================================================================== --- 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/win3... ============================================================================== --- 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. */