From: Nikolay Sivov nsivov@codeweavers.com
Signed-off-by: Nikolay Sivov nsivov@codeweavers.com --- dlls/d2d1/effect.c | 4 ++-- dlls/d2d1/tests/d2d1.c | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/d2d1/effect.c b/dlls/d2d1/effect.c index cf715332fde..00b36339681 100644 --- a/dlls/d2d1/effect.c +++ b/dlls/d2d1/effect.c @@ -796,10 +796,10 @@ static HRESULT d2d_effect_properties_internal_add(struct d2d_effect_properties * p->readonly = index != D2D1_PROPERTY_CACHED && index != D2D1_PROPERTY_PRECISION; p->name = wcsdup(name); p->type = type; - if (p->type == D2D1_PROPERTY_TYPE_STRING && value) + if (p->type == D2D1_PROPERTY_TYPE_STRING) { p->data.ptr = wcsdup(value); - p->size = (wcslen(value) + 1) * sizeof(WCHAR); + p->size = value ? (wcslen(value) + 1) * sizeof(WCHAR) : sizeof(WCHAR); } else { diff --git a/dlls/d2d1/tests/d2d1.c b/dlls/d2d1/tests/d2d1.c index 723cc1f8384..e076db1738c 100644 --- a/dlls/d2d1/tests/d2d1.c +++ b/dlls/d2d1/tests/d2d1.c @@ -10906,8 +10906,7 @@ static void check_system_properties_(unsigned int line, ID2D1Effect *effect) { hr = ID2D1Effect_GetValue(effect, test->index, D2D1_PROPERTY_TYPE_STRING, (BYTE *)buffer, sizeof(buffer)); ok_(__FILE__, line)(hr == S_OK, "Failed to get value, hr %#lx.\n", hr); - str_size = (wcslen((WCHAR *)buffer) + 1) * sizeof(WCHAR); - todo_wine_if(buffer[0] == 0) + str_size = (wcslen(buffer) + 1) * sizeof(WCHAR); ok_(__FILE__, line)(value_size == str_size, "Got unexpected value size %u, expected %u.\n", value_size, str_size); }