Evas filters: Add proxy source only once

If the proxy has already been added to the list of
proxy sources, don't add it again. This is for the filters
case where unset isn't even called :)
This commit is contained in:
Jean-Philippe Andre 2014-01-24 16:41:21 +09:00
parent 95550feb30
commit 712566939d
2 changed files with 5 additions and 3 deletions

View File

@ -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);

View File

@ -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);