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
This commit is contained in:
Youngbok Shin 2015-03-24 12:53:34 +09:00 committed by ChunEon Park
parent c7af3af835
commit b8b6c1e1a8
2 changed files with 16 additions and 10 deletions

View File

@ -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);

View File

@ -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;