Skip to content

Commit f226b74

Browse files
committed
Merge pull request #33 from FilipeMaia/base_array_fix
BaseArray is needed in _get_assign_dims and cannot be deleted
2 parents 9a00c27 + 7ef5bc9 commit f226b74

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

arrayfire/array.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -894,8 +894,10 @@ def __setitem__(self, key, val):
894894
if (is_number(val)):
895895
tdims = _get_assign_dims(key, self.dims())
896896
other_arr = constant_array(val, tdims[0], tdims[1], tdims[2], tdims[3], self.type())
897+
del_other = True
897898
else:
898899
other_arr = val.arr
900+
del_other = False
899901

900902
out_arr = ct.c_void_p(0)
901903
inds = _get_indices(key)
@@ -904,6 +906,8 @@ def __setitem__(self, key, val):
904906
self.arr, ct.c_longlong(n_dims), ct.pointer(inds),
905907
other_arr))
906908
safe_call(backend.get().af_release_array(self.arr))
909+
if del_other:
910+
safe_call(backend.get().af_release_array(other_arr))
907911
self.arr = out_arr
908912

909913
except RuntimeError as e:
@@ -1039,5 +1043,3 @@ def display(a):
10391043
if (expr is not None):
10401044
print('%s' % expr[0].split('display(')[1][:-2])
10411045
safe_call(backend.get().af_print_array(a.arr))
1042-
1043-
del BaseArray

0 commit comments

Comments
 (0)