diff options
author | Oliver Bolte <obo@openoffice.org> | 2005-03-18 09:36:14 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2005-03-18 09:36:14 +0000 |
commit | af144de7276370a028330a493e27d0cf74f66a8b (patch) | |
tree | 856bb199307ceea2110d062876dfa940a9e1b0ad /configmgr | |
parent | 320b1fc01387e1258ea715a5d2f7e0ed9548907b (diff) |
INTEGRATION: CWS cfgfix01 (1.16.64); FILE MERGED
2005/03/10 16:08:25 jb 1.16.64.1: #i38262# ResetValue is a real change whenever the prior state is not default (even if the current value equals the default)
Diffstat (limited to 'configmgr')
-rw-r--r-- | configmgr/source/treemgr/nodechangeimpl.cxx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/configmgr/source/treemgr/nodechangeimpl.cxx b/configmgr/source/treemgr/nodechangeimpl.cxx index 6b3fe20b367e..a2bb3b5500f8 100644 --- a/configmgr/source/treemgr/nodechangeimpl.cxx +++ b/configmgr/source/treemgr/nodechangeimpl.cxx @@ -2,9 +2,9 @@ * * $RCSfile: nodechangeimpl.cxx,v $ * - * $Revision: 1.16 $ + * $Revision: 1.17 $ * - * last change: $Author: kz $ $Date: 2004-03-23 10:32:03 $ + * last change: $Author: obo $ $Date: 2005-03-18 10:36:14 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -430,12 +430,14 @@ bool ValueReplaceImpl::doFillChange( NodeChangeData& rChange, ChangeCount _ix) c ValueResetImpl::ValueResetImpl() :ValueChangeImpl() +, m_bTargetIsDefault(false) { } //----------------------------------------------------------------------------- ValueResetImpl::ValueResetImpl(UnoAny const& aNewValue, UnoAny const& aOldValue) :ValueChangeImpl(aNewValue, aOldValue) +, m_bTargetIsDefault(false) { } //----------------------------------------------------------------------------- @@ -446,11 +448,17 @@ void ValueResetImpl::doApplyChange( ValueMemberUpdate& rNode) } //----------------------------------------------------------------------------- +bool ValueResetImpl::doIsChange() const +{ + return !m_bTargetIsDefault; +} +//----------------------------------------------------------------------------- + bool ValueResetImpl::doFillChange( NodeChangeData& rChange, ChangeCount _ix) const { rChange.type = NodeChangeData::eSetDefault; ValueChangeImpl::doFillChange(rChange,_ix); - return !rChange.isEmptyChange(); // do it defensively here - default (= 'new') may be unknown still + return !m_bTargetIsDefault && !rChange.isEmptyChange(); // do it defensively here - default (= 'new') may be unknown still } //----------------------------------------------------------------------------- @@ -461,6 +469,7 @@ void ValueResetImpl::preCheckValue(ValueMemberNode& rNode, UnoAny& rOld, UnoAny& UnoAny aDefaultValue = rNode.getDefaultValue(); OSL_ENSURE(!rNew.hasValue() || rNew == aDefaultValue, "ERROR: Configuration: Stored new value of target does not match the actual default value"); rNew = aDefaultValue; + m_bTargetIsDefault = rNode.isDefault(); } //----------------------------------------------------------------------------- |