Fix GC finalizer issue
authorSeungkeun Lee <sngn.lee@samsung.com>
Thu, 13 Oct 2016 07:15:16 +0000 (16:15 +0900)
committerSeungkeun Lee <sngn.lee@samsung.com>
Tue, 18 Oct 2016 05:10:56 +0000 (14:10 +0900)
commit54a7efb362a9a77467ea69b0d961fffdca087deb
treee5136c9bdddfe43adbbb7fba7a244448d6a4d51b
parentb3cc82f278eb4507e3c6d0ddda329cddf63acc70
Fix GC finalizer issue

 - Finalizer was called in GC thread and it can't access EFL object
 - Remove all finalizer code that access EFL object
 - Hold the reference of EvasObject that was added on Window
 - Fix wrong IDispose implemention
   - When Dispose(false) native handle should be freed,
     but we didn't, it cause seg-fault, after released C# layer, native callback can invoked.
   - So, We release native handle when Dispose(false) was called.
   - but, it will cause some error message 'Maybe it has already been freed.'

Change-Id: Ic225799ac8cf9fd102a67d870043cb24bad55c7d
src/ElmSharp/ElmSharp/Conformant.cs
src/ElmSharp/ElmSharp/EvasObject.cs
src/ElmSharp/ElmSharp/ItemObject.cs
src/ElmSharp/ElmSharp/Window.cs
src/ElmSharp/Interop/Interop.EvasObjectEvent.cs
src/ElmSharp/Interop/Interop.SmartEvent.cs
test/ElmSharp.Test/TestRunner.cs