diff options
Diffstat (limited to 'vcl/source/control/InterimItemWindow.cxx')
-rw-r--r-- | vcl/source/control/InterimItemWindow.cxx | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/vcl/source/control/InterimItemWindow.cxx b/vcl/source/control/InterimItemWindow.cxx index 3ed1107bea87..97d64b617648 100644 --- a/vcl/source/control/InterimItemWindow.cxx +++ b/vcl/source/control/InterimItemWindow.cxx @@ -85,6 +85,21 @@ Size InterimItemWindow::GetOptimalSize() const return VclContainer::getLayoutRequisition(*GetWindow(GetWindowType::FirstChild)); } +void InterimItemWindow::InvalidateChildSizeCache() +{ + // find the bottom vcl::Window of the hierarchy and queue_resize on that + // one will invalidate all the size caches upwards + vcl::Window* pChild = GetWindow(GetWindowType::FirstChild); + while (true) + { + vcl::Window* pSubChild = pChild->GetWindow(GetWindowType::FirstChild); + if (!pSubChild) + break; + pChild = pSubChild; + } + pChild->queue_resize(); +} + bool InterimItemWindow::ControlHasFocus() const { if (!m_pWidget) |