[Libreoffice-commits] core.git: Branch 'libreoffice-7-1' - chart2/source

Mike Kaganski (via logerrit) logerrit at kemper.freedesktop.org
Tue Apr 27 07:26:59 UTC 2021


 chart2/source/model/main/ChartModel_Persistence.cxx |   14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

New commits:
commit ed12e778bffd38bf9691981436f912ff199e8ec8
Author:     Mike Kaganski <mike.kaganski at collabora.com>
AuthorDate: Mon Apr 26 16:14:07 2021 +0300
Commit:     Xisco Fauli <xiscofauli at libreoffice.org>
CommitDate: Tue Apr 27 09:26:25 2021 +0200

    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 at collabora.com>
    (cherry picked from commit eeb2854e085fdd9f7a38d6e952a8aedf43e90323)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114605
    Reviewed-by: Xisco Fauli <xiscofauli at libreoffice.org>

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??


More information about the Libreoffice-commits mailing list