[ros-diffs] [mjansen] 74610: [SHIMS] Add IgnoreDebugOutput shim CORE-10369
Author: mjansen Date: Sat May 20 20:22:25 2017 New Revision: 74610 URL: http://svn.reactos.org/svn/reactos?rev=74610=rev Log: [SHIMS] Add IgnoreDebugOutput shim CORE-10369 Added: trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c (with props) Modified: trunk/reactos/dll/appcompat/shims/genral/CMakeLists.txt Modified: trunk/reactos/dll/appcompat/shims/genral/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/shims/genral/CMakeLists.txt?rev=74610=74609=74610=diff == --- trunk/reactos/dll/appcompat/shims/genral/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/appcompat/shims/genral/CMakeLists.txt [iso-8859-1] Sat May 20 20:22:25 2017 @@ -4,6 +4,7 @@ spec2def(acgenral.dll genral.spec) list(APPEND SOURCE +ignoredbgout.c main.c themes.c genral.spec) Added: trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c?rev=74610 == --- trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c (added) +++ trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c [iso-8859-1] Sat May 20 20:22:25 2017 @@ -0,0 +1,32 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Shim library + * FILE:dll/appcompat/shims/genral/ignoredbgout.c + * PURPOSE: Ignore debug output shim + * PROGRAMMER: Mark Jansen + */ + +#include +#include +#include + + +#define SHIM_NS IgnoreDebugOutput +#include + +void WINAPI SHIM_OBJ_NAME(OutputDebugStringA)(LPCSTR lpOutputString) +{ +(VOID)lpOutputString; +} + +void WINAPI SHIM_OBJ_NAME(OutputDebugStringW)(LPCWSTR lpOutputString) +{ +(VOID)lpOutputString; +} + +#define SHIM_NUM_HOOKS 2 +#define SHIM_SETUP_HOOKS \ +SHIM_HOOK(0, "KERNEL32.DLL", "OutputDebugStringA", SHIM_OBJ_NAME(OutputDebugStringA)) \ +SHIM_HOOK(1, "KERNEL32.DLL", "OutputDebugStringW", SHIM_OBJ_NAME(OutputDebugStringW)) + +#include Propchange: trunk/reactos/dll/appcompat/shims/genral/ignoredbgout.c -- svn:eol-style = native
[ros-diffs] [mjansen] 74609: [BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging.
Author: mjansen Date: Sat May 20 20:06:46 2017 New Revision: 74609 URL: http://svn.reactos.org/svn/reactos?rev=74609=rev Log: [BOOTDATA] Create an empty HKLM\...\AppCompatFlags\Layers key to silence logging. Modified: trunk/reactos/boot/bootdata/hivesft.inf trunk/reactos/boot/bootdata/hivesys.inf Modified: trunk/reactos/boot/bootdata/hivesft.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesft.inf?rev=74609=74608=74609=diff == --- trunk/reactos/boot/bootdata/hivesft.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesft.inf [iso-8859-1] Sat May 20 20:06:46 2017 @@ -379,6 +379,9 @@ ; Uninstall Application list HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall",,0x0012 + +; Empty App Compat Layers +HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers","",0x,"" ; Version Information HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion","InstallDate",0x00010003,0 Modified: trunk/reactos/boot/bootdata/hivesys.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys.inf?rev=74609=74608=74609=diff == --- trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys.inf [iso-8859-1] Sat May 20 20:06:46 2017 @@ -1391,9 +1391,6 @@ HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager","ObjectDirectories",0x0001, \ "\Windows", \ "\RPC Control" -# This is an empty app compat cache -HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache","AppCompatCache", 0x0001, \ - fe,0f,dc,ba,00,00,00,00 ; DOS devices HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices","AUX",0x,"\DosDevices\COM1" @@ -1450,6 +1447,10 @@ ; App Compat -- Disable on ReactOS HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatibility","DisableAppCompat",0x00010003, 0x0001 + +; This is an empty App Compat cache +HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache","AppCompatCache", 0x0001, \ + fe,0f,dc,ba,00,00,00,00 ; WOW Support HKLM,"SYSTEM\CurrentControlSet\Control\Wow","",0x,""
[ros-diffs] [mjansen] 74608: [SLAYER] Remove the shell extension. CORE-13111 #resolve
Author: mjansen Date: Sat May 20 19:58:04 2017 New Revision: 74608 URL: http://svn.reactos.org/svn/reactos?rev=74608=rev Log: [SLAYER] Remove the shell extension. CORE-13111 #resolve Removed: trunk/reactos/dll/shellext/slayer/ Modified: trunk/reactos/dll/shellext/CMakeLists.txt Modified: trunk/reactos/dll/shellext/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/shellext/CMakeLists.txt?rev=74608=74607=74608=diff == --- trunk/reactos/dll/shellext/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/shellext/CMakeLists.txt [iso-8859-1] Sat May 20 19:58:04 2017 @@ -7,5 +7,4 @@ add_subdirectory(netshell) add_subdirectory(ntobjshex) add_subdirectory(shellbtrfs) -add_subdirectory(slayer) add_subdirectory(stobject)
[ros-diffs] [mjansen] 74607: [WIN32SS] Reduce the amount of calls to IntGetFontLocalizedName, since this was identified as a source of recent slower drawing. CORE-13274 Thanks to Thomas, Giannis and J
Author: mjansen Date: Sat May 20 18:59:00 2017 New Revision: 74607 URL: http://svn.reactos.org/svn/reactos?rev=74607=rev Log: [WIN32SS] Reduce the amount of calls to IntGetFontLocalizedName, since this was identified as a source of recent slower drawing. CORE-13274 Thanks to Thomas, Giannis and Joachim. Modified: trunk/reactos/win32ss/gdi/eng/engobjects.h trunk/reactos/win32ss/gdi/ntgdi/freetype.c trunk/reactos/win32ss/user/ntuser/main.c Modified: trunk/reactos/win32ss/gdi/eng/engobjects.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/eng/engobjects.h?rev=74607=74606=74607=diff == --- trunk/reactos/win32ss/gdi/eng/engobjects.h [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/eng/engobjects.h [iso-8859-1] Sat May 20 18:59:00 2017 @@ -114,10 +114,18 @@ LONG RefCount; } SHARED_MEM, *PSHARED_MEM; +typedef struct _SHARED_FACE_CACHE { +UINT OutlineRequiredSize; +UNICODE_STRING FontFamily; +UNICODE_STRING FullName; +} SHARED_FACE_CACHE, *PSHARED_FACE_CACHE; + typedef struct _SHARED_FACE { FT_Face Face; LONG RefCount; PSHARED_MEM Memory; + SHARED_FACE_CACHE EnglishUS; + SHARED_FACE_CACHE UserLanguage; } SHARED_FACE, *PSHARED_FACE; typedef struct _FONTGDI { Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype.c?rev=74607=74606=74607=diff == --- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Sat May 20 18:59:00 2017 @@ -85,6 +85,9 @@ #define ASSERT_FREETYPE_LOCK_HELD() \ ASSERT(FreeTypeLock->Owner == KeGetCurrentThread()) + +#define ASSERT_FREETYPE_LOCK_NOT_HELD() \ + ASSERT(FreeTypeLock->Owner != KeGetCurrentThread()) #define MAX_FONT_CACHE 256 @@ -171,6 +174,14 @@ ++Ptr->RefCount; } +static void +SharedFaceCache_Init(PSHARED_FACE_CACHE Cache) +{ +Cache->OutlineRequiredSize = 0; +RtlInitUnicodeString(>FontFamily, NULL); +RtlInitUnicodeString(>FullName, NULL); +} + static PSHARED_FACE SharedFace_Create(FT_Face Face, PSHARED_MEM Memory) { @@ -181,6 +192,9 @@ Ptr->Face = Face; Ptr->RefCount = 1; Ptr->Memory = Memory; +SharedFaceCache_Init(>EnglishUS); +SharedFaceCache_Init(>UserLanguage); + SharedMem_AddRef(Memory); DPRINT("Creating SharedFace for %s\n", Face->family_name); } @@ -265,6 +279,13 @@ } static void +SharedFaceCache_Release(PSHARED_FACE_CACHE Cache) +{ +RtlFreeUnicodeString(>FontFamily); +RtlFreeUnicodeString(>FullName); +} + +static void SharedFace_Release(PSHARED_FACE Ptr) { IntLockFreeType; @@ -280,6 +301,8 @@ RemoveCacheEntries(Ptr->Face); FT_Done_Face(Ptr->Face); SharedMem_Release(Ptr->Memory); +SharedFaceCache_Release(>EnglishUS); +SharedFaceCache_Release(>UserLanguage); ExFreePoolWithTag(Ptr, TAG_FONT); } IntUnLockFreeType; @@ -1739,7 +1762,7 @@ } static NTSTATUS -IntGetFontLocalizedName(PUNICODE_STRING pNameW, FT_Face Face, +IntGetFontLocalizedName(PUNICODE_STRING pNameW, PSHARED_FACE SharedFace, FT_UShort NameID, FT_UShort LangID); /* @@ -1751,7 +1774,6 @@ UINT Size, OUTLINETEXTMETRICW *Otm) { -unsigned Needed; TT_OS2 *pOS2; TT_HoriHeader *pHori; TT_Postscript *pPost; @@ -1759,38 +1781,51 @@ FT_WinFNT_HeaderRec Win; FT_Error Error; char *Cp; -FT_Face Face = FontGDI->SharedFace->Face; UNICODE_STRING FamilyNameW, FaceNameW, StyleNameW, FullNameW; +PSHARED_FACE SharedFace = FontGDI->SharedFace; +PSHARED_FACE_CACHE Cache = (gusLanguageID == gusEnglishUS) ? >EnglishUS : >UserLanguage; +FT_Face Face = SharedFace->Face; + +if (Cache->OutlineRequiredSize && Size < Cache->OutlineRequiredSize) +{ +return Cache->OutlineRequiredSize; +} /* family name */ RtlInitUnicodeString(, NULL); -IntGetFontLocalizedName(, Face, TT_NAME_ID_FONT_FAMILY, gusLanguageID); +IntGetFontLocalizedName(, SharedFace, TT_NAME_ID_FONT_FAMILY, gusLanguageID); /* face name */ RtlInitUnicodeString(, NULL); -IntGetFontLocalizedName(, Face, TT_NAME_ID_FULL_NAME, gusLanguageID); +IntGetFontLocalizedName(, SharedFace, TT_NAME_ID_FULL_NAME, gusLanguageID); /* style name */ RtlInitUnicodeString(, NULL); -IntGetFontLocalizedName(, Face, TT_NAME_ID_FONT_SUBFAMILY, gusLanguageID); +IntGetFontLocalizedName(, SharedFace, TT_NAME_ID_FONT_SUBFAMILY, gusLanguageID); /* unique name (full name) */ RtlInitUnicodeString(, NULL); -IntGetFontLocalizedName(, Face,
[ros-diffs] [tfaber] 74605: [WIN32K:NTGDI] - Simplify list walk in FindBestFontFromList
Author: tfaber Date: Sat May 20 12:11:08 2017 New Revision: 74605 URL: http://svn.reactos.org/svn/reactos?rev=74605=rev Log: [WIN32K:NTGDI] - Simplify list walk in FindBestFontFromList Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c Modified: trunk/reactos/win32ss/gdi/ntgdi/freetype.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/ntgdi/freetype.c?rev=74605=74604=74605=diff == --- trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/ntgdi/freetype.c [iso-8859-1] Sat May 20 12:11:08 2017 @@ -4354,6 +4354,8 @@ while (Entry != Head) { CurrentEntry = CONTAINING_RECORD(Entry, FONT_ENTRY, ListEntry); +Entry = Entry->Flink; + FontGDI = CurrentEntry->Font; ASSERT(FontGDI); Face = FontGDI->SharedFace->Face; @@ -4363,8 +4365,6 @@ Status = RtlAnsiStringToUnicodeString(, , TRUE); if (!NT_SUCCESS(Status)) { -/* next entry */ -Entry = Entry->Flink; continue; } @@ -4391,8 +4391,6 @@ { RtlFreeUnicodeString(); RtlFreeUnicodeString(); -/* next entry */ -Entry = Entry->Flink; continue; } @@ -4414,9 +4412,6 @@ /* free strings */ RtlFreeUnicodeString(); - -/* next entry */ -Entry = Entry->Flink; } if (Otm)