summaryrefslogtreecommitdiff
path: root/src/lib/evas
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman.samsung@gmail.com>2018-10-22 10:35:39 -0500
committerDerek Foreman <derek.foreman.samsung@gmail.com>2018-12-14 09:52:09 -0600
commit21726e05fc2b62e41c138cbce16c6a7e0e3d20d8 (patch)
tree73540586f17f60f728d62a1f6a8b7b1a24b967d2 /src/lib/evas
parent706f377edd5581f66b38b95441eb03fab97401b7 (diff)
evas_render: Ensure proper rendering when objects are on planes
If only objects on planes change, we don't see any damage for the main buffer, so a page flip never occurs and the plane doesn't update. For now forcing a tiny damage area is the easy way to work around this. Also force a pixels get callback for enlightenment's surface frame callback tracking. Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com> Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D7196
Diffstat (limited to 'src/lib/evas')
-rw-r--r--src/lib/evas/canvas/evas_object_main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_main.c b/src/lib/evas/canvas/evas_object_main.c
index e0f02da945..954528ca29 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -839,6 +839,18 @@ evas_object_render_pre_effect_updates(Eina_Array *rects, Evas_Object *eo_obj, in
839 if (!obj->layer) return; 839 if (!obj->layer) return;
840 840
841 if (obj->is_smart) goto end; 841 if (obj->is_smart) goto end;
842
843 if (evas_object_is_on_plane(eo_obj, obj))
844 {
845 /* We need some damage to occur if only planes are being updated,
846 or nothing will provoke a page flip.
847 */
848 obj->layer->evas->engine.func->output_redraws_rect_add(ENC,
849 0, 0, 1, 1);
850 /* Force a pixels get callback for E's benefit :( */
851 evas_object_pixels_get_force(eo_obj, obj);
852 goto end;
853 }
842 /* FIXME: was_v isn't used... why? */ 854 /* FIXME: was_v isn't used... why? */
843 if (!obj->clip.clipees) 855 if (!obj->clip.clipees)
844 { 856 {