Cedric Bail
5c9815676b
evas: move the del event to match invalidate and free event to the end of the destructor.
2018-05-24 16:02:19 -07:00
Cedric BAIL
b5b9f72f57
elementary: when there is no file listed yet, no need to request them.
2018-05-24 16:02:19 -07:00
Cedric BAIL
842b2ec381
eina: make it possible to return an EINA_VALUE_EMPTY by just requesting a new value of type NULL.
2018-05-24 16:02:19 -07:00
Cedric BAIL
671fc92f08
eina: check the type before looking at anything else to avoid triggering valgrind warning.
2018-05-24 16:02:19 -07:00
Cedric BAIL
e4a6aaa4c1
elementary: enforce walk to protect the object existence by using eo refcounting.
2018-05-24 16:02:19 -07:00
Cedric BAIL
048a93e6e3
elementary: reorder operation to only call efl_parent_set when the object still has a chance to exist.
2018-05-24 16:02:19 -07:00
Cedric BAIL
ddccd9e306
evas: destructor can not be called recursively, we should rely on Eo refcount.
2018-05-24 16:02:19 -07:00
Cedric Bail
d052f001be
eo: move destruction of the link with children to be always after invalidate.
2018-05-24 16:02:19 -07:00
Cedric Bail
3a1fe14742
eo: propagate invalidate before destroying the link to the parent.
2018-05-24 16:02:19 -07:00
Cedric Bail
91cd4f7c0c
evas: actually we do not even need to NULL it, if we wref it.
2018-05-24 16:02:19 -07:00
Cedric Bail
3347db4bea
edje: do not reparent when the object is dead already.
2018-05-24 16:02:19 -07:00
Cedric Bail
a3c91d14a9
eo: improve message for debugging life cycle issues.
2018-05-24 16:02:19 -07:00
Cedric Bail
f49ccff71d
edje: forgot to propagate invalidate upward.
2018-05-24 16:02:19 -07:00
Lauro Moura
02f77eb092
cxx: Fix examples after part changes
...
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Lauro Moura
969efc6399
examples: Elm: Add dependency on efl.la due to efl_part
...
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Lauro Moura
f510d536a4
efl_mono: Fixes after efl_part/del changes.
...
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Cedric Bail
bff5c37c1b
ecore_evas: we shouldn't do anything when we are deleted.
2018-05-24 16:02:19 -07:00
Cedric Bail
741f3e39ed
evas: preserve evas_object_del logic to not really destroy an object until it is fully unref first.
2018-05-24 16:02:19 -07:00
Cedric Bail
c2e8b492b1
evas: enforce legacy parent to be the canvas.
2018-05-24 16:02:19 -07:00
Cedric Bail
f44511d0f9
elementary: refactor by using elm_legacy_add.
2018-05-24 16:02:19 -07:00
Cedric Bail
b482107a19
evas: add a way to figure out the evas class that should be the real parent for all legacy object.
2018-05-24 16:02:19 -07:00
Cedric BAIL
f29e1db94b
elementary: make toolbar 'more_item' properly self destruct.
2018-05-24 16:02:19 -07:00
Cedric BAIL
2ce788063a
elementary: no need to recalculate the layout during invalidate.
2018-05-24 16:02:19 -07:00
Cedric BAIL
9e0f9539dd
elementary: the pan object of the map object was created with efl_add, adjust accordingly.
2018-05-24 16:02:19 -07:00
Cedric BAIL
0fe3b7962d
elementary: due to lifecycle difference between legacy object and unified object, we need to track their lifecycle more explicitely.
...
It is my understanding that some items view are created with efl_add directly
and manipulate VIEW directly with Eo new API. This clash with the inconsistent
behavior that evas_object_del expect. To work around this, we track object life
by explictely relying on efl_wref_add while holding the pointer to the object.
2018-05-24 16:02:19 -07:00
Cedric BAIL
0239099d01
eo: efl_del should not be something anyone can override this can break so many things.
...
Allowing override of efl_del allow for messing with object life cycle which can create
problem for binding where an object was expected to be invalidated, but isn't really.
2018-05-24 16:02:19 -07:00
Cedric BAIL
30d02a7410
evas: try to protect old legacy lifecycle without overloading Efl.Del.
2018-05-24 16:02:19 -07:00
Cedric BAIL
590304d597
eio: properly handle Eio.Model lifecycle inside Elm.Fileselector.
...
Differential Revision: https://phab.enlightenment.org/D6107
2018-05-24 16:02:18 -07:00
Cedric BAIL
c753fc793b
elementary: dayselector use efl_add to create the object, calling efl_del during destructor make no sense.
...
Differential Revision: https://phab.enlightenment.org/D6106
2018-05-24 16:02:18 -07:00
Cedric BAIL
1991900fd6
elementary: no need to check for part during destruction.
...
Differential Revision: https://phab.enlightenment.org/D6105
2018-05-24 16:02:18 -07:00
Cedric BAIL
6476896ec5
elementary: no need for resize an object during destruction.
...
Differential Revision: https://phab.enlightenment.org/D6104
2018-05-24 16:02:18 -07:00
Cedric BAIL
2508c1a3ae
elementary: colorselector item are created with efl_add, so they are dead when they reach the destructor.
...
Differential Revision: https://phab.enlightenment.org/D6103
2018-05-24 16:02:18 -07:00
Cedric BAIL
dbbcfa4a59
elementary: small correction in the API of Efl.Access.Object to have proper lifecycle.
...
This API require more review, I have just fixed API that return type that are
inconsistent over time and fail to allow for proper lifecycle of event, which
lead to crash when those event trigger at unexpected point.
Differential Revision: https://phab.enlightenment.org/D6102
2018-05-24 16:02:18 -07:00
Cedric BAIL
fe14abd929
evas: refactor efl_input_event and remove some of the lifecycle hack.
...
Differential Revision: https://phab.enlightenment.org/D6101
2018-05-24 16:02:18 -07:00
Cedric BAIL
c447b61756
eo: actually during invalidating we already have an invalidated object.
...
Differential Revision: https://phab.enlightenment.org/D6100
2018-05-24 16:02:18 -07:00
Cedric BAIL
4c9a33a388
eo: move EFL internal function ___efl_ref2 also to eo_internal.h
...
Differential Revision: https://phab.enlightenment.org/D6099
2018-05-24 16:02:18 -07:00
Cedric BAIL
8a513a522e
efl: major rewrite of efl_part.
...
The interface efl_part_get should not be directly called from C, but the efl_part
wrapper should. It rely on efl_noref to properly destroy the object. Binding can
control the lifecycle of the reference the way they want by either calling the
wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set
doesn't need to be exposed outside of EFL anymore.
Differential Revision: https://phab.enlightenment.org/D6098
2018-05-24 16:02:18 -07:00
Cedric BAIL
c28eb28728
eo: check for allow_parent_unref during efl_unref and silence warning.
...
Differential Revision: https://phab.enlightenment.org/D6097
2018-05-24 16:02:18 -07:00
Cedric BAIL
dcfddcd283
eo: make sure efl_noref is always called at the proper time.
...
Differential Revision: https://phab.enlightenment.org/D6096
2018-05-24 16:02:18 -07:00
Cedric BAIL
79e4947f3e
eo: add an automatic fallback at the moment when efl_unref instead of efl_del is called.
...
Differential Revision: https://phab.enlightenment.org/D6095
2018-05-24 16:02:18 -07:00
Cedric Bail
c1cef1e74b
elementary: object created with efl_add should be destroyed with efl_del.
...
Differential Revision: https://phab.enlightenment.org/D6094
2018-05-24 16:02:18 -07:00
Cedric Bail
0135b23e45
elementary: object allocated with efl_add should be destroyed with efl_del.
...
Differential Revision: https://phab.enlightenment.org/D6093
2018-05-24 16:02:18 -07:00
Cedric Bail
aaa827c2d2
eldbus: fix unref of eldbus to not throw warning all over the place.
...
Especially to note, that when giving a message to send, the caller
do not own it anymore and should not unref it.
Differential Revision: https://phab.enlightenment.org/D6092
2018-05-24 16:02:18 -07:00
Cedric Bail
6e078edaa9
eldbus: manage death of children during invalidate.
...
Differential Revision: https://phab.enlightenment.org/D6091
2018-05-24 16:02:18 -07:00
Cedric Bail
71cd44c176
eldbus: object created with efl_add should be destroyed with efl_del.
...
Differential Revision: https://phab.enlightenment.org/D6090
2018-05-24 16:02:18 -07:00
Cedric Bail
6bb450d7ee
ecore: first invalidate the loop and its children, then destroy all the object capability.
...
Differential Revision: https://phab.enlightenment.org/D6089
2018-05-24 16:02:18 -07:00
Cedric BAIL
93a49da161
eo: optimize efl object reuse by limiting the amount of call to pointer translation.
...
Differential Revision: https://phab.enlightenment.org/D6088
2018-05-24 16:02:18 -07:00
Cedric BAIL
ae5d0005d3
edje: properly handle lifecycle of edje global object.x
...
Differential Revision: https://phab.enlightenment.org/D6087
2018-05-24 16:02:18 -07:00
Cedric BAIL
ef6cac1476
eo: prevent parenting to an already invalidated parent.
...
Differential Revision: https://phab.enlightenment.org/D6086
2018-05-24 16:02:18 -07:00
Cedric BAIL
546a4c79e0
eo: only call efl_parent_set(NULL) at the end of invalidate if the object is not invalidating.
...
Add also a comment to justify why we do force parent to NULL during invalidate.
Differential Revision: https://phab.enlightenment.org/D6085
2018-05-24 16:02:18 -07:00