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-13 10:00:48 +0000
commit638f40d16c9e0b01e3cb0f53d9d5703a361b2100 (patch)
treeed962cbaec7b5d9e6afa055a1789a3e005cbceac
parent159ec429d136adc208922f27ba6044b529022dde (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 (cherry picked from commit 429be969b39867d6d9f36978c9ac15b601e78ba6) Reviewed-on: https://gerrit.libreoffice.org/31922 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins <ci@libreoffice.org>
-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 41e525d2d358..6f5d72bab35a 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 );