diff options
Diffstat (limited to 'sc/source/ui/view/cellsh3.cxx')
-rw-r--r-- | sc/source/ui/view/cellsh3.cxx | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx index b7bd2daa4450..e5ef913e3ff9 100644 --- a/sc/source/ui/view/cellsh3.cxx +++ b/sc/source/ui/view/cellsh3.cxx @@ -456,11 +456,20 @@ void ScCellShell::Execute( SfxRequest& rReq ) const SfxPoolItem* pFormat; if (pReqArgs->HasItem( FN_PARAM_1, &pFormat)) { - sal_Int16 nFormat = static_cast<const SfxInt16Item*>(pFormat)->GetValue(); + ScConditionMode nFormat = static_cast<ScConditionMode>( + static_cast<const SfxInt16Item*>(pFormat)->GetValue()); sal_uInt16 nId = sc::ConditionalFormatEasyDialogWrapper::GetChildWindowId(); SfxViewFrame& rViewFrame = pTabViewShell->GetViewFrame(); SfxChildWindow* pWindow = rViewFrame.GetChildWindow( nId ); - GetViewData().GetDocument().SetEasyConditionalFormatDialogData(std::make_unique<ScConditionMode>(static_cast<ScConditionMode>(nFormat))); + const SfxPoolItem* pManaged; + bool bManaged = false; + if (pReqArgs->HasItem(FN_PARAM_2, &pManaged)) + { + bManaged = static_cast<const SfxBoolItem*>(pManaged)->GetValue(); + } + + GetViewData().GetDocument().SetEasyConditionalFormatDialogData( + ScConditionEasyDialogData(&nFormat, bManaged)); pScMod->SetRefDialog( nId, pWindow == nullptr ); } |