[ros-diffs] [mjansen] 74610: [SHIMS] Add IgnoreDebugOutput shim CORE-10369

2017-05-20 Thread mjansen
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.

2017-05-20 Thread mjansen
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

2017-05-20 Thread mjansen
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

2017-05-20 Thread mjansen
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

2017-05-20 Thread tfaber
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)