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