From cdb86e34bbf82bd91aefd686bfc3bdf2a018a956 Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Fri, 1 Nov 2013 11:09:58 +0900 Subject: [PATCH] Evas: Fixed textblock rendering to properly set render operation on context. Render operation are not well tested. It appears that it was never properly setted on a textblock, this would lead to see it rendered with the render operation of another object. Test Plan: Add some rectangle object with textblock object. The textblock style should be set to "backing=on backing_color=#ffffffff". Set render operation to some rectangle with "evas_object_render_op_set(rect, EVAS_RENDER_COPY)". Check the textblock. Reviewers: woohyun, cedric, raster Reviewed By: cedric CC: cedric Differential Revision: https://phab.enlightenment.org/D277 Signed-off-by: Cedric Bail --- ChangeLog | 4 ++++ NEWS | 1 + src/lib/evas/canvas/evas_object_textblock.c | 1 + 3 files changed, 6 insertions(+) diff --git a/ChangeLog b/ChangeLog index c5042ad8fb..911499155c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ 2013-10-24 Sung W. Park (sung_) * EvasGL: Fixed direct rendering mode not clipping to its clip region. +2013-10-24 Youngbok Shin + + * Evas: Fix textblock rendering to properly set render operation on the context. + 2013-10-18 Youngbok Shin * Fixed the textblock format to be drawn according to diff --git a/NEWS b/NEWS index 99ca54a673..2b4f923a81 100644 --- a/NEWS +++ b/NEWS @@ -358,6 +358,7 @@ Fixes: - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving). - Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself. - Fixed the textblock format to be drawn according to the glyph's horizontal advance width. + - Fixed the textblock set to context with the textblock object's render operation. * Ecore: - Don't leak fd on exec. diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 0566f9303f..0c01a86a5b 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -10726,6 +10726,7 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED, /* render object to surface with context, and offxet by x,y */ obj->layer->evas->engine.func->context_multiplier_unset(output, context); + ENFN->context_render_op_set(output, context, obj->cur->render_op); /* FIXME: This clipping is just until we fix inset handling correctly. */ ENFN->context_clip_clip(output, context, obj->cur->geometry.x + x,