efl/src/lib
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 ecore: correctly clean up in ecore_fork_reset 2019-04-02 08:50:54 -04:00
ecore_audio docs: Remove obsolete @since tags from EO files 2019-03-20 20:16:05 +01:00
ecore_avahi
ecore_buffer
ecore_cocoa docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ecore_con remove useless check of ws2tcpip.h 2019-04-02 10:09:24 -04:00
ecore_drm
ecore_drm2 ecore-drm2: Add missing @ingroup for some doxy 2019-04-01 10:31:08 -04:00
ecore_evas interfaces: move animator,tick to efl.canvas.object and remove efl.animator 2019-02-21 22:04:30 +01:00
ecore_fb
ecore_file build: do not reply on header checking libinotify.h 2019-03-11 21:23:52 +01:00
ecore_imf ecore_imf: Add keycode in key down and key up event structs 2019-02-22 11:05:56 +09:00
ecore_imf_evas ecore_imf: Add keycode in key down and key up event structs 2019-02-22 11:05:56 +09:00
ecore_input
ecore_input_evas
ecore_ipc efl-net: namespace events to avoid naming conflicts 2019-03-08 12:17:51 -08:00
ecore_sdl
ecore_wayland
ecore_win32
ecore_wl2 docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ecore_x docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ector docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
edje docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eet docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eeze
efl docs: Format efl_file.h 2019-04-02 08:57:19 -04:00
efl_mono efl-csharp: fix crash when events trigger after C# object `Dispose` 2019-04-05 19:59:47 -03:00
efl_wl
efreet efreet: Fix resource leak 2019-03-15 08:58:17 -04:00
eina docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eio eio: ensure that the monitor starts when it is called to 2019-04-02 08:50:48 -04:00
eldbus eldbus: Fix resource leak 2019-03-19 08:57:59 -04:00
elementary elm_entry: prevent from accessing null pointer 2019-04-03 13:58:35 +09:00
elocation
elput docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
elua build: fix macos build 2019-02-22 08:53:20 -05:00
embryo
emile docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
emotion docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eo docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eolian docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
eolian_cxx eolian_cxx: rework context code, also more flexible scope indentation generator 2019-03-26 16:42:18 -03:00
ephysics docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
escape docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
ethumb
ethumb_client docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
evas evas_callbacks: fix emission of EFL_GFX_ENTITY_EVENT_VISIBILITY_CHANGED 2019-04-03 09:32:21 -04:00
evas_goal meson: add a option for selecting lua interpreter 2019-02-21 20:49:00 +01:00
evil docs: Fix common misspellings in H files 2019-04-02 13:28:48 +02:00
.gitignore