Nikolay Sivov : dwrite: Trace GetPaletteEntries() failure (Coverity).

Alexandre Julliard julliard at wine.codeweavers.com
Mon Feb 22 08:57:38 CST 2016


Module: wine
Branch: master
Commit: a8a6f0bd8602ce13de60acf01d9c63f491635777
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a8a6f0bd8602ce13de60acf01d9c63f491635777

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sat Feb 20 10:51:04 2016 +0300

dwrite: Trace GetPaletteEntries() failure (Coverity).

Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dwrite/font.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index 292866e..05b5f55 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -4792,11 +4792,14 @@ static BOOL colorglyphenum_build_color_run(struct dwrite_colorglyphenum *glyphen
             if (!got_palette_index) {
                 colorrun->paletteIndex = glyphenum->glyphs[g].palette_index;
                 /* use foreground color or request one from the font */
-                if (colorrun->paletteIndex == 0xffff)
-                    memset(&colorrun->runColor, 0, sizeof(colorrun->runColor));
-                else
-                    IDWriteFontFace2_GetPaletteEntries(glyphenum->fontface, glyphenum->palette, colorrun->paletteIndex,
+                memset(&colorrun->runColor, 0, sizeof(colorrun->runColor));
+                if (colorrun->paletteIndex != 0xffff) {
+                    HRESULT hr = IDWriteFontFace2_GetPaletteEntries(glyphenum->fontface, glyphenum->palette, colorrun->paletteIndex,
                         1, &colorrun->runColor);
+                    if (FAILED(hr))
+                        WARN("failed to get palette entry, fontface %p, palette %u, index %u, 0x%08x\n", glyphenum->fontface,
+                            glyphenum->palette, colorrun->paletteIndex, hr);
+                }
                 /* found a glyph position new color run starts from, origin is "original origin + distance to this glyph" */
                 colorrun->baselineOriginX = glyphenum->origin_x + get_glyph_origin(glyphenum, g);
                 colorrun->baselineOriginY = glyphenum->origin_y;




More information about the wine-cvs mailing list