efl/src/bin
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
..
ecore_buffer meson: modify install path of bqmgr binary 2019-02-27 21:20:31 +01:00
ecore_con cmake: remove! 2018-12-20 20:07:26 +01:00
ecore_evas here comes meson 2018-10-02 17:22:50 +02:00
edje meson: correctly use the correct dependency 2019-04-05 08:15:39 -04:00
eet meson - dont install eina bench cmp and use install_mode 2018-12-27 17:17:13 +00:00
eeze efl: remove EFL_EO_API_SUPPORT macro 2019-03-18 12:13:59 +01:00
efl efl: remove EFL_EO_API_SUPPORT macro 2019-03-18 12:13:59 +01:00
efl_js efl-js: JavaScript Eolian binding 2015-12-23 23:59:40 -02:00
efl_mono_msbuild_gen efl_mono: Add msbuild file generator 2017-12-04 15:47:51 -03:00
efl_wl meosn - fix install of scripts and bins and their timestamps and modes 2018-12-27 15:24:08 +00:00
efreet efreetd: remove a tentative global variable definition 2019-04-04 09:14:08 -04:00
eina eina - btlog - fix warnign about uninit struct field 2018-11-09 11:43:58 +00:00
eldbus ledbus - fix codegen to not conflict keys with eldbus inyternal 2019-01-09 18:57:22 +00:00
elementary Revert "test/efl_ui_pager_scroll: fix demo" 2019-04-02 16:35:12 +09:00
elua build: fix macos build 2019-02-22 08:53:20 -05:00
embryo docs: Fix assorted typos in legacy documentation 2019-01-28 13:14:20 +01:00
eolian eolian: Fix resource leak 2019-03-12 11:31:51 -04:00
eolian_cxx build: remove unused meson file 2018-12-17 17:43:06 +01:00
eolian_js evas: remove render2 2018-08-21 10:36:55 -04:00
eolian_mono efl-csharp: fix resource deallocation causing errors everywhere 2019-04-05 19:58:19 -03:00
ethumb here comes meson 2018-10-02 17:22:50 +02:00
ethumb_client here comes meson 2018-10-02 17:22:50 +02:00