Cedric BAIL
0eacebfec8
elementary: fix elm_list items lifecycle.
...
Elm.List.Item lifecycle where an exception in Efl. They were trying to prevent the death of
there parent, to avoid dealing with safely walking on items list. This has been on the todo
list for years and is now fixed by this patch.
2018-05-24 16:02:21 -07:00
Cedric BAIL
774ae32108
evas: make smart object deletion more robust to bad child behavior.
2018-05-24 16:02:21 -07:00
Cedric BAIL
40af4fe94b
elementary: refactor filesector target cleanup to not leave function handler behind.
2018-05-24 16:02:21 -07:00
Cedric BAIL
85598a8a40
elementary: make sure to use the model that generated the event to fetch information from.
2018-05-24 16:02:21 -07:00
Cedric BAIL
228ecdeb51
elementary: make sure fileselector button model has a parent and self destruct properly.
2018-05-24 16:02:21 -07:00
Cedric BAIL
901eeb94e3
eio: enforce eio model to have a parent that provide main loop access.
2018-05-24 16:02:21 -07:00
Cedric BAIL
b59911d5af
ecore: during shutdown their is no need to delay anything.
2018-05-24 16:02:21 -07:00
Cedric BAIL
38d8b615c8
eo: an object is invalidated if it is invalidated or if any parent is invalidated.
2018-05-24 16:02:21 -07:00
Cedric BAIL
384f30c8ec
ecore_con: disconnect from the server as soon as it request it.
...
Ecore_Event can still be in flight while the client get freed by the server.
We are protected agaist that and keep the client partially alive until the event
are processed, but we need to disconnect from the server as soon as possible
as we might outlive the server.
2018-05-24 16:02:21 -07:00
Cedric BAIL
256b2103c6
evas: disable del hook when pushed inside the hash.
...
This is necessary in case of cycling init/shutdown as the hash will
destroy the Event, but the hook will instantly reinsert it.
2018-05-24 16:02:21 -07:00
Cedric BAIL
5b9694da3e
eo: match raise of error level in tests.
2018-05-24 16:02:21 -07:00
Cedric BAIL
3489708052
eo: we are actually testing internal function too here.
2018-05-24 16:02:20 -07:00
Cedric BAIL
0c0f2b75e4
eo: add infrastructure to test critical Eina Error.
2018-05-24 16:02:20 -07:00
Cedric BAIL
48738d125c
eo: improve tests suite debugging by always displaying the error message before abort.
2018-05-24 16:02:20 -07:00
Cedric BAIL
b1954ce1e7
eo: move wref set to NULL to append after last event.
...
Making wref disapear before the last event require additional work to use
them during the FREE event. As I think we should introduce a wref that
disapear after the invalidate state, it makes sense to move that to a later
stage. Especially because their is no specific event related to them
being set to NULL.
2018-05-24 16:02:20 -07:00
Cedric Bail
4a3b0e7f25
evas: improve test to actually test something meaningful.
2018-05-24 16:02:20 -07:00
Cedric BAIL
a5f9ee5ab3
elementary: fix configuration destruction by actually calling the proper way of destruction.
2018-05-24 16:02:20 -07:00
Cedric Bail
b671a2c34f
evas: actually we expect gradient to live as long as the part that is using them.
2018-05-24 16:02:20 -07:00
Cedric Bail
301340baf6
ecore_con: allow for NULL to do nothing.
2018-05-24 16:02:20 -07:00
Cedric Bail
13ae5b1f0c
elementary: the config subsystem expect a stringshare.
2018-05-24 16:02:20 -07:00
Cedric Bail
7e4b66a58d
evas: multiple call to evas_object_del are allowed even after the first one succeeded.
2018-05-24 16:02:20 -07:00
Cedric Bail
fa795b17d3
eo: allow efl_part during object invalidate.
2018-05-24 16:02:20 -07:00
Cedric BAIL
a90b5fa930
eo: remove parent_sink as this hack should not be necessary anymore.
2018-05-24 16:02:20 -07:00
Cedric BAIL
0cc07f4e6b
eo: try to make efl_add and efl_add_ref refcounting sane in all case.
2018-05-24 16:02:20 -07:00
Cedric BAIL
2894a2e3c3
ecore_file: on shutdown properly set to NULL to avoid confusion when cycling init/shutdown.
2018-05-24 16:02:20 -07:00
Cedric BAIL
c49d293915
ecore: allow for NULL file handler request.
2018-05-24 16:02:20 -07:00
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