Nikolay Sivov : dwrite: Added parameter check for registering/ unregistering collection loaders.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue Oct 14 09:37:29 CDT 2014
Module: wine
Branch: master
Commit: 28e9b3f42121a3828717d72da7c77a14301273b8
URL: http://source.winehq.org/git/wine.git/?a=commit;h=28e9b3f42121a3828717d72da7c77a14301273b8
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Oct 8 14:49:12 2014 +0400
dwrite: Added parameter check for registering/unregistering collection loaders.
---
dlls/dwrite/main.c | 10 ++++++++--
dlls/dwrite/tests/font.c | 6 ++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/main.c b/dlls/dwrite/main.c
index 033e89a..0379feb 100644
--- a/dlls/dwrite/main.c
+++ b/dlls/dwrite/main.c
@@ -491,11 +491,14 @@ static HRESULT WINAPI dwritefactory_CreateCustomFontCollection(IDWriteFactory *i
static HRESULT WINAPI dwritefactory_RegisterFontCollectionLoader(IDWriteFactory *iface,
IDWriteFontCollectionLoader *loader)
{
- int i;
struct dwritefactory *This = impl_from_IDWriteFactory(iface);
+ int i;
TRACE("(%p)->(%p)\n", This, loader);
+ if (!loader)
+ return E_INVALIDARG;
+
for (i = 0; i < This->loader_count; i++)
if (This->loaders[i] == loader)
return DWRITE_E_ALREADYREGISTERED;
@@ -527,11 +530,14 @@ static HRESULT WINAPI dwritefactory_RegisterFontCollectionLoader(IDWriteFactory
static HRESULT WINAPI dwritefactory_UnregisterFontCollectionLoader(IDWriteFactory *iface,
IDWriteFontCollectionLoader *loader)
{
- int i;
struct dwritefactory *This = impl_from_IDWriteFactory(iface);
+ int i;
TRACE("(%p)->(%p)\n", This, loader);
+ if (!loader)
+ return E_INVALIDARG;
+
for (i = 0; i < This->loader_count; i++)
if (This->loaders[i] == loader) break;
if (i == This->loader_count)
diff --git a/dlls/dwrite/tests/font.c b/dlls/dwrite/tests/font.c
index 945bfbf..efe3743 100644
--- a/dlls/dwrite/tests/font.c
+++ b/dlls/dwrite/tests/font.c
@@ -855,6 +855,12 @@ static void test_CustomFontCollection(void)
IDWriteFontCollectionLoader collection2 = { &dwritefontcollectionloadervtbl };
HRESULT hr;
+ hr = IDWriteFactory_RegisterFontCollectionLoader(factory, NULL);
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
+ hr = IDWriteFactory_UnregisterFontCollectionLoader(factory, NULL);
+ ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+
hr = IDWriteFactory_RegisterFontCollectionLoader(factory, &collection);
ok(hr == S_OK, "got 0x%08x\n", hr);
hr = IDWriteFactory_RegisterFontCollectionLoader(factory, &collection2);
More information about the wine-cvs
mailing list