[WIN32K] revert PR173 to fix regressions in Chrome/Chromium CORE-14170

This reverts ea4daf8b68 committed 2017-12-09 to master, the commit was named
"[WIN32K] Fix NtGdiGetTextFaceW to report face name correctly (#173)",
reverting got ack of khmz,
reopening less severe CORE-14071 accordingly
This commit is contained in:
Joachim Henze 2018-01-07 17:58:47 +01:00
parent f0a1a5c773
commit 79d392c53c
2 changed files with 6 additions and 32 deletions

View file

@ -4504,7 +4504,6 @@ TextIntRealizeFont(HFONT FontHandle, PTEXTOBJ pTextObj)
}
else
{
UNICODE_STRING NameW;
PFONTGDI FontGdi = ObjToGDI(TextObj->Font, FONT);
// Need hdev, when freetype is loaded need to create DEVOBJ for
// Consumer and Producer.
@ -4519,17 +4518,6 @@ TextIntRealizeFont(HFONT FontHandle, PTEXTOBJ pTextObj)
else
FontGdi->RequestWeight = FW_NORMAL;
/* store the localized family name */
RtlInitUnicodeString(&NameW, NULL);
Status = IntGetFontLocalizedName(&NameW, FontGdi->SharedFace,
TT_NAME_ID_FONT_FAMILY, gusLanguageID);
if (NT_SUCCESS(Status))
{
RtlCopyMemory(TextObj->FaceName, NameW.Buffer, NameW.Length);
TextObj->FaceName[NameW.Length / sizeof(WCHAR)] = UNICODE_NULL;
RtlFreeUnicodeString(&NameW);
}
Face = FontGdi->SharedFace->Face;
//FontGdi->OriginalWeight = WeightFromStyle(Face->style_name);

View file

@ -3,11 +3,7 @@
* LICENSE: GPL - See COPYING in the top level directory
* FILE: win32ss/gdi/ntgdi/text.c
* PURPOSE: Text/Font
* PROGRAMMERS: Amine Khaldi <amine.khaldi@reactos.org>
* Timo Kreuzer <timo.kreuzer@reactos.org>
* James Tabor <james.tabor@reactos.org>
* Hermes Belusca-Maito <hermes.belusca@sfr.fr>
* Katayama Hirofumi MZ <katayama.hirofumi.mz@gmail.com>
* PROGRAMMER:
*/
/** Includes ******************************************************************/
@ -516,14 +512,12 @@ NtGdiGetTextFaceW(
TextObj = RealizeFontInit(hFont);
ASSERT(TextObj != NULL);
fLen = wcslen(TextObj->FaceName) + 1;
if (fLen > LF_FACESIZE)
fLen = LF_FACESIZE;
fLen = wcslen(TextObj->logfont.elfEnumLogfontEx.elfLogFont.lfFaceName) + 1;
if (FaceName != NULL)
{
Count = min(Count, fLen);
Status = MmCopyToCaller(FaceName, TextObj->FaceName, Count * sizeof(WCHAR));
Status = MmCopyToCaller(FaceName, TextObj->logfont.elfEnumLogfontEx.elfLogFont.lfFaceName, Count * sizeof(WCHAR));
if (!NT_SUCCESS(Status))
{
TEXTOBJ_UnlockText(TextObj);
@ -531,19 +525,11 @@ NtGdiGetTextFaceW(
return 0;
}
/* Terminate if we copied only part of the font name */
ret = Count;
if (Count > 0 && Count <= fLen)
if (Count > 0 && Count < fLen)
{
_SEH2_TRY
{
FaceName[Count - 1] = '\0';
}
_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
ret = 0;
}
_SEH2_END;
FaceName[Count - 1] = '\0';
}
ret = Count;
}
else
{