diff options
author | Eike Rathke <erack@redhat.com> | 2016-12-12 21:24:20 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-12-12 21:24:30 +0100 |
commit | 429be969b39867d6d9f36978c9ac15b601e78ba6 (patch) | |
tree | dd25b3c723c7b3354f794a040f8b192fcaf1a4b7 | |
parent | b17b413ea2c3902a219e2e35a949e924436d34f8 (diff) |
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
-rw-r--r-- | cui/source/tabpages/backgrnd.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
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 ); |