summaryrefslogtreecommitdiff
path: root/vcl/source
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2019-05-14 16:01:58 +0100
committerCaolán McNamara <caolanm@redhat.com>2019-05-14 18:32:05 +0200
commit4cac171dd6c82f55624ba6e7185d69bcb5507cb1 (patch)
treefb47bf6ab6e4f92afd10922923c110edfd5419e9 /vcl/source
parent135eb77464a7a4682547e28ac5e291abff145f3c (diff)
Resolves: tdf#125266 hang on selecting read online help
Change-Id: I46d14df66c529495a7e9f1596fcdbb0b093810c5 Reviewed-on: https://gerrit.libreoffice.org/72298 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r--vcl/source/window/dialog.cxx8
1 files changed, 6 insertions, 2 deletions
diff --git a/vcl/source/window/dialog.cxx b/vcl/source/window/dialog.cxx
index bd17f377043d..21957995644e 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -1576,8 +1576,12 @@ void TopLevelWindowLocker::incBusy(const weld::Window* pIgnore)
vcl::Window *pTopWin = Application::GetFirstTopLevelWindow();
while (pTopWin)
{
- if (pTopWin->GetFrameWeld() != pIgnore)
- aTopLevels.push_back(pTopWin);
+ vcl::Window* pCandidate = pTopWin;
+ if (pCandidate->GetType() == WindowType::BORDERWINDOW)
+ pCandidate = pCandidate->GetWindow(GetWindowType::FirstChild);
+ // tdf#125266 ignore HelpTextWindows
+ if (pCandidate && pCandidate->GetType() != WindowType::HELPTEXTWINDOW && pCandidate->GetFrameWeld() != pIgnore)
+ aTopLevels.push_back(pCandidate);
pTopWin = Application::GetNextTopLevelWindow(pTopWin);
}
for (auto& a : aTopLevels)