jpeg pushed a commit to branch efl-1.9. http://git.enlightenment.org/core/efl.git/commit/?id=79a2c8d503ab9328c7629d53bcdaa79f1240cd34
commit 79a2c8d503ab9328c7629d53bcdaa79f1240cd34 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Tue Mar 11 15:11:21 2014 +0900 Evas filters: Fix 1-D blurs on a single buffer When a blur operation requires a copy-back to the source buffer, then the render_op must be set to COPY instead of BLEND. Otherwise the non blurred content will be visible. @fix --- src/lib/evas/filters/evas_filter.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index 5a81f89..0a48869 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -962,12 +962,17 @@ evas_filter_command_blur_add(Evas_Filter_Context *ctx, void *drawctx, if (copy_back) { + int render_op; + if (!cmd) goto fail; if (!copybuf) goto fail; INF("Add copy %d -> %d", copybuf->id, blur_out->id); cmd->ENFN->context_color_set(cmd->ENDT, drawctx, 0, 0, 0, 255); + render_op = cmd->ENFN->context_render_op_get(cmd->ENDT, drawctx); + cmd->ENFN->context_render_op_set(cmd->ENDT, drawctx, EVAS_RENDER_COPY); id = evas_filter_command_blend_add(ctx, drawctx, copybuf->id, blur_out->id, ox, oy, EVAS_FILTER_FILL_MODE_NONE); cmd->ENFN->context_color_set(cmd->ENDT, drawctx, R, G, B, A); + cmd->ENFN->context_render_op_set(cmd->ENDT, drawctx, render_op); if (id < 0) goto fail; ox = oy = 0; } --