mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
dwrite: Fix stretch value validation in CreateTextFormat().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
This commit is contained in:
parent
27cdb54bd8
commit
2dd903885b
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2012, 2014-2021 Nikolay Sivov for CodeWeavers
|
||||
* Copyright 2012, 2014-2022 Nikolay Sivov for CodeWeavers
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
|
@ -723,10 +723,13 @@ HRESULT create_text_format(const WCHAR *family_name, IDWriteFontCollection *coll
|
|||
if (size <= 0.0f)
|
||||
return E_INVALIDARG;
|
||||
|
||||
if (((UINT32)weight > DWRITE_FONT_WEIGHT_ULTRA_BLACK) ||
|
||||
((UINT32)stretch > DWRITE_FONT_STRETCH_ULTRA_EXPANDED) ||
|
||||
((UINT32)style > DWRITE_FONT_STYLE_ITALIC))
|
||||
if ((UINT32)weight > DWRITE_FONT_WEIGHT_ULTRA_BLACK
|
||||
|| stretch == DWRITE_FONT_STRETCH_UNDEFINED
|
||||
|| (UINT32)stretch > DWRITE_FONT_STRETCH_ULTRA_EXPANDED
|
||||
|| (UINT32)style > DWRITE_FONT_STYLE_ITALIC)
|
||||
{
|
||||
return E_INVALIDARG;
|
||||
}
|
||||
|
||||
if (!(object = calloc(1, sizeof(*object))))
|
||||
return E_OUTOFMEMORY;
|
||||
|
|
|
@ -1196,6 +1196,10 @@ static void test_CreateTextFormat(void)
|
|||
10, 10.0f, L"en-us", &format);
|
||||
ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
|
||||
|
||||
hr = IDWriteFactory_CreateTextFormat(factory, L"Tahoma", NULL, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_ITALIC,
|
||||
DWRITE_FONT_STRETCH_UNDEFINED, 10.0f, L"en-us", &format);
|
||||
ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
|
||||
|
||||
/* empty family name */
|
||||
hr = IDWriteFactory_CreateTextFormat(factory, L"", NULL, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL,
|
||||
DWRITE_FONT_STRETCH_NORMAL, 10.0f, L"en-us", &format);
|
||||
|
|
Loading…
Reference in a new issue