forked from enlightenment/efl
evas filter: remove critical messages from Evas Filter
Summary: When you run filter examples with enabling GL engine support, you can see critical messages which say don't use efl_unref for buffer object. So, efl_unref has to be replaced with efl_del. @fix Test Plan: Run filter example with GL Reviewers: cedric, Hermet, raster, woohyun Reviewed By: Hermet Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7119
This commit is contained in:
parent
9de082eb83
commit
4107e7644d
|
@ -41,6 +41,17 @@ static void _filter_buffer_unlock_all(Evas_Filter_Context *ctx);
|
||||||
#define _free(ptr) free(ptr)
|
#define _free(ptr) free(ptr)
|
||||||
//eina_freeq_ptr_main_add(ptr, NULL, sizeof(*ptr))
|
//eina_freeq_ptr_main_add(ptr, NULL, sizeof(*ptr))
|
||||||
|
|
||||||
|
static void
|
||||||
|
_buffer_del(Eo *buffer)
|
||||||
|
{
|
||||||
|
if (!buffer) return;
|
||||||
|
|
||||||
|
if (efl_parent_get(buffer))
|
||||||
|
efl_del(buffer);
|
||||||
|
else
|
||||||
|
efl_unref(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
Evas_Filter_Context *
|
Evas_Filter_Context *
|
||||||
evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async, void *user_data)
|
evas_filter_context_new(Evas_Public_Data *evas, Eina_Bool async, void *user_data)
|
||||||
{
|
{
|
||||||
|
@ -116,7 +127,7 @@ static void
|
||||||
_filter_buffer_backing_free(Evas_Filter_Buffer *fb)
|
_filter_buffer_backing_free(Evas_Filter_Buffer *fb)
|
||||||
{
|
{
|
||||||
if (!fb || !fb->buffer) return;
|
if (!fb || !fb->buffer) return;
|
||||||
efl_unref(fb->buffer);
|
_buffer_del((Eo *)fb->buffer);
|
||||||
fb->buffer = NULL;
|
fb->buffer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -600,7 +611,7 @@ evas_filter_buffer_backing_set(Evas_Filter_Context *ctx, int bufid,
|
||||||
ret = EINA_TRUE;
|
ret = EINA_TRUE;
|
||||||
|
|
||||||
end:
|
end:
|
||||||
if (fb->buffer != buffer) efl_unref(fb->buffer);
|
if (fb->buffer != buffer) _buffer_del((Eo *)fb->buffer);
|
||||||
fb->buffer = buffer;
|
fb->buffer = buffer;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue