summaryrefslogtreecommitdiff
path: root/vcl/source/control/InterimItemWindow.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/control/InterimItemWindow.cxx')
-rw-r--r--vcl/source/control/InterimItemWindow.cxx15
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)