From d8a3db257418d5ebb99509e0bdcfa24d618e6b3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Tue, 19 Mar 2019 17:06:41 +0200 Subject: [PATCH] sna: Avoid strict aliasing violations with glyphinfo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Just access the xGlyphInfo members directly to avoid the compiler getting upset about strict aliasing violations. Signed-off-by: Ville Syrjälä --- src/sna/sna_glyphs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c index 6ee40336..ebc061b5 100644 --- a/src/sna/sna_glyphs.c +++ b/src/sna/sna_glyphs.c @@ -85,8 +85,11 @@ #define NO_ATLAS ((PicturePtr)-1) #define GLYPH_TOLERANCE 3 -#define glyph_valid(g) *((uint32_t *)&(g)->info.width) -#define glyph_copy_size(r, g) *(uint32_t *)&(r)->width = *(uint32_t *)&g->info.width +#define glyph_valid(g) ((g)->info.width || (g)->info.height) +#define glyph_copy_size(r, g) do { \ + (r)->width = (g)->info.width; \ + (r)->height = (g)->info.height; \ +} while (0) #if HAS_PIXMAN_GLYPHS static pixman_glyph_cache_t *__global_glyph_cache;