Evas masking: Fix potential issues with map & masking
authorJean-Philippe Andre <jp.andre@samsung.com>
Mon, 9 Feb 2015 12:34:04 +0000 (21:34 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Tue, 10 Feb 2015 02:41:10 +0000 (11:41 +0900)
These bugs have not been observed but the code logic did not
make sense.

@fix

src/lib/evas/common/evas_map_image_internal.c

index aac6932..bc3a809 100644 (file)
@@ -114,7 +114,7 @@ FUNC_NAME(RGBA_Image *src, RGBA_Image *dst,
           {
              func = evas_common_gfx_func_composite_pixel_mask_span_get(sa, ssa, da, cw, render_op);
              if (mul_col != 0xffffffff)
-               func2 = evas_common_gfx_func_composite_pixel_color_span_get(sa, ssa, mul_col, da, cw, render_op);
+               func2 = evas_common_gfx_func_composite_pixel_color_span_get(sa, ssa, mul_col, da, cw, EVAS_RENDER_COPY);
           }
         if (sa || anti_alias) src->cache_entry.flags.alpha = EINA_TRUE;
      }
@@ -185,7 +185,7 @@ FUNC_NAME_DO(RGBA_Image *src, RGBA_Image *dst,
      {
         buf = alloca(cw * sizeof(DATA32));
         if (ms->havea) sa = 1;
-        if (mask_ie)
+        if (!mask_ie)
           {
              if (mul_col != 0xffffffff)
                func = evas_common_gfx_func_composite_pixel_color_span_get(sa, ssa, dc->mul.col, da, cw, dc->render_op);
@@ -196,7 +196,7 @@ FUNC_NAME_DO(RGBA_Image *src, RGBA_Image *dst,
           {
              func = evas_common_gfx_func_composite_pixel_mask_span_get(sa, ssa, da, cw, dc->render_op);
              if (mul_col != 0xffffffff)
-               func2 = evas_common_gfx_func_composite_pixel_color_span_get(sa, ssa, dc->mul.col, da, cw, dc->render_op);
+               func2 = evas_common_gfx_func_composite_pixel_color_span_get(sa, ssa, dc->mul.col, da, cw, EVAS_RENDER_COPY);
           }
         if (sa || anti_alias) src->cache_entry.flags.alpha = EINA_TRUE;
      }