efl/src/tests
Vitor Sousa 7c28762f15 efl-csharp: fix crash when events trigger after C# object `Dispose`
Summary:
Rework general event handling to check individually each event call, if the
object is not alive then the event will not be propagated.
WeakReferences (and lambdas capturing those WeakRefs) are used to ensure this.

Dispose methods in object now take care of checking if efl libraries are still
initialized and thread-safely unregister each event before performing an
efl_unref on the Eo object.

Event handling in C# is now centered around a single dictionary inside the
object: `EoEvents`.

C# event triggers now properly trigger events on C too.

Standardize C# event-triggering methods names (remove underscores).

Some diminished use of static memory due events no longer requiring static key
objects to be registered/unregistered.

Some fixing of white space generation for generated events.

Depends on D8431

Reviewers: lauromoura, felipealmeida, segfaultxavi

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8564
2019-04-05 19:59:47 -03:00
..
ecore tests: unset eina log callback at end of each efl_app promise test 2019-04-02 08:34:18 -04:00
ecore_audio_cxx eolian-cxx: Remove .Base requirement 2016-04-21 18:31:53 -03:00
ecore_con eolian: drop class function overriding 2019-02-13 16:59:58 +01:00
ecore_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
ector cmake: remove! 2018-12-20 20:07:26 +01:00
edje meson: correctly use the correct dependency 2019-04-05 08:15:39 -04:00
edje_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
eet cmake: remove! 2018-12-20 20:07:26 +01:00
eet_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
eeze cmake: remove! 2018-12-20 20:07:26 +01:00
efl efl: improve Efl.Container_Model test to have proper lifecycle. 2019-02-23 08:58:07 -05:00
efl_js eolian: implement new syntax for inheritance 2018-11-23 13:57:07 +01:00
efl_mono efl-csharp: fix crash when events trigger after C# object `Dispose` 2019-04-05 19:59:47 -03:00
efreet efreet test - use correct free func prototype for desktyp type add 2018-11-09 11:43:59 +00:00
eina Eina: implement strtod in C locale and remove linkl against msvcr100. 2019-02-28 14:36:42 +01:00
eina_cxx meson: use eolian_gen with -S 2018-12-03 19:00:26 +01:00
eio eio: add test to ensure proper lifecycle of Efl_Io object and futures. 2019-03-27 15:03:31 -07:00
eldbus cmake: remove! 2018-12-20 20:07:26 +01:00
eldbus_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
elementary efl_ui_test_callback: Removed defined but unused function 2019-04-03 13:08:59 -04:00
elementary_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
elocation tests: add instrumentation to existing tests to find slow tests 2018-04-05 11:10:25 +02:00
elput here comes meson 2018-10-02 17:22:50 +02:00
elua elua tests: fix distcheck 2019-02-27 18:40:10 +01:00
emile cmake: remove! 2018-12-20 20:07:26 +01:00
emotion meson: correctly use the correct dependency 2019-04-05 08:15:39 -04:00
eo eo: make reflection getter const function. 2019-03-08 14:31:08 -08:00
eo_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
eolian eo: make reflection getter const function. 2019-03-08 14:31:08 -08:00
eolian_cxx eolian: add event type call convention checks for non-beta classes 2019-03-21 16:00:18 +01:00
eolian_js eolian: implement new syntax for inheritance 2018-11-23 13:57:07 +01:00
evas evas_events: prevent double event_freeze in evas_object_freeze_events_set 2019-03-15 11:23:09 -04:00
evas_cxx meson: here comes cxx bindings 2018-10-24 12:05:58 +02:00
evil evil: Fix test compilation. 2018-06-13 10:09:16 -04:00
.gitignore tests: add failsafe timeout for tests running in fork mode 2018-08-16 09:59:58 +02:00
efl_check.h efl_check: add API to expect a error 2019-04-02 08:56:28 -04:00
meson.build here comes meson 2018-10-02 17:22:50 +02:00
timeout.c tests: add failsafe timeout for tests running in fork mode 2018-08-16 09:59:58 +02:00