diff options
author | Vitor Sousa <vitorsousasilva@gmail.com> | 2017-06-20 14:29:33 -0300 |
---|---|---|
committer | Vitor Sousa <vitorsousasilva@gmail.com> | 2017-06-20 14:33:12 -0300 |
commit | 6bed7269ea2ebe8bd25331e65211bc9d5f499d90 (patch) | |
tree | f388b26ad89d0d328e9818a53bd0acf0e2db68ba | |
parent | 9539a5390746bb988f8d75f11121839837d36a25 (diff) | |
download | efl-6bed7269ea2ebe8bd25331e65211bc9d5f499d90.tar.gz |
eina_mono: Fix eina.Inarray ReplaceAt method
-rw-r--r-- | src/bindings/mono/eina_mono/eina_inarray.cs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/bindings/mono/eina_mono/eina_inarray.cs b/src/bindings/mono/eina_mono/eina_inarray.cs index 26ff33136c..ef3acc1d62 100644 --- a/src/bindings/mono/eina_mono/eina_inarray.cs +++ b/src/bindings/mono/eina_mono/eina_inarray.cs @@ -238,15 +238,13 @@ public class Inarray<T> : IEnumerable<T>, IDisposable public bool ReplaceAt(uint idx, T val) { - IntPtr ele = eina_inarray_nth(Handle, idx); - if (ele == IntPtr.Zero) + var old = eina_inarray_nth(Handle, idx); + if (old == IntPtr.Zero) return false; if (OwnContent) - NativeFreeInplace<T>(ele); - ele = ManagedToNativeAllocInplace(val); - var r = eina_inarray_insert_at(Handle, idx, ele); - if (!r) - NativeFreeInplace<T>(ele); + NativeFreeInplace<T>(old); + var ele = ManagedToNativeAllocInplace(val); + var r = eina_inarray_replace_at(Handle, idx, ele); ResidueFreeInplace<T>(ele); return r; } |