summaryrefslogtreecommitdiff
path: root/sfx2/source/control/unoctitm.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sfx2/source/control/unoctitm.cxx')
-rw-r--r--sfx2/source/control/unoctitm.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/sfx2/source/control/unoctitm.cxx b/sfx2/source/control/unoctitm.cxx
index 14b3fe06e9..0a51e21b1c 100644
--- a/sfx2/source/control/unoctitm.cxx
+++ b/sfx2/source/control/unoctitm.cxx
@@ -702,6 +702,7 @@ void SAL_CALL SfxDispatchController_Impl::dispatch( const ::com::sun::star::util
// Filter arguments which shouldn't be part of the sequence property value
sal_Bool bTemp = sal_Bool();
sal_uInt16 nModifier(0);
+ sal_Bool bVBARequest = sal_False;
std::vector< ::com::sun::star::beans::PropertyValue > aAddArgs;
for( sal_Int32 n=0; n<nCount; n++ )
{
@@ -718,6 +719,10 @@ void SAL_CALL SfxDispatchController_Impl::dispatch( const ::com::sun::star::util
}
else if( rProp.Name.equalsAsciiL("KeyModifier",11))
rProp.Value >>= nModifier;
+ else if( rProp.Name.equalsAsciiL("VBADialogResultRequest",22) )
+ {
+ rProp.Value >>= bVBARequest;
+ }
else
aAddArgs.push_back( aArgs[n] );
}
@@ -801,6 +806,14 @@ void SAL_CALL SfxDispatchController_Impl::dispatch( const ::com::sun::star::util
pItem = aReq.GetReturnValue();
bSuccess = aReq.IsDone() || pItem != NULL;
bFailure = aReq.IsCancelled();
+ if ( bVBARequest )
+ {
+ SFX_REQUEST_ARG( aReq, pItem, SfxBoolItem, SID_DIALOG_RETURN, FALSE );
+ if ( pItem )
+ {
+ bSuccess = pItem->GetValue();
+ }
+ }
}
}
#ifdef DBG_UTIL