It used to crash on Windows XP and Vista but does not since Windows 7.
Signed-off-by: Francois Gouget fgouget@codeweavers.com --- dlls/gdiplus/font.c | 7 +++++-- dlls/gdiplus/tests/font.c | 9 +++------ 2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/dlls/gdiplus/font.c b/dlls/gdiplus/font.c index 64604367da3..44431ea2ac8 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));