From 67ea8e1432f4ea86f2bc16d8479ef8cf10c74b80 Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Wed, 17 Jan 2018 11:11:34 +0100 Subject: [PATCH] sw: Actually only .uno:StyleApply and .uno:StyleWatercanMode can return... ...a value, at least according to sfx2/sdi/sfx.sdi. Change-Id: I1a12c025386cfc6eae529782cdb69207ffa388c5 Reviewed-on: https://gerrit.libreoffice.org/48041 Reviewed-by: Michael Meeks Tested-by: Jenkins --- sw/source/uibase/app/docst.cxx | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/sw/source/uibase/app/docst.cxx b/sw/source/uibase/app/docst.cxx index 1ae3a3ebf066..c2954792fb69 100644 --- a/sw/source/uibase/app/docst.cxx +++ b/sw/source/uibase/app/docst.cxx @@ -295,7 +295,6 @@ void SwDocShell::StateStyleSheet(SfxItemSet& rSet, SwWrtShell* pSh) void SwDocShell::ExecStyleSheet( SfxRequest& rReq ) { sal_uInt16 nSlot = rReq.GetSlot(); - sal_uInt16 nRet = SFXSTYLEBIT_ALL; const SfxItemSet* pArgs = rReq.GetArgs(); const SfxPoolItem* pItem; @@ -323,7 +322,7 @@ void SwDocShell::ExecStyleSheet( SfxRequest& rReq ) if (sName.isEmpty() && m_xBasePool.get()) sName = SfxStyleDialog::GenerateUnusedName(*m_xBasePool); - nRet = Edit( sName, sParent, nFamily, nMask, true, OString(), nullptr, rReq.IsAPI() ); + Edit(sName, sParent, nFamily, nMask, true, OString(), nullptr, rReq.IsAPI()); // Update Watermark if new page style was created if( nFamily == SfxStyleFamily::Page ) @@ -498,47 +497,55 @@ void SwDocShell::ExecStyleSheet( SfxRequest& rReq ) } if (!aParam.isEmpty() || nSlot == SID_STYLE_WATERCAN ) { + sal_uInt16 nRet = SFXSTYLEBIT_ALL; + bool bReturns = false; + switch(nSlot) { case SID_STYLE_EDIT: - nRet = Edit(aParam, aEmptyOUStr, nFamily, nMask, false, OString(), pActShell ); + Edit(aParam, aEmptyOUStr, nFamily, nMask, false, OString(), pActShell); break; case SID_STYLE_DELETE: - nRet = sal_uInt16(Delete(aParam, nFamily)); + Delete(aParam, nFamily); break; case SID_STYLE_HIDE: case SID_STYLE_SHOW: - nRet = sal_uInt16(Hide(aParam, nFamily, nSlot == SID_STYLE_HIDE)); + Hide(aParam, nFamily, nSlot == SID_STYLE_HIDE); break; case SID_STYLE_APPLY: // Shell-switch in ApplyStyles nRet = static_cast(ApplyStyles(aParam, nFamily, pActShell, rReq.GetModifier() )); + bReturns = true; break; case SID_STYLE_WATERCAN: nRet = static_cast(DoWaterCan(aParam, nFamily)); + bReturns = true; break; case SID_STYLE_UPDATE_BY_EXAMPLE: - nRet = static_cast(UpdateStyle(aParam, nFamily, pActShell)); + UpdateStyle(aParam, nFamily, pActShell); break; case SID_STYLE_NEW_BY_EXAMPLE: - nRet = static_cast(MakeByExample(aParam, nFamily, nMask, pActShell )); + MakeByExample(aParam, nFamily, nMask, pActShell); break; default: OSL_FAIL("Invalid SlotId"); } + if (bReturns) + { + if(rReq.IsAPI()) // Basic only gets TRUE or FALSE + rReq.SetReturnValue(SfxUInt16Item(nSlot, sal_uInt16(nRet !=0))); + else + rReq.SetReturnValue(SfxUInt16Item(nSlot, nRet)); + } + rReq.Done(); } break; } } - - if(rReq.IsAPI()) // Basic only gets TRUE or FALSE - rReq.SetReturnValue(SfxUInt16Item(nSlot, sal_uInt16(nRet !=0))); - else - rReq.SetReturnValue(SfxUInt16Item(nSlot, nRet)); } class ApplyStyle