vcl/inc/qt5/Qt5Menu.hxx | 2 +- vcl/qt5/Qt5Menu.cxx | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-)
New commits: commit c278857137ea0e9e25613d5f6bf8ddaf1336fbcc Author: Aleksei Nikiforov <darktemp...@basealt.ru> AuthorDate: Thu Jan 10 15:54:56 2019 +0300 Commit: Thorsten Behrens <thorsten.behr...@cib.de> CommitDate: Fri Jan 11 14:47:08 2019 +0100 tdf#122253 KDE5: Correct parent menu before it's used Also correct action group of menu Change-Id: Ie7eddd3cdc9fa1c36fdeaa1e96eb5d50d7126c09 Reviewed-on: https://gerrit.libreoffice.org/66146 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behr...@cib.de> diff --git a/vcl/inc/qt5/Qt5Menu.hxx b/vcl/inc/qt5/Qt5Menu.hxx index 6d2d4b786497..d42f8ab85186 100644 --- a/vcl/inc/qt5/Qt5Menu.hxx +++ b/vcl/inc/qt5/Qt5Menu.hxx @@ -36,7 +36,7 @@ private: QMenu* mpQMenu; QActionGroup* mpQActionGroup; - void DoFullMenuUpdate(Menu* pMenuBar, QMenu* pParentMenu = nullptr); + void DoFullMenuUpdate(Menu* pMenuBar); static void NativeItemText(OUString& rItemText); QMenu* InsertMenuItem(Qt5MenuItem* pSalMenuItem, unsigned nPos); diff --git a/vcl/qt5/Qt5Menu.cxx b/vcl/qt5/Qt5Menu.cxx index 648ceb29ade6..9aaea199eeae 100644 --- a/vcl/qt5/Qt5Menu.cxx +++ b/vcl/qt5/Qt5Menu.cxx @@ -227,18 +227,17 @@ void Qt5Menu::SetFrame(const SalFrame* pFrame) if (pMainWindow) { mpQMenuBar = pMainWindow->menuBar(); + mpQMenu = nullptr; + mpQActionGroup = nullptr; DoFullMenuUpdate(mpVCLMenu); } } -void Qt5Menu::DoFullMenuUpdate(Menu* pMenuBar, QMenu* pParentMenu) +void Qt5Menu::DoFullMenuUpdate(Menu* pMenuBar) { - mpQMenu = pParentMenu; - if (mbMenuBar && mpQMenuBar) mpQMenuBar->clear(); - mpQActionGroup = nullptr; for (sal_Int32 nItem = 0; nItem < static_cast<sal_Int32>(GetItemCount()); nItem++) { @@ -248,8 +247,12 @@ void Qt5Menu::DoFullMenuUpdate(Menu* pMenuBar, QMenu* pParentMenu) if (pSalMenuItem->mpSubMenu != nullptr) { + // correct parent menu and action group before calling HandleMenuActivateEvent + pSalMenuItem->mpSubMenu->mpQMenu = pQMenu; + pSalMenuItem->mpSubMenu->mpQActionGroup = nullptr; + pMenuBar->HandleMenuActivateEvent(pSalMenuItem->mpSubMenu->GetMenu()); - pSalMenuItem->mpSubMenu->DoFullMenuUpdate(pMenuBar, pQMenu); + pSalMenuItem->mpSubMenu->DoFullMenuUpdate(pMenuBar); pMenuBar->HandleMenuDeActivateEvent(pSalMenuItem->mpSubMenu->GetMenu()); } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits