From 429be969b39867d6d9f36978c9ac15b601e78ba6 Mon Sep 17 00:00:00 2001 From: Eike Rathke Date: Mon, 12 Dec 2016 21:24:20 +0100 Subject: 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 --- cui/source/tabpages/backgrnd.cxx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'cui') diff --git a/cui/source/tabpages/backgrnd.cxx b/cui/source/tabpages/backgrnd.cxx index 5b40f396b040..9938b36714e6 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 ); -- cgit v1.2.3