diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2022-01-18 10:35:22 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2022-01-18 12:23:49 +0100 |
commit | 31700036e517691d154701f4b8aeecb85cde607f (patch) | |
tree | 7fa7290355121e270d643ecef5ad32ad7348ecb4 /libreofficekit/Library_libreofficekitgtk.mk | |
parent | 009e7406f2a1eb25aab4a3f0b647fa5c9f3766ee (diff) |
Avoid endless recursion in ImplSmallBorderWindowView::Init
At least on macOS, some `make screenshot` tests crashed for me due to endless
recursion, like the processing of modules/swriter/ui/converttexttable.ui in
CppunitTest_sw_dialogs_test for LO_TEST_LOCALE=gu:
[...]
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
> ImplBorderWindow::Resize at vcl/source/window/brdwin.cxx:1736
> vcl::Window::queue_resize at vcl/source/window/window2.cxx:1351:28
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
> ImplBorderWindow::Resize at vcl/source/window/brdwin.cxx:1736
> vcl::Window::queue_resize at vcl/source/window/window2.cxx:1351:28
> ImplSmallBorderWindowView::Init at vcl/source/window/brdwin.cxx:557:20
[...]
where in the calls to ImplSmallBorderWindowView::Init, nWidth=24 and nHeight=31,
as well as mnLeftBorder=6, mnTopBorder=6, and mnBottomBorder=6 remain stable,
but mnRightBorder keeps changing between 6 and 5.
This appears to be caused by instabilities in the
ImplLogicToDevicePixel and ImplDevicePixelToLogic calculations in
OutputDevice::GetNativeControlRegion (vcl/source/outdev/nativecontrols.cxx),
which can be avoided when we compute a hypothetical native control region from
aCtrolRegion that includes the borders, and only remove the borders from the
resulting aBounds and aContent. (The code to shrink aCtrlRegion prior to
calling GetNativeControlRegion had been introduced with
27be8a263eddb54cb6b66cc0f832bfd02016a694 "KDE4 fix edit box borders".)
Change-Id: I88c0d15ae7045a6888768226ca4d5fdd66bb41ca
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128549
Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
Diffstat (limited to 'libreofficekit/Library_libreofficekitgtk.mk')
0 files changed, 0 insertions, 0 deletions