[Libreoffice-commits] core.git: cui/source

Eike Rathke erack at redhat.com
Mon Dec 12 20:25:04 UTC 2016


 cui/source/tabpages/backgrnd.cxx |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 429be969b39867d6d9f36978c9ac15b601e78ba6
Author: Eike Rathke <erack at redhat.com>
Date:   Mon Dec 12 21:24:20 2016 +0100

    Resolves: tdf#101588, do not prevent color de-selection tdf#96382 follow-up
    
    Comparing colors to determine whether to set one in the result item set does
    not work if the color previously was set before SaveValue() was called
    unconditionally even for the "undetermined" color state. Actually we want to
    know whether the user selected a color instead.
    
    Change-Id: I508f791684ebd79ba4af9cb654f9aa0bb25bff5d

diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 5b40f39..9938b36 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -684,7 +684,7 @@ bool SvxBackgroundTabPage::FillItemSet( SfxItemSet* rCoreSet )
             {
                 // Brush-treatment:
                 if ( rOldItem.GetColor() != aBgdColor ||
-                     (SfxItemState::DEFAULT >= eOldItemState && m_pBackgroundColorSet->GetSavedValue() != m_pBackgroundColorSet->GetSelectItemId()))
+                     (SfxItemState::DEFAULT >= eOldItemState && !m_pBackgroundColorSet->IsNoSelection()))
                 {
                     bModified = true;
                     rCoreSet->Put( SvxBrushItem( aBgdColor, nWhich ) );
@@ -1423,9 +1423,13 @@ void SvxBackgroundTabPage::FillControls_Impl( const SvxBrushItem& rBgdAttr,
         }
         else
         {
+            bool bNoSelection = m_pBackgroundColorSet->IsNoSelection();
             m_pBackgroundColorSet->SelectItem( nCol );
+            m_pBackgroundColorSet->SaveValue();
+            // The actual selection is user set, not what we preset.
+            if (bNoSelection)
+                m_pBackgroundColorSet->SetNoSelection();
         }
-        m_pBackgroundColorSet->SaveValue();
 
         m_pPreviewWin1->NotifyChange( aBgdColor );
 


More information about the Libreoffice-commits mailing list