[Libreoffice-commits] core.git: Branch 'libreoffice-6-2' - cui/source

Caolán McNamara (via logerrit) logerrit at kemper.freedesktop.org
Fri Apr 26 09:41:13 UTC 2019


 cui/source/inc/border.hxx      |    2 ++
 cui/source/tabpages/border.cxx |   21 +++++++++++++--------
 2 files changed, 15 insertions(+), 8 deletions(-)

New commits:
commit 324755caddb21e53454e56889f0d0e6b50923223
Author:     Caolán McNamara <caolanm at redhat.com>
AuthorDate: Thu Apr 25 11:14:53 2019 +0100
Commit:     Michael Stahl <Michael.Stahl at cib.de>
CommitDate: Fri Apr 26 11:40:27 2019 +0200

    Resolves: tdf#124804 border considered changed when it isn't
    
    Change-Id: Ib4b6031b31500a8a2086721124b5b8f554f7c1c5
    Reviewed-on: https://gerrit.libreoffice.org/71307
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <Michael.Stahl at cib.de>

diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx
index 009048d738fb..455b88ee5f8c 100644
--- a/cui/source/inc/border.hxx
+++ b/cui/source/inc/border.hxx
@@ -49,6 +49,8 @@ public:
     void SetControlValue(const SvxShadowItem& rItem);
     void SetControlDontKnow();
 
+    bool get_value_changed_from_saved() const;
+
 private:
     SvtValueSet&                        mrVsPos;
     weld::MetricSpinButton&             mrMfSize;
diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx
index 4960f160357f..b81b6830bfd9 100644
--- a/cui/source/tabpages/border.cxx
+++ b/cui/source/tabpages/border.cxx
@@ -157,9 +157,18 @@ void ShadowControlsWrapper::SetControlValue(const SvxShadowItem& rItem)
             mrVsPos.SetNoSelection();
             break;
     }
+    mrVsPos.SaveValue();
     mrMfSize.set_value(mrMfSize.normalize(rItem.GetWidth()), FieldUnit::TWIP);
-    mrLbColor.SelectEntry(rItem.GetColor());
     mrMfSize.save_value();
+    mrLbColor.SelectEntry(rItem.GetColor());
+    mrLbColor.SaveValue();
+}
+
+bool ShadowControlsWrapper::get_value_changed_from_saved() const
+{
+    return mrVsPos.IsValueChangedFromSaved() ||
+           mrMfSize.get_value_changed_from_saved() ||
+           mrLbColor.IsValueChangedFromSaved();
 }
 
 void ShadowControlsWrapper::SetControlDontKnow()
@@ -833,16 +842,12 @@ bool SvxBorderTabPage::FillItemSet( SfxItemSet* rCoreAttrs )
         bAttrsChanged = true;
     }
 
-    if (m_xShadowControls)
+    if (m_xShadowControls && m_xShadowControls->get_value_changed_from_saved())
     {
         sal_uInt16 nShadowId = pPool->GetWhich(mnShadowSlot);
         const SvxShadowItem& rOldShadowItem = *static_cast<const SvxShadowItem*>(rCoreAttrs->GetItem(nShadowId));
-        SvxShadowItem aNewShadowItem = m_xShadowControls->GetControlValue(rOldShadowItem);
-        if (aNewShadowItem != rOldShadowItem)
-        {
-            rCoreAttrs->Put(aNewShadowItem);
-            bAttrsChanged = true;
-        }
+        rCoreAttrs->Put(m_xShadowControls->GetControlValue(rOldShadowItem));
+        bAttrsChanged = true;
     }
 
     if (m_xMarginControls && m_xMarginControls->get_value_changed_from_saved())


More information about the Libreoffice-commits mailing list