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)
|
||||
//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_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)
|
||||
{
|
||||
if (!fb || !fb->buffer) return;
|
||||
efl_unref(fb->buffer);
|
||||
_buffer_del((Eo *)fb->buffer);
|
||||
fb->buffer = NULL;
|
||||
}
|
||||
|
||||
|
@ -600,7 +611,7 @@ evas_filter_buffer_backing_set(Evas_Filter_Context *ctx, int bufid,
|
|||
ret = EINA_TRUE;
|
||||
|
||||
end:
|
||||
if (fb->buffer != buffer) efl_unref(fb->buffer);
|
||||
if (fb->buffer != buffer) _buffer_del((Eo *)fb->buffer);
|
||||
fb->buffer = buffer;
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue