summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Specht <oliver.specht@cib.de>2016-04-27 12:56:47 +0200
committerOliver Specht <oliver.specht@cib.de>2016-04-27 11:43:47 +0000
commita4da4cc6602263dc2c14e885ec3a1d72d099253a (patch)
tree0e493e57ef99ab88dd100d1722f144db0f71c8d9
parented81bf39dd3431d28860fed6a2d4e8814126cc61 (diff)
tdf#99527: show all accelerators in menus of extensions
XCUBasedAcceleratorConfiguration::getPreferredKeyEventsForCommandList() throws if the command string of a menu entry is empty. Parent entries of sub menus of extensions are empty. As the method doesn't know about the source of the command a dummy entry is supplied. Change-Id: I1d12bbf41c22b66e9ee29f1f05ea216134168795 Reviewed-on: https://gerrit.libreoffice.org/24423 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Oliver Specht <oliver.specht@cib.de>
-rw-r--r--framework/source/uielement/menubarmanager.cxx5
1 files changed, 4 insertions, 1 deletions
diff --git a/framework/source/uielement/menubarmanager.cxx b/framework/source/uielement/menubarmanager.cxx
index 902e277afffb..23178529682f 100644
--- a/framework/source/uielement/menubarmanager.cxx
+++ b/framework/source/uielement/menubarmanager.cxx
@@ -1500,7 +1500,10 @@ void MenuBarManager::RetrieveShortcuts( std::vector< MenuItemHandler* >& aMenuSh
const sal_uInt32 nCount = aMenuShortCuts.size();
for ( sal_uInt32 i = 0; i < nCount; ++i )
{
- aSeq[i] = aMenuShortCuts[i]->aMenuItemURL;
+ rtl::OUString aItemURL = aMenuShortCuts[i]->aMenuItemURL;
+ if( aItemURL.isEmpty() && aMenuShortCuts[i]->xSubMenuManager.is())
+ aItemURL = "-"; // tdf#99527 prevent throw in case of empty commands
+ aSeq[i] = aItemURL;
aMenuShortCuts[i]->aKeyCode = aEmptyKeyCode;
}