Cedric BAIL
0d52ded215
elementary: destroy timer as they could tick during shutdown.
2018-05-24 16:02:20 -07:00
Cedric BAIL
3d94f477d4
elementary: properly destroy block events object during destruction.
2018-05-24 16:02:20 -07:00
Cedric BAIL
75bb7c049f
evas: do not crash if constructor fail and invalidate is run on a partial object.
2018-05-24 16:02:20 -07:00
Cedric BAIL
ccf320b06a
eo: improve error reporting to display object pointer (without accessing it).
2018-05-24 16:02:20 -07:00
Cedric BAIL
5f5af596e0
elementary: cleanup genlist destructor to order content destruction correctly.
2018-05-24 16:02:20 -07:00
Cedric BAIL
15995ff0eb
evas: make evas_object_free work in case of lost reference to Eo object.
...
This is clearly a workaround to a bad situation, but there is no case
that I can find that solely lead to object being NULL nor is there any
code that should do that, but still it does in some case...
2018-05-24 16:02:20 -07:00
Cedric BAIL
33c278b898
evas: detect incoherency in object content and report problem.
2018-05-24 16:02:20 -07:00
Cedric BAIL
062471b5ee
evas: handle Evas_Object constructor failure case better.
2018-05-24 16:02:20 -07:00
Cedric BAIL
94a9a733a5
edje: simplify part handling as we are now guaranteed that a part as no parent when reaching the del intercept.
2018-05-24 16:02:20 -07:00
Cedric BAIL
0bf7a5ea13
eo: make sure that reporting object refcount during efl_noref, doesn't lead to recursive loop.
2018-05-24 16:02:20 -07:00
Cedric BAIL
5c23ea00b4
eo: add warning in case of a terrible situation happen.
2018-05-24 16:02:20 -07:00
Cedric BAIL
b0aa5d806b
eo: efl_invalidate should also be triggered for object with no parent before the destructor.
2018-05-24 16:02:20 -07:00
Cedric BAIL
f7b08c4537
ecore: properly cleanup variable on shutdown, so that cycling another init doesn't crash.
2018-05-24 16:02:20 -07:00
Cedric Bail
a8b70953e4
evas: improve evas child destruction order.
...
Technically I do not thing it is a correct behavior to force destroy
reference that evas do not hold, but evas_object are deaply tied to
the canvas they are build on and even after invalidate it is hard
to not have function call that would lead to crash. Making the pointer
incorrect thanks to eo indirection seems safer here.
2018-05-24 16:02:20 -07:00
Cedric Bail
429084e2fb
evas: do not override lifecycle by overriding efl_parent_set.
2018-05-24 16:02:20 -07:00
Cedric Bail
4479d035be
evas: reindent code properly.
2018-05-24 16:02:19 -07:00
Cedric Bail
e1d41eef3a
eo: actually enforcing the efl_parent_set code path is necessary to enforce the predictability of the code path.
2018-05-24 16:02:19 -07:00
Cedric Bail
23e2c0bdb8
eo: as efl_del is not an Eo API call anymore, manually protect call with refcount.
2018-05-24 16:02:19 -07:00
Cedric Bail
48b8118123
eo: update refcount before sending efl_noref event to avoid double update during events propagation.
2018-05-24 16:02:19 -07:00
Cedric Bail
a16d127997
ecore: because fd_handler do not have the main loop as parent, the main loop can die before them.
2018-05-24 16:02:19 -07:00
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