framework/source/uielement/resourcemenucontroller.cxx | 3 +++ vcl/source/window/menu.cxx | 5 +++++ vcl/unx/gtk/gtksalmenu.cxx | 5 +++++ 3 files changed, 13 insertions(+)
New commits: commit 0eebe7387fd88aaef12fc3e303ed477d0aea6066 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 18 17:24:24 2016 +0300 Don't crash on closing gtk3 popup menu without enabled items This thing: GtkSalMenu::ShowNativePopupMenu Menu::Deactivate MenuItemList::Remove GtkInstance::DestroyMenuItem deletes the SalMenuItem, leaving GtkSalMenu with invalid pointers. Change-Id: I22ff10fc62421a800d808a56625ce7144c8e04b4 diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index bb2f60d..7af1ad3 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -239,7 +239,12 @@ void Menu::Deactivate() { MenuItemData* pData = pItemList->GetDataFromPos( --n ); if ( pData->bIsTemporary ) + { + if ( ImplGetSalMenu() ) + ImplGetSalMenu()->RemoveItem( n ); + pItemList->Remove( n ); + } } bInCallback = true; commit b088d89d00cd0716a50219f4eef4da080393fd63 Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 18 14:17:57 2016 +0300 Skip the placeholder added by PopupMenu::ImplExecute Change-Id: I7766a63aff240141342db8b4a9236f5930236b13 diff --git a/vcl/unx/gtk/gtksalmenu.cxx b/vcl/unx/gtk/gtksalmenu.cxx index 94931cf..2d32168 100644 --- a/vcl/unx/gtk/gtksalmenu.cxx +++ b/vcl/unx/gtk/gtksalmenu.cxx @@ -253,6 +253,11 @@ void GtkSalMenu::ImplUpdate(bool bRecurse, bool bRemoveDisabledEntries) GtkSalMenuItem *pSalMenuItem = GetItemAtPos( nItem ); sal_uInt16 nId = pSalMenuItem->mnId; + // PopupMenu::ImplExecute might add <No Selection Possible> entry to top-level + // popup menu, but we have our own implementation below, so skip that one. + if ( nId == 0xFFFF ) + continue; + if ( pSalMenuItem->mnType == MenuItemType::SEPARATOR ) { // Delete extra items from current section. commit 1cb46e27475d5b026de0e5aafb339ca16a26822c Author: Maxim Monastirsky <momonas...@gmail.com> Date: Tue Oct 18 11:20:10 2016 +0300 Avoid warning when opening the save dropdown Change-Id: I92980d8d9326b8c0ed865d2ce796dccb7729e3e7 diff --git a/framework/source/uielement/resourcemenucontroller.cxx b/framework/source/uielement/resourcemenucontroller.cxx index 02011c7..12d3d09 100644 --- a/framework/source/uielement/resourcemenucontroller.cxx +++ b/framework/source/uielement/resourcemenucontroller.cxx @@ -85,6 +85,9 @@ ResourceMenuController::ResourceMenuController( const css::uno::Reference< css:: { OUString aMenuName; aPropValue.Value >>= aMenuName; + if ( aMenuName.isEmpty() ) + continue; + if ( m_bToolbarContainer ) m_aMenuURL = "private:resource/toolbar/" + aMenuName; else _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits