From 0866a9e92ff0d301632d0600d6178c2fc2080f48 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 15 Nov 2021 17:27:58 +0000 Subject: Resolves: tdf#143511 SysObj is clipped out if the widget is out of view so the sizes and relative positions are invalid under gtk, unclip the SysObj when using get_extents_relative_to Change-Id: Ibdaff20531a2a40b3b9b7dc9ac880d014db07d5a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125141 Tested-by: Jenkins Reviewed-by: Michael Stahl --- include/vcl/InterimItemWindow.hxx | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'include') diff --git a/include/vcl/InterimItemWindow.hxx b/include/vcl/InterimItemWindow.hxx index 08860c50244a..8c5a6d4e418f 100644 --- a/include/vcl/InterimItemWindow.hxx +++ b/include/vcl/InterimItemWindow.hxx @@ -50,6 +50,13 @@ protected: virtual void Layout(); + // unclip a "SysObj" which is a native window element hosted in a vcl::Window + // if the SysObj is logically "visible" in the vcl::Window::IsVisible sense but + // is partially or wholly clipped out due to being overlapped or scrolled out + // of view. The clip state is flagged as dirty after this and vcl will restore + // the clip state the next time it evaluates the clip status + void UnclipVisibleSysObj(); + std::unique_ptr m_xBuilder; VclPtr m_xVclContentArea; std::unique_ptr m_xContainer; -- cgit