efl/src
Vitor Sousa 1c22a3d819 efl-csharp: fix resource deallocation causing errors everywhere
Summary:
This commit mainly fixes errors caused by deallocating resources in the garbage
collector thread. Using `ecore_main_loop_thread_safe_call_async` to queue
resource deallocation in the main thread seems to solve it.

Also, some `efl_ref` calls are added in places they were missing, mainly
objects that unref in the destructor thus taking ownership if efl_ref is not
called.

Also fix improper resource deallocation in tests that were causing it to crash,
enabling it to call Efl.All.Shutdown again. This allocation and the deallocation
process was moved from the Eo class constructor to static class methods that are
called in the test 'set up' and 'tear down' methods.

Queuing resource deallocation in the main thread make it mandatory that tests
call `Efl.App.AppMain.Iterate()` if they want to check proper resource
deallocation (like TestFunctionPointers.set_callback_inherited_called_from_c).

Extras:
Remove duplicated declaration of 'eflcustomexportsmono' in meson in order to fix
some linking problems.

Remove some unused code around deallocation functions that had to be reworked.

Object allocation is now supplied with the call site information it expects
(file name and line for _efl_add_start).

Depends on D8550

Test Plan: meson test

Reviewers: felipealmeida, lauromoura, cedric, segfaultxavi

Reviewed By: lauromoura

Subscribers: segfaultxavi

Tags: #efl_language_bindings, #do_not_merge

Differential Revision: https://phab.enlightenment.org/D8431
2019-04-05 19:58:19 -03:00
..
benchmarks eina benchmark: fix warnings on Windows 64 bits 2019-03-27 11:00:28 -04:00
bin efl-csharp: fix resource deallocation causing errors everywhere 2019-04-05 19:58:19 -03:00
bindings efl-csharp: fix resource deallocation causing errors everywhere 2019-04-05 19:58:19 -03:00
edje_external
examples meson: correctly use the correct dependency 2019-04-05 08:15:39 -04:00
generic
lib efl-csharp: fix resource deallocation causing errors everywhere 2019-04-05 19:58:19 -03:00
modules meson: correctly use the correct dependency 2019-04-05 08:15:39 -04:00
scripts efl.loop_timer: rename all methods/properties/events 2019-03-08 16:38:46 +01:00
static_libs evas svg: replace internal vg legacy calls with interfaces. 2019-03-11 16:27:19 +09:00
tests efl-csharp: fix resource deallocation causing errors everywhere 2019-04-05 19:58:19 -03:00
wayland_protocol
Makefile.am build: add autotools for elm config embedding 2019-03-27 17:23:19 -04:00
Makefile_Cxx.am
Makefile_EPhysics.am
Makefile_Ecore.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Ecore_Audio.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Ecore_Avahi.am
Makefile_Ecore_Buffer.am
Makefile_Ecore_Cocoa.am
Makefile_Ecore_Con.am dist rule: add files to EXTRA_DIST2 inconditionally 2019-04-04 10:39:44 -04:00
Makefile_Ecore_Drm.am
Makefile_Ecore_Drm2.am
Makefile_Ecore_Evas.am
Makefile_Ecore_FB.am
Makefile_Ecore_File.am
Makefile_Ecore_IMF.am
Makefile_Ecore_IMF_Evas.am
Makefile_Ecore_Input.am
Makefile_Ecore_Input_Evas.am
Makefile_Ecore_Ipc.am
Makefile_Ecore_Js.am
Makefile_Ecore_SDL.am
Makefile_Ecore_Wayland.am
Makefile_Ecore_Win32.am
Makefile_Ecore_Wl2.am
Makefile_Ecore_X.am
Makefile_Ector.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Edje.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Edje_Helper.am
Makefile_Eet.am
Makefile_Eet_Helper.am
Makefile_Eeze.am
Makefile_Efl.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Efl_Js.am
Makefile_Efl_Mono.am C# bindings: Make efl_gesture_Manager.eo available to bindings 2019-04-02 18:56:52 +02:00
Makefile_Efl_Mono_MSBuild_Gen_Helper.am
Makefile_Efreet.am
Makefile_Eina.am
Makefile_Eio.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Eldbus.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Elementary.am autotools: add another entry test file to dist 2019-04-03 15:53:24 -04:00
Makefile_Elocation.am
Makefile_Elput.am
Makefile_Elua.am tests: fix elua test with autotools 2019-02-21 21:53:25 +01:00
Makefile_Elua_Helper.am
Makefile_Embryo.am
Makefile_Emile.am
Makefile_Emotion.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Eo.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Eolian.am eolian: remove legacy handling API and most of generation 2019-03-08 10:12:09 -05:00
Makefile_Eolian_Cxx.am tests: eolian_cxx: make sure we add beta_class.eo to dist 2019-03-12 12:48:33 +01:00
Makefile_Eolian_Cxx_Helper.am
Makefile_Eolian_Files_Helper.am
Makefile_Eolian_Helper.am
Makefile_Eolian_Js.am
Makefile_Eolian_Js_Helper.am
Makefile_Eolian_Mono_Helper.am
Makefile_Escape.am
Makefile_Ethumb.am dist rule: add files to EXTRA_DIST2 inconditionally 2019-04-04 10:39:44 -04:00
Makefile_Ethumb_Client.am
Makefile_Evas.am autotools: add option to enable eo file install 2019-03-14 12:44:00 -04:00
Makefile_Evil.am
Makefile_Wayland_Protocols.am
Makefile_efl_wl.am