Module: wine Branch: master Commit: 533d3b904ef7fd36f40f9ce057952c93fcc7c3f0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=533d3b904ef7fd36f40f9ce057...
Author: Nikolay Sivov nsivov@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@codeweavers.com Signed-off-by: Alexandre Julliard julliard@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++) {