diff --git a/src/lib/evas/canvas/evas_object_image.c b/src/lib/evas/canvas/evas_object_image.c index 043ad92b3b..4524768ac9 100644 --- a/src/lib/evas/canvas/evas_object_image.c +++ b/src/lib/evas/canvas/evas_object_image.c @@ -3231,8 +3231,9 @@ _proxy_set(Evas_Object *eo_proxy, Evas_Object *eo_src) EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, src->proxy, Evas_Object_Proxy_Data, proxy_src_write) { - proxy_src_write->proxies = eina_list_append(proxy_src_write->proxies, - eo_proxy); + if (!eina_list_data_find(proxy_src_write->proxies, eo_proxy)) + proxy_src_write->proxies = eina_list_append(proxy_src_write->proxies, + eo_proxy); proxy_src_write->redraw = EINA_TRUE; } EINA_COW_WRITE_END(evas_object_proxy_cow, src->proxy, proxy_src_write); diff --git a/src/lib/evas/filters/evas_filter.c b/src/lib/evas/filters/evas_filter.c index cfaa1fc730..8bf7b475ed 100644 --- a/src/lib/evas/filters/evas_filter.c +++ b/src/lib/evas/filters/evas_filter.c @@ -148,7 +148,8 @@ evas_filter_context_proxy_bind(Evas_Filter_Context *ctx, Evas_Object *eo_proxy, EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, source->proxy, Evas_Object_Proxy_Data, proxy_src_write) { - proxy_src_write->proxies = eina_list_append(proxy_src_write->proxies, eo_proxy); + if (!eina_list_data_find(source->proxy->proxies, eo_proxy)) + proxy_src_write->proxies = eina_list_append(proxy_src_write->proxies, eo_proxy); proxy_src_write->redraw = EINA_TRUE; } EINA_COW_WRITE_END(evas_object_proxy_cow, source->proxy, proxy_src_write);