Author: jgardou Date: Fri Jun 18 22:46:34 2010 New Revision: 47802
URL: http://svn.reactos.org/svn/reactos?rev=47802&view=rev Log: Merge 47800 from yarotows branch. Changelog should have been: [GDI32] - Use default LOGFONT in EnumFontFamilies if none is given. + ~3000 gdi32:font winetests
Modified: trunk/reactos/ (props changed) trunk/reactos/dll/win32/gdi32/objects/font.c
Propchange: trunk/reactos/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Fri Jun 18 22:46:34 2010 @@ -1,4 +1,4 @@ /branches/header-work:45691-47721 -/branches/reactos-yarotows:46966 +/branches/reactos-yarotows:46966,47800 /branches/ros-amd64-bringup:36852 /branches/ros-amd64-bringup/reactos:34711-34712,34741,34743,34780-34782,34803,34812,34839,34842,34864,34870,34874,34877,34908-34909,34917,34965,35323-35324,35347-35348,35361,35436,35509,35515,35588,35655,35683,35739,35746,35762,35771,35777,35781,35789,35805,35823,35827,35902,35904-35906,35942,35947-35949,35952-35953,35966,36011-36013,36172,36360,36380,36388-36389,36397,36445,36502-36503,36505,36570,36614,36898-36899,36930,36936,36949,36951,36958,36961,36964,36969,36972,36992,37323,37434,37472,37475,37536,37820-37821,37868-37869,37873,37990-37991,38013-38014,38092,38100,38148-38151,38264-38265,38268,38355,39151,39333,39335,39345,39639,40122-40123,40125,40127-40128,40155,40247,40324,40608,40753,40927-40928,40986-40987,40989,40991,40993,40995-40996,41000-41001,41027-41030,41044-41045,41047-41050,41052,41070,41082-41086,41097-41098,41101,41449,41479,41484-41485,41499-41500,41502,41531,41536,41540,41546-41547,41549,43080,43426,43454,43506,43566,43574,43598,43600-43602,43604-43605,43677,43682,43757,43775,43836,43838-43840,43857-43858,43860,43905-43907,43969,44002,44036-44037,44039-44040,44044-44045,44065,44095,44123,44144,44205,44238,44294,44338-44339,44389,44391,44426,44460,44467-44468,44470-44471,44499,44501,44503-44504,44506,44510-44512,44521,44523-44526,44530,44540,44601,44772,45124,45126-45127,46394,46478,46511,46523-46524,46526,46534-46535,46537-46539,46589,46805
Modified: trunk/reactos/dll/win32/gdi32/objects/font.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/gdi32/objects/fon... ============================================================================== --- trunk/reactos/dll/win32/gdi32/objects/font.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/gdi32/objects/font.c [iso-8859-1] Fri Jun 18 22:46:34 2010 @@ -154,6 +154,7 @@ int i; ENUMLOGFONTEXA EnumLogFontExA; NEWTEXTMETRICEXA NewTextMetricExA; + LOGFONTW lfW;
Info = RtlAllocateHeap(GetProcessHeap(), 0, INITIAL_FAMILY_COUNT * sizeof(FONTFAMILYINFO)); @@ -161,6 +162,15 @@ { return 0; } + + if (!LogFont) + { + lfW.lfCharSet = DEFAULT_CHARSET; + lfW.lfPitchAndFamily = 0; + lfW.lfFaceName[0] = 0; + LogFont = &lfW; + } + FontFamilyCount = NtGdiGetFontFamilyInfo(Dc, LogFont, Info, INITIAL_FAMILY_COUNT); if (FontFamilyCount < 0) { @@ -464,7 +474,7 @@ return 0; }
- nSet = uCount; + nSet = uCount; if ( nSet > lpResults->nGlyphs ) nSet = lpResults->nGlyphs;
@@ -522,7 +532,7 @@ iFirstChar, (ULONG)(iLastChar - iFirstChar + 1), (PWCHAR) NULL, - 0, + 0, (PVOID) pxBuffer); }
@@ -688,7 +698,7 @@ wstr[0], (ULONG) count, (PWCHAR) wstr, - GCW_NOFLOAT|GCW_WIN32, + GCW_NOFLOAT|GCW_WIN32, (PVOID) lpBuffer);
HeapFree(GetProcessHeap(), 0, str); @@ -772,7 +782,7 @@ return FALSE; }
- ret = NtGdiGetCharABCWidthsW( hdc, + ret = NtGdiGetCharABCWidthsW( hdc, wstr[0], (ULONG)count, (PWCHAR)wstr, @@ -890,7 +900,7 @@ if ((Ret == ARABIC_CHARSET) || (Ret == HEBREW_CHARSET)) Ret = (GCP_KASHIDA|GCP_DIACRITIC|GCP_LIGATE|GCP_GLYPHSHAPE|GCP_REORDER); } - Gcp = GetDCDWord(hDc, GdiGetFontLanguageInfo, GCP_ERROR); + Gcp = GetDCDWord(hDc, GdiGetFontLanguageInfo, GCP_ERROR); if ( Gcp == GCP_ERROR) return Gcp; else