diff options
author | Eike Rathke <erack@redhat.com> | 2016-12-12 21:24:20 +0100 |
---|---|---|
committer | Eike Rathke <erack@redhat.com> | 2016-12-13 10:00:48 +0000 |
commit | 638f40d16c9e0b01e3cb0f53d9d5703a361b2100 (patch) | |
tree | ed962cbaec7b5d9e6afa055a1789a3e005cbceac | |
parent | 159ec429d136adc208922f27ba6044b529022dde (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.cxx | 8 |
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 ); |