summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_object_smart.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/evas/canvas/evas_object_smart.c')
-rw-r--r--src/lib/evas/canvas/evas_object_smart.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/lib/evas/canvas/evas_object_smart.c b/src/lib/evas/canvas/evas_object_smart.c
index 012a7f4374..a9e654bdcb 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -1377,12 +1377,27 @@ evas_object_smart_changed_get(Evas_Object_Protected_Data *obj)
1377 return EINA_FALSE; 1377 return EINA_FALSE;
1378 1378
1379 //b. Object clipper visibility 1379 //b. Object clipper visibility
1380 if ((obj->prev->clipper && obj->cur->clipper) && 1380 if (obj->prev->clipper && obj->cur->clipper)
1381 ((!obj->prev->clipper->cur->visible && 1381 {
1382 !obj->cur->clipper->cur->visible) || 1382 if (obj->prev->clipper != obj->cur->clipper)
1383 ((obj->prev->clipper->cur->color.a == 0) && 1383 {
1384 (obj->cur->clipper->cur->color.a == 0)))) 1384 /* check between prev clipper and current clipper */
1385 return EINA_FALSE; 1385 if ((!obj->prev->clipper->cur->visible &&
1386 !obj->cur->clipper->cur->visible) ||
1387 ((obj->prev->clipper->cur->color.a == 0) &&
1388 (obj->cur->clipper->cur->color.a == 0)))
1389 return EINA_FALSE;
1390 }
1391 else
1392 {
1393 /* check between prev value and current value of clipper */
1394 if ((!obj->cur->clipper->prev->visible &&
1395 !obj->cur->clipper->cur->visible) ||
1396 ((obj->cur->clipper->prev->color.a == 0) &&
1397 (obj->cur->clipper->cur->color.a == 0)))
1398 return EINA_FALSE;
1399 }
1400 }
1386 1401
1387 if (!obj->clip.clipees) 1402 if (!obj->clip.clipees)
1388 { 1403 {