summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2015-10-02 16:51:43 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-10-02 17:11:35 +0900
commitb38f8a3f39008845ac42ee04a83cf76c23b281c0 (patch)
treec9e7ed87388f16d69acc54d5f03bde07ad3ca35f /src/lib/evas/canvas
parent90b96b07d9d39bb98f7d362fbfdd386deceefa84 (diff)
Evas GL: Fix render: force pixel_get if dirty
All examples and docs point to using only the dirty flag in order to trigger a redraw of an Evas GL surface. The commit 21c43528234 broke this behaviour (for a good reason, but not related to Evas GL). This is a compatibility fix.
Diffstat (limited to 'src/lib/evas/canvas')
-rw-r--r--src/lib/evas/canvas/evas_object_image.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c
index b366831ab5..76c1009b29 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -3751,6 +3751,19 @@ evas_object_image_render_pre(Evas_Object *eo_obj,
3751 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); 3751 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);
3752 if (!o->pixels->pixel_updates) goto done; 3752 if (!o->pixels->pixel_updates) goto done;
3753 } 3753 }
3754 if (o->dirty_pixels && ENFN->image_native_get)
3755 {
3756 /* Evas GL surfaces have historically required only the dirty
3757 * pixel to trigger a redraw (call to pixels_get). Other kinds
3758 * of surfaces must add data update regions. */
3759 Evas_Native_Surface *ns;
3760 ns = ENFN->image_native_get(ENDT, o->engine_data);
3761 if (ns && (ns->type == EVAS_NATIVE_SURFACE_EVASGL))
3762 {
3763 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);
3764 if (!o->pixels->pixel_updates) goto done;
3765 }
3766 }
3754 if (o->cur->frame != o->prev->frame) 3767 if (o->cur->frame != o->prev->frame)
3755 { 3768 {
3756 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj); 3769 evas_object_render_pre_prev_cur_add(&e->clip_changes, eo_obj, obj);