diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2021-04-26 16:14:07 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2021-04-26 20:30:30 +0200 |
commit | eeb2854e085fdd9f7a38d6e952a8aedf43e90323 (patch) | |
tree | c1a90e7822bcfa7a7325735273143480766bd2c5 /chart2/source | |
parent | 9a1c4a10b08ccb8d874a85a2cd984fd71f08c022 (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>
Diffstat (limited to 'chart2/source')
-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?? |