void Range::_ref_shared(Shared *p_shared) { if (shared && p_shared == shared) return; _unref_shared(); shared = p_shared; shared->owners.insert(this); }
void Range::unshare() { Shared *nshared = memnew(Shared); nshared->min = shared->min; nshared->max = shared->max; nshared->val = shared->val; nshared->step = shared->step; nshared->page = shared->page; _unref_shared(); _ref_shared(nshared); }
void Range::unshare() { Shared *nshared = memnew(Shared); nshared->min = shared->min; nshared->max = shared->max; nshared->val = shared->val; nshared->step = shared->step; nshared->page = shared->page; nshared->allow_greater = shared->allow_greater; nshared->allow_lesser = shared->allow_lesser; _unref_shared(); _ref_shared(nshared); }
Range::~Range() { _unref_shared(); }