efl/src/lib/evas/filters
Tom Hacohen a6a2338962 Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
This reverts commit 546ff7bbba.

It seems that eo_del() is useful and removing it was creating bugs.
The issue is that the way we defined parents in eo, both the parent and
the programmer share a reference to the object. When we eo_unref() that
reference as the programmer, eo has no way to know it's this specific
reference we are freeing, and not a general one, so in some
circumstances, for example:
eo_ref(child);
eo_unref(child); // trying to delete here
eo_unref(container); // container is deleted here
eo_unref(child); // child already has 0 refs before this point.

We would have an issue with references and objects being freed too soon
and in general, issue with the references.

Having eo_del() solves that, because this one explicitly unparents if
there is a parent, meaning the reference ownership is explicitly taken
by the programmer.

eo_del() is essentially a convenience function around "check if has
parent, and if so unparent, otherwise, unref". Which should be used when
you want to delete an object although it has a parent, and is equivalent
to eo_unref() when it doesn't have one.
2016-06-01 13:33:21 +01:00
..
blur Evas filters: Prevent division by 0 2014-10-28 10:54:51 +09:00
lua Evas filters: Fix for Lua 5.3 (with --enable-lua-old) 2015-08-18 18:31:39 +09:00
evas_filter.c Revert "Eo: Remove eo_del() and make eo_unref() the replacement." 2016-06-01 13:33:21 +01:00
evas_filter_blend.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_blur.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_bump.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_curve.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_displace.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_fill.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_mask.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_parser.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_private.h Ector generic: Remove .Generic and .Base (hack no longer needed). 2016-05-11 12:57:55 +01:00
evas_filter_transform.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
evas_filter_utils.c Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00