Nikolay Sivov : dwrite: Trace QueryInterface fontface calls on failure ( Coverity).
Alexandre Julliard
julliard at winehq.org
Wed Apr 19 14:49:38 CDT 2017
Module: wine
Branch: master
Commit: 533d3b904ef7fd36f40f9ce057952c93fcc7c3f0
URL: http://source.winehq.org/git/wine.git/?a=commit;h=533d3b904ef7fd36f40f9ce057952c93fcc7c3f0
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Wed Apr 19 15:15:27 2017 +0300
dwrite: Trace QueryInterface fontface calls on failure (Coverity).
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/dwrite/font.c | 4 +++-
dlls/dwrite/main.c | 4 +++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index b665161..c1b2286 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -5135,6 +5135,7 @@ HRESULT create_glyphrunanalysis(const struct glyphrunanalysis_desc *desc, IDWrit
IDWriteFontFace1 *fontface1;
D2D_POINT_2F origin;
FLOAT rtl_factor;
+ HRESULT hr;
UINT32 i;
*ret = NULL;
@@ -5196,7 +5197,8 @@ HRESULT create_glyphrunanalysis(const struct glyphrunanalysis_desc *desc, IDWrit
memcpy(analysis->glyphs, desc->run->glyphIndices, desc->run->glyphCount*sizeof(*desc->run->glyphIndices));
IDWriteFontFace_GetMetrics(desc->run->fontFace, &metrics);
- IDWriteFontFace_QueryInterface(desc->run->fontFace, &IID_IDWriteFontFace1, (void **)&fontface1);
+ if (FAILED(hr = IDWriteFontFace_QueryInterface(desc->run->fontFace, &IID_IDWriteFontFace1, (void **)&fontface1)))
+ WARN("Failed to get IDWriteFontFace1, %#x.\n", hr);
origin.x = desc->origin_x * desc->ppdip;
origin.y = desc->origin_y * desc->ppdip;
diff --git a/dlls/dwrite/main.c b/dlls/dwrite/main.c
index c17bb5a..73fcb51 100644
--- a/dlls/dwrite/main.c
+++ b/dlls/dwrite/main.c
@@ -1449,13 +1449,15 @@ static HRESULT compute_glyph_origins(DWRITE_GLYPH_RUN const *run, DWRITE_MEASURI
IDWriteFontFace1 *fontface1 = NULL;
DWRITE_FONT_METRICS metrics;
FLOAT rtl_factor;
+ HRESULT hr;
UINT32 i;
rtl_factor = run->bidiLevel & 1 ? -1.0f : 1.0f;
if (run->fontFace) {
IDWriteFontFace_GetMetrics(run->fontFace, &metrics);
- IDWriteFontFace_QueryInterface(run->fontFace, &IID_IDWriteFontFace1, (void **)&fontface1);
+ if (FAILED(hr = IDWriteFontFace_QueryInterface(run->fontFace, &IID_IDWriteFontFace1, (void **)&fontface1)))
+ WARN("Failed to get IDWriteFontFace1, %#x.\n", hr);
}
for (i = 0; i < run->glyphCount; i++) {
More information about the wine-cvs
mailing list