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

New commits:
commit 638f40d16c9e0b01e3cb0f53d9d5703a361b2100
Author: Eike Rathke <[email protected]>
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 <[email protected]>
    Tested-by: Jenkins <[email protected]>

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 );
 
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to