diff options
author | Caolán McNamara <caolanm@redhat.com> | 2021-11-15 17:27:58 +0000 |
---|---|---|
committer | Michael Stahl <michael.stahl@allotropia.de> | 2021-11-16 15:59:04 +0100 |
commit | 0866a9e92ff0d301632d0600d6178c2fc2080f48 (patch) | |
tree | 0949cf2032f71009fbfa2e566aee2bd2ddf6d394 /include | |
parent | e9ac9830328df833311a3ff703c165234965e2cb (diff) |
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 <michael.stahl@allotropia.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/vcl/InterimItemWindow.hxx | 7 |
1 files changed, 7 insertions, 0 deletions
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<weld::Builder> m_xBuilder; VclPtr<vcl::Window> m_xVclContentArea; std::unique_ptr<weld::Container> m_xContainer; |