o->created || !o->video_visible)
o->video.resize(o->video.data, obj, &o->video, obj->cur.cache.clip.w, obj->cur.cache.clip.h);
if (!o->video_visible || o->created)
- o->video.show(o->video.data, obj, &o->video);
+ {
+ o->video.show(o->video.data, obj, &o->video);
+ }
+ else
+ {
+ /* Cancel dirty on the image */
+ Eina_Rectangle *r;
+
+ o->dirty_pixels = 0;
+ EINA_LIST_FREE(o->pixel_updates, r)
+ eina_rectangle_free(r);
+ }
o->video_visible = EINA_TRUE;
o->created = EINA_FALSE;
}
&e->render_objects,
&redraw_all);
- _evas_render_phase1_direct(e, &e->active_objects, &e->restack_objects,
- &e->delete_objects, &e->render_objects);
-
/* phase 1.5. check if the video should be inlined or stay in their overlay */
alpha = e->engine.func->canvas_alpha_get(e->engine.data.output,
e->engine.data.context);
_evas_object_image_video_overlay_hide(obj);
}
+
+ /* phase 1.8. pre render for proxy */
+ _evas_render_phase1_direct(e, &e->active_objects, &e->restack_objects,
+ &e->delete_objects, &e->render_objects);
+
/* phase 2. force updates for restacks */
for (i = 0; i < e->restack_objects.count; ++i)
{