diff --git a/src/MissionItem.cc b/src/MissionItem.cc index 4ce5e21524cc27e4dc9fa830f29c92b148646d7b..019cce1e84ba84e43bdca0e2a5cacb95a9fe5fc5 100644 --- a/src/MissionItem.cc +++ b/src/MissionItem.cc @@ -878,10 +878,14 @@ bool MissionItem::canEdit(void) void MissionItem::setDirty(bool dirty) { - _dirty = dirty; - // We want to emit dirtyChanged even if _dirty didn't change. This can be handy signal for - // any value within the item changing. - emit dirtyChanged(_dirty); + if (!_homePositionSpecialCase || !dirty) { + // Home position never affects dirty bit + + _dirty = dirty; + // We want to emit dirtyChanged even if _dirty didn't change. This can be handy signal for + // any value within the item changing. + emit dirtyChanged(_dirty); + } } void MissionItem::_factValueChanged(QVariant value)