diff --git a/liboctave/array/Array.h b/liboctave/array/Array.h --- a/liboctave/array/Array.h +++ b/liboctave/array/Array.h @@ -228,9 +228,10 @@ protected: //! slice constructor Array (const Array& a, const dim_vector& dv, octave_idx_type l, octave_idx_type u) - : dimensions (dv), rep(a.rep), slice_data (a.slice_data+l), slice_len (u-l) + : dimensions (dv), + rep (new typename Array::ArrayRep (a.data () + l, u - l)), + slice_data (rep->data), slice_len (rep->len) { - rep->count++; dimensions.chop_trailing_singletons (); }