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

Eike Rathke erack at redhat.com
Tue Dec 13 11:29:35 UTC 2016


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

New commits:
commit 96068bd2c9dc17d9af7550ba5a02673c5c7eabad
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/31923
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Caolán McNamara <caolanm at redhat.com>
    Tested-by: Caolán McNamara <caolanm at redhat.com>

diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx
index aa9c595..1070990 100644
--- a/cui/source/tabpages/backgrnd.cxx
+++ b/cui/source/tabpages/backgrnd.cxx
@@ -683,7 +683,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 ) );
@@ -1422,9 +1422,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