diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-04-26 16:14:07 +0300 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2021-04-27 21:55:05 +0200 |
commit | 289d91fba55b25fbb577681b53d8cd7e080cacf4 (patch) | |
tree | 216d586a9b6618aecc4ba756ead4099036c3c0e7 /chart2 | |
parent | 04618fd0cfaeba12dea4cf472dc3b187104a2cae (diff) |
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 <mike.kaganski@collabora.com>
(cherry picked from commit eeb2854e085fdd9f7a38d6e952a8aedf43e90323)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114605
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
Diffstat (limited to 'chart2')
-rw-r--r-- | chart2/source/model/main/ChartModel_Persistence.cxx | 14 |
1 files changed, 9 insertions, 5 deletions
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?? |