evas/map - fixed afterimage problem. now we don't need work-around code anymore.
[framework/uifw/evas.git] / src / lib / canvas / evas_object_smart.c
index 4c1ed67..0506488 100644 (file)
@@ -907,8 +907,23 @@ static void
 evas_object_smart_render_pre(Evas_Object *obj)
 {
    if (obj->pre_render_done) return;
-   if ((obj->cur.map != obj->prev.map) ||
-       (obj->cur.usemap != obj->prev.usemap))
+   if (!obj->child_has_map)
+     {
+#if 0
+        Evas_Object_Smart *o;
+
+        o = (Evas_Object_Smart *)(obj->object_data);
+        if (o->member_count > 1 &&
+            obj->cur.bounding_box.w == obj->prev.bounding_box.w &&
+            obj->cur.bounding_box.h == obj->prev.bounding_box.h &&
+            (obj->cur.bounding_box.x != obj->prev.bounding_box.x ||
+             obj->cur.bounding_box.y != obj->prev.bounding_box.y))
+          {
+             fprintf(stderr, "Wouhou, I can detect moving smart object (%s, %p < %p)\n", evas_object_type_get(obj), obj, obj->smart.parent);
+          }
+#endif
+     }
+   if (obj->changed_map)
      evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, obj);
 
    obj->pre_render_done = EINA_TRUE;