Add sanity check to avoid potential crash in the Collabora Online server

Make sure some coordinates don't become huge negative numbers. This
doesn't fix the unknown root cause of course.

There already was such a sanity check here in this branch, but for
Android only. I now made it cross-platform.

Let's use the same Change-Id as in the corresponding commit in the
co-2021 branch.

Change-Id: I28e343271b3f80ac203b52db1be58d2add89eecd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128932
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130051
Tested-by: Jenkins
Reviewed-by: Tor Lillqvist <tml@collabora.com>
This commit is contained in:
Tor Lillqvist 2022-01-25 16:57:09 +02:00
parent 823eb92025
commit 2b58a0979f

View File

@ -283,10 +283,11 @@ void VclBox::setAllocation(const Size &rAllocation)
// Though the dialogs are rendered in javascript for LOK Android some widgets like weld::DrawingArea
// is sent as bitmap but it is rendered from only the visible part
// when it gets negative, it shrinks instead of expands and it becomes invisible
#if HAVE_FEATURE_ANDROID_LOK
if (nExtraSpace < 0)
{
SAL_WARN("vcl.layout", "nExtraSpace went negative, setting to zero");
nExtraSpace = 0;
#endif
}
}
//Split into those we pack from the start onwards, and those we pack from the end backwards