diff options
Diffstat (limited to 'svx/source')
-rw-r--r-- | svx/source/tbxctrls/tbcontrl.cxx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx index 6ec04a941513..c817027dedad 100644 --- a/svx/source/tbxctrls/tbcontrl.cxx +++ b/svx/source/tbxctrls/tbcontrl.cxx @@ -2753,6 +2753,7 @@ com_sun_star_comp_svx_FontNameToolBoxControl_get_implementation( SvxColorToolBoxControl::SvxColorToolBoxControl( const css::uno::Reference<css::uno::XComponentContext>& rContext ) : ImplInheritanceHelper( rContext, nullptr, OUString() ), m_bSplitButton(true), + m_bIsNoFill(false), m_nSlotId(0), m_aColorSelectFunction(PaletteManager::DispatchColorCommand) { @@ -2876,6 +2877,9 @@ VclPtr<vcl::Window> SvxColorToolBoxControl::createPopupWindow( vcl::Window* pPar IMPL_LINK(SvxColorToolBoxControl, SelectedHdl, const NamedColor&, rColor, void) { + if (m_xBtnUpdater->GetCurrentColor() != rColor.first) + m_bIsNoFill = false; + m_xBtnUpdater->Update(rColor.first); if (m_xPaletteManager) m_xPaletteManager->SetLastColor(rColor.first); @@ -2938,8 +2942,11 @@ void SvxColorToolBoxControl::execute(sal_Int16 /*nSelectModifier*/) Color aColor = m_xPaletteManager->GetLastColor(); auto aArgs( comphelper::InitPropertySequence( { - { m_aCommandURL.copy(5), css::uno::makeAny( m_xPaletteManager->GetLastColor() ) } + { m_aCommandURL.copy(5), css::uno::makeAny( COL_TRANSPARENT ) } } ) ); + if (!m_bIsNoFill) + aArgs[0].Value <<= sal_Int32( m_xPaletteManager->GetLastColor() ); + m_bIsNoFill = !m_bIsNoFill; dispatchCommand( aCommand, aArgs ); OUString sColorName = ("#" + aColor.AsRGBHexString().toAsciiUpperCase()); |