diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c index c18e5702ca2..4d0a84943ea 100644 --- a/dlls/gdiplus/font.c +++ b/dlls/gdiplus/font.c @@ -798,17 +798,20 @@ GpStatus WINGDIPAPI GdipCloneFontFamily(GpFontFamily *family, GpFontFamily **clo * FAILURE: InvalidParameter if family is NULL * * NOTES - * If name is a NULL ptr, then both XP and Vista will crash (so we do as well) + * If name is NULL, XP and Vista crash but not Windows 7+ */ GpStatus WINGDIPAPI GdipGetFamilyName (GDIPCONST GpFontFamily *family, WCHAR *name, LANGID language) { static int lang_fixme; + TRACE("%p, %p, %d\n", family, name, language); + if (family == NULL) return InvalidParameter; - TRACE("%p, %p, %d\n", family, name, language); + if (name == NULL) + return Ok; if (language != LANG_NEUTRAL && !lang_fixme++) FIXME("No support for handling of multiple languages!\n"); diff --git a/dlls/gdiplus/tests/font.c b/dlls/gdiplus/tests/font.c index b208989c054..4ffa9e823fc 100644 --- a/dlls/gdiplus/tests/font.c +++ b/dlls/gdiplus/tests/font.c @@ -388,12 +388,9 @@ static void test_fontfamily (void) expect (Ok, stat); expect (0, lstrcmpiW(itsName, L"Tahoma")); - if (0) - { - /* Crashes on Windows XP SP2, Vista, and so Wine as well */ - stat = GdipGetFamilyName (family, NULL, LANG_NEUTRAL); - expect (Ok, stat); - } + /* Crashes on Windows XP SP2 and Vista */ + stat = GdipGetFamilyName (family, NULL, LANG_NEUTRAL); + expect (Ok, stat); /* Make sure we don't read old data */ ZeroMemory (itsName, sizeof(itsName));