summaryrefslogtreecommitdiff
path: root/vcl/source/window/dialog.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/dialog.cxx')
-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 e7acc9e530cf..b426ad39a613 100644
--- a/vcl/source/window/dialog.cxx
+++ b/vcl/source/window/dialog.cxx
@@ -130,7 +130,9 @@ vcl::Window * nextLogicalChildOfParent(const vcl::Window *pTopLevel, const vcl::
{
const vcl::Window *pLastChild = pChild;
- if (isContainerWindow(*pChild))
+ if (pChild->GetType() == WindowType::SCROLLWINDOW)
+ pChild = static_cast<const VclScrolledWindow*>(pChild)->get_child();
+ else if (isContainerWindow(*pChild))
pChild = pChild->GetWindow(GetWindowType::FirstChild);
else
pChild = pChild->GetWindow(GetWindowType::Next);
@@ -156,7 +158,9 @@ vcl::Window * prevLogicalChildOfParent(const vcl::Window *pTopLevel, const vcl::
{
const vcl::Window *pLastChild = pChild;
- if (isContainerWindow(*pChild))
+ if (pChild->GetType() == WindowType::SCROLLWINDOW)
+ pChild = static_cast<const VclScrolledWindow*>(pChild)->get_child();
+ else if (isContainerWindow(*pChild))
pChild = pChild->GetWindow(GetWindowType::LastChild);
else
pChild = pChild->GetWindow(GetWindowType::Prev);