From fcdf523b9864340e5ce8acff2335ff9342373849 Mon Sep 17 00:00:00 2001 From: JunsuChoi Date: Wed, 5 Feb 2020 10:47:14 +0900 Subject: [PATCH] software_evas_engine: Remove unnecessary member for ector_surface_set Summary: The clear of the Evas_Thread_Command_Ector_Surface structure is an unmanaged variable. When ector calls _draw_thread_ector_surface_set and it checks the clear value. the clear value is garbage value. This can cause the pixels to fail to initialize. This is why afterimages remain after updating shapes while using ector surfaces. Test Plan: ./build/src/examples/evas/efl-canvas-vg-simple 1 - Basic Shape test Scale up 's' or do something Reviewers: Hermet, smohanty, kimcinoo Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11278 --- src/modules/evas/engines/software_generic/evas_engine.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 44c169c781..13c6e5fec1 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -414,7 +414,6 @@ struct _Evas_Thread_Command_Ector_Surface Ector_Surface *ector; void *pixels; int x, y; - Eina_Bool clear; }; // declare here as it is re-used @@ -4455,7 +4454,7 @@ _draw_thread_ector_surface_set(void *data) x = ector_surface->x; y = ector_surface->y; // clear the surface before giving to ector - if (ector_surface->clear) memset(pixels, 0, (w * h * 4)); + memset(pixels, 0, (w * h * 4)); } }