[Libreoffice-commits] core.git: Branch 'libreoffice-5-3' - cui/source

Eike Rathke erack at redhat.com
Tue Dec 13 10:01:19 UTC 2016


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

New commits:
commit 638f40d16c9e0b01e3cb0f53d9d5703a361b2100
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
    (cherry picked from commit 429be969b39867d6d9f36978c9ac15b601e78ba6)
    Reviewed-on: https://gerrit.libreoffice.org/31922
    Reviewed-by: Eike Rathke <erack at redhat.com>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index 41e525d..6f5d72b 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