examples/unsorted
Tom Hacohen 250be1e27a Revert "Eo: Remove eo_del() and make eo_unref() the replacement."
This reverts commit 546ff7bbba788ec834c5608361c0834853f2d5d7.

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
..
ecore Revert "Eo: Remove eo_del() and make eo_unref() the replacement." 2016-06-01 13:33:21 +01:00
ecore_avahi ecore_avahi: remove useless printf. 2014-02-28 19:58:25 -03:00
edje Automatic migration to Eo4. 2016-03-03 09:58:08 +00:00
eet eet_example: Fixing memory leak. 2015-09-08 10:23:42 +02:00
eina example: eina log - set eina log levels in examples 2016-04-13 15:29:29 +05:30
eina_cxx tests: Added config.h to tests. 2014-07-18 18:55:56 -03:00
eio eio: Adds Eo-based Eio API 2016-05-25 21:32:03 -03:00
eldbus Efl, Eio, Eldbus, Elementary: new model API use eina_promise 2016-04-29 13:21:24 -03:00
elementary Revert "Eo: Remove eo_del() and make eo_unref() the replacement." 2016-06-01 13:33:21 +01:00
elocation examples/elocation: Remove unused config.h include 2015-01-09 18:25:42 +01:00
emile emile: Added example program for base64 encoding and decoding. 2016-01-14 11:28:40 +09:00
emotion examples: emotion: adapt to name change from obj to object 2016-05-19 09:19:06 +02:00
eolian_cxx examples: eolian_cxx: fix some problems after changing the colourable namespace 2016-05-10 11:10:24 +02:00
ephysics Use key instead of keyname for considering setxkbmap 2014-01-04 13:25:21 +09:00
ethumb_client efl: add makefile.examples to each lib 2013-02-08 17:35:24 +00:00
evas evas: updated evas_vg_sample with the appen_arc() api as well as _shape_dup() api test. 2016-05-31 14:59:26 -07:00