From eeb2854e085fdd9f7a38d6e952a8aedf43e90323 Mon Sep 17 00:00:00 2001 From: Mike Kaganski Date: Mon, 26 Apr 2021 16:14:07 +0300 Subject: tdf#141914: Allow to unset modified anyway IsEnableSetModified returning true means kind of "treat this document as read-only". Marking object unmodified does not break this idea. Change-Id: I3efd5b3b25e2d9318702cdbf24ac5eb61aeda3ba Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114666 Tested-by: Jenkins Reviewed-by: Mike Kaganski --- chart2/source/model/main/ChartModel_Persistence.cxx | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'chart2/source') diff --git a/chart2/source/model/main/ChartModel_Persistence.cxx b/chart2/source/model/main/ChartModel_Persistence.cxx index c505da695e73..b26cf6815d72 100644 --- a/chart2/source/model/main/ChartModel_Persistence.cxx +++ b/chart2/source/model/main/ChartModel_Persistence.cxx @@ -669,11 +669,15 @@ sal_Bool SAL_CALL ChartModel::isModified() void SAL_CALL ChartModel::setModified( sal_Bool bModified ) { - // tdf#77007: honor parent's IsEnableSetModified - // Check it before LifeTimeGuard, to avoid deadlocking solar mutex and this guard - if (auto pParentShell = SfxObjectShell::GetShellFromComponent(getParent()); - pParentShell && !pParentShell->IsEnableSetModified()) - return; + // tdf#141914: allow to set *unmodified* when parent does not allow to set modified + if (bModified) + { + // tdf#77007: honor parent's IsEnableSetModified + // Check it before LifeTimeGuard, to avoid deadlocking solar mutex and this guard + if (auto pParentShell = SfxObjectShell::GetShellFromComponent(getParent()); + pParentShell && !pParentShell->IsEnableSetModified()) + return; + } apphelper::LifeTimeGuard aGuard(m_aLifeTimeManager); if(!aGuard.startApiCall())//@todo ? is this a long lasting call?? -- cgit v1.2.3