From fbc60fc6f45a676430c1ebd5b81a5e2ff12b9934 Mon Sep 17 00:00:00 2001 From: Josep Torra Date: Fri, 1 Apr 2011 15:33:42 +0200 Subject: [PATCH] textoverlay: fix comparison is always false due to limited range of data type Perform calculation in a temp var with enough room as there's guarantee that ret will be able to hold the result for example in _blit_AYUV. --- ext/pango/gsttextoverlay.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ext/pango/gsttextoverlay.c b/ext/pango/gsttextoverlay.c index 21ac013..914c216 100644 --- a/ext/pango/gsttextoverlay.c +++ b/ext/pango/gsttextoverlay.c @@ -145,8 +145,9 @@ GST_DEBUG_CATEGORY (pango_debug); #define OVER(ret, alphaA, Ca, alphaB, Cb, alphaNew) \ { \ - ret = (Ca * alphaA + Cb * alphaB * (255 - alphaA) / 255) / alphaNew; \ - ret = CLAMP (ret, 0, 255); \ + gint _tmp; \ + _tmp = (Ca * alphaA + Cb * alphaB * (255 - alphaA) / 255) / alphaNew; \ + ret = CLAMP (_tmp, 0, 255); \ } #if G_BYTE_ORDER == G_LITTLE_ENDIAN -- 2.7.4