summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2022-01-07 12:17:36 +0000
committerCaolán McNamara <caolanm@redhat.com>2022-01-07 16:12:52 +0100
commit8fd6924fc36b7a006e2edec60b7b59cec2ca883b (patch)
tree3c8c33b32d9acf009a7273e56b73a4642760184e /vcl
parent568423845a06923bfdd365f29b67deaab7ce269d (diff)
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/+/128112 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/app/salvtables.cxx13
1 files changed, 11 insertions, 2 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 95451c9609ce..e19d055b8253 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); }
@@ -1533,7 +1536,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)
{