vcl/source/app/salvtables.cxx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
New commits: commit 6ed655058f0a38af744ed2431f006011c6f0afa3 Author: Caolán McNamara <[email protected]> AuthorDate: Fri Jan 7 12:17:36 2022 +0000 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Sun Jan 9 13:36:41 2022 +0100 Resolves: tdf#129745 don't override child help for application frames the glue WindowInstance is created on demand, and on creation descends into any existing open dialogs and changes their help handlers. We could not descend into child dialogs, but we shouldn't change the app frame help handler anyway. Change-Id: I8d149d324f04824fbe9eec517d8c482fd96b125b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128075 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos <[email protected]> diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 78148cd10ea8..20e8db2e7726 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -1427,7 +1427,10 @@ SalInstanceWindow::SalInstanceWindow(vcl::Window* pWindow, SalInstanceBuilder* p : SalInstanceContainer(pWindow, pBuilder, bTakeOwnership) , m_xWindow(pWindow) { - override_child_help(m_xWindow); + // tdf#129745 only override child help for the normal case, not for + // m_pBuilder of null which is the toplevel application frame case. + if (m_pBuilder) + override_child_help(m_xWindow); } void SalInstanceWindow::set_title(const OUString& rTitle) { m_xWindow->SetText(rTitle); } @@ -1528,7 +1531,13 @@ weld::ScreenShotCollection SalInstanceWindow::collect_screenshot_data() return aRet; } -SalInstanceWindow::~SalInstanceWindow() { clear_child_help(m_xWindow); } +SalInstanceWindow::~SalInstanceWindow() +{ + // tdf#129745 only undo overriding child help for the normal case, not for + // m_pBuilder of null which is the toplevel application frame case. + if (m_pBuilder) + clear_child_help(m_xWindow); +} IMPL_LINK_NOARG(SalInstanceWindow, HelpHdl, vcl::Window&, bool) {
