hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b8b6c1e1a8dd461026c47f316475f2812d32eeb0
commit b8b6c1e1a8dd461026c47f316475f2812d32eeb0 Author: Youngbok Shin <youngb.s...@samsung.com> Date: Tue Mar 24 12:53:34 2015 +0900 evas: Add safety check for NULL pointer of clipper. Summary: It caused crash when clipper is NULL and it makes evas test-suite fail. Test Plan: Run evas test-suite. (make check) Reviewers: woohyun, tasn, herdsman, Hermet Reviewed By: Hermet Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2215 --- src/lib/evas/canvas/evas_object_text.c | 13 ++++++++----- src/lib/evas/canvas/evas_object_textblock.c | 13 ++++++++----- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index 87c4d5a..e17bd63 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -2055,11 +2055,14 @@ normal_render: /* normal text */ ENFN->context_multiplier_unset(output, context); - ENFN->context_multiplier_set(output, context, - obj->cur->clipper->cur->cache.clip.r, - obj->cur->clipper->cur->cache.clip.g, - obj->cur->clipper->cur->cache.clip.b, - obj->cur->clipper->cur->cache.clip.a); + + if (obj->cur->clipper) + ENFN->context_multiplier_set(output, context, + obj->cur->clipper->cur->cache.clip.r, + obj->cur->clipper->cur->cache.clip.g, + obj->cur->clipper->cur->cache.clip.b, + obj->cur->clipper->cur->cache.clip.a); + COLOR_ONLY_SET(obj, cur->cache, clip); DRAW_TEXT(0, 0); ENFN->context_multiplier_unset(output, context); diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 7b836b3..7a70ac0 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -11669,11 +11669,14 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED, int line_position = evas_common_font_instance_underline_position_get(NULL); ENFN->context_multiplier_unset(output, context); - ENFN->context_multiplier_set(output, context, - obj->cur->clipper->cur->cache.clip.r, - obj->cur->clipper->cur->cache.clip.g, - obj->cur->clipper->cur->cache.clip.b, - obj->cur->clipper->cur->cache.clip.a); + + if (obj->cur->clipper) + ENFN->context_multiplier_set(output, context, + obj->cur->clipper->cur->cache.clip.r, + obj->cur->clipper->cur->cache.clip.g, + obj->cur->clipper->cur->cache.clip.b, + obj->cur->clipper->cur->cache.clip.a); + ITEM_WALK() { Evas_Object_Textblock_Text_Item *ti; --