diff --git a/src/FactSystem/Fact.cc b/src/FactSystem/Fact.cc index ec003ad..8f402a3 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 59adb5f..7bce4ad 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);