summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2016-12-12 21:24:20 +0100
committerEike Rathke <erack@redhat.com>2016-12-12 21:24:30 +0100
commit429be969b39867d6d9f36978c9ac15b601e78ba6 (patch)
treedd25b3c723c7b3354f794a040f8b192fcaf1a4b7
parentb17b413ea2c3902a219e2e35a949e924436d34f8 (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.cxx8
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 );