Kaydet (Commit) 005f4a75 authored tarafından Maxim Monastirsky's avatar Maxim Monastirsky

Popup menu controllers never attached to empty menus

... in our xml files, only to plain menu items.

Change-Id: I1614a1b31a05e08cf317d2637d64d3e450855fc9
üst 7e6b6282
...@@ -1147,31 +1147,9 @@ void MenuBarManager::FillMenuManager( Menu* pMenu, const Reference< XFrame >& rF ...@@ -1147,31 +1147,9 @@ void MenuBarManager::FillMenuManager( Menu* pMenu, const Reference< XFrame >& rF
pMenu->SetHelpCommand( nItemId, "" ); pMenu->SetHelpCommand( nItemId, "" );
} }
if ( m_xPopupMenuControllerFactory.is() && assert(!m_xPopupMenuControllerFactory.is() || !m_xPopupMenuControllerFactory->hasController( aItemCommand, m_aModuleIdentifier ));
pPopup->GetItemCount() == 0 &&
m_xPopupMenuControllerFactory->hasController( aItemCommand, m_aModuleIdentifier )
)
{
// Check if we have to create a popup menu for a uno based popup menu controller.
// We have to set an empty popup menu into our menu structure so the controller also
// works with inplace OLE. Remove old dummy popup menu!
MenuItemHandler* pItemHandler = new MenuItemHandler( nItemId, xStatusListener, xDispatch );
VCLXPopupMenu* pVCLXPopupMenu = new VCLXPopupMenu;
PopupMenu* pNewPopupMenu = static_cast<PopupMenu *>(pVCLXPopupMenu->GetMenu());
pMenu->SetPopupMenu( nItemId, pNewPopupMenu );
pItemHandler->xPopupMenu.set( static_cast<OWeakObject *>(pVCLXPopupMenu), UNO_QUERY );
pItemHandler->aMenuItemURL = aItemCommand;
m_aMenuItemHandlerVector.push_back( pItemHandler );
pPopup.disposeAndClear();
if ( bAccessibilityEnabled ) if ( aItemCommand.startsWith( ADDONSPOPUPMENU_URL_PREFIX_STR ) )
{
if ( CreatePopupMenuController( pItemHandler ))
pItemHandler->xPopupMenuController->updatePopupMenu();
}
lcl_CheckForChildren(pMenu, nItemId);
}
else if ( aItemCommand.startsWith( ADDONSPOPUPMENU_URL_PREFIX_STR ) )
{ {
// A special addon popup menu, must be created with a different ctor // A special addon popup menu, must be created with a different ctor
MenuBarManager* pSubMenuManager = new MenuBarManager( m_xContext, m_xFrame, m_xURLTransformer, pPopup, true ); MenuBarManager* pSubMenuManager = new MenuBarManager( m_xContext, m_xFrame, m_xURLTransformer, pPopup, true );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment