diff --git a/src/FactSystem/Fact.cc b/src/FactSystem/Fact.cc index ec003ad3a3df90b2fc81c2f13d375a8242fae810..8f402a35b00430923a4a72202691d2e26c2c7128 100644 --- a/src/FactSystem/Fact.cc +++ b/src/FactSystem/Fact.cc @@ -701,7 +701,6 @@ FactValueSliderListModel* Fact::valueSliderModel(void) { if (!_valueSliderModel) { _valueSliderModel = new FactValueSliderListModel(*this); - QQmlEngine::setObjectOwnership(_valueSliderModel, QQmlEngine::JavaScriptOwnership); } return _valueSliderModel; } diff --git a/src/FactSystem/FactValueSliderListModel.cc b/src/FactSystem/FactValueSliderListModel.cc index 59adb5fd257de0cdf8222602eef36005d65479cc..7bce4adb88a80e2c082d2b55ac61678335e68e1c 100644 --- a/src/FactSystem/FactValueSliderListModel.cc +++ b/src/FactSystem/FactValueSliderListModel.cc @@ -30,6 +30,7 @@ FactValueSliderListModel::FactValueSliderListModel(Fact& fact, QObject* parent) , _initialValueRounded (0) , _increment (0) { + QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership); } FactValueSliderListModel::~FactValueSliderListModel() @@ -38,10 +39,12 @@ FactValueSliderListModel::~FactValueSliderListModel() int FactValueSliderListModel::resetInitialValue(void) { - // Remove any old rows - beginRemoveRows(QModelIndex(), 0, _cValues - 1); - _cValues = 0; - endRemoveRows(); + if (_cValues > 0) { + // Remove any old rows + beginRemoveRows(QModelIndex(), 0, _cValues - 1); + _cValues = 0; + endRemoveRows(); + } _initialValue = _fact.cookedValue().toDouble(); _initialValueRounded = qRound(_initialValue);