ce2fc5eb29
Regression from commit 25b8fdd3b9
(sw
floattable: maintain the invariant that fly height is at least MINFLY,
2023-09-28), the document started to layout-loop on load.
What happens is we have a fly frame where the bottom of the body frame
is above both the top and bottom of the fly. We used to make sure these
flys don't "flip" (with a negative height) and ensure that their height
is still MINFLY. But that causes a new problem, because the layout will
try to make sure they fit, but they can't have enough space.
Fix the problem by improving the correction of the fly height, so in
case even the top is below the deadline, then we set the height to 0 and
explicitly mark the frame as clipped. That keeps the unwanted warnings
about violated invariants fixed and fixes the layout loop.
The test just ensures that all pages but the last one has a single
multi-page floating table, chained over several pages.
Change-Id: Ibac0a465839a59abe5ae49809c0d76c955aa39b9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160061
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
90 lines
2.2 KiB
Makefile
90 lines
2.2 KiB
Makefile
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
|
|
#*************************************************************************
|
|
#
|
|
# This file is part of the LibreOffice project.
|
|
#
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
#
|
|
#*************************************************************************
|
|
|
|
$(eval $(call gb_CppunitTest_CppunitTest,sw_core_layout))
|
|
|
|
$(eval $(call gb_CppunitTest_use_common_precompiled_header,sw_core_layout))
|
|
|
|
$(eval $(call gb_CppunitTest_add_exception_objects,sw_core_layout, \
|
|
sw/qa/core/layout/fly \
|
|
sw/qa/core/layout/flycnt \
|
|
sw/qa/core/layout/frmtool \
|
|
sw/qa/core/layout/ftnfrm \
|
|
sw/qa/core/layout/layact \
|
|
sw/qa/core/layout/layout \
|
|
sw/qa/core/layout/paintfrm \
|
|
sw/qa/core/layout/sortedobjs \
|
|
sw/qa/core/layout/tabfrm \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_libraries,sw_core_layout, \
|
|
editeng \
|
|
comphelper \
|
|
cppu \
|
|
cppuhelper \
|
|
sal \
|
|
sfx \
|
|
subsequenttest \
|
|
sw \
|
|
swqahelper \
|
|
test \
|
|
unotest \
|
|
utl \
|
|
vcl \
|
|
svt \
|
|
tl \
|
|
svl \
|
|
svxcore \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_externals,sw_core_layout,\
|
|
boost_headers \
|
|
libxml2 \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_set_include,sw_core_layout,\
|
|
-I$(SRCDIR)/sw/inc \
|
|
-I$(SRCDIR)/sw/source/core/inc \
|
|
-I$(SRCDIR)/sw/source/uibase/inc \
|
|
-I$(SRCDIR)/sw/qa/inc \
|
|
$$(INCLUDE) \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_api,sw_core_layout,\
|
|
udkapi \
|
|
offapi \
|
|
oovbaapi \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_ure,sw_core_layout))
|
|
$(eval $(call gb_CppunitTest_use_vcl,sw_core_layout))
|
|
|
|
$(eval $(call gb_CppunitTest_use_rdb,sw_core_layout,services))
|
|
|
|
$(eval $(call gb_CppunitTest_use_custom_headers,sw_core_layout,\
|
|
officecfg/registry \
|
|
))
|
|
|
|
$(eval $(call gb_CppunitTest_use_configuration,sw_core_layout))
|
|
|
|
$(eval $(call gb_CppunitTest_use_uiconfigs,sw_core_layout, \
|
|
modules/swriter \
|
|
sfx \
|
|
svt \
|
|
svx \
|
|
))
|
|
|
|
# assert if font/glyph fallback occurs
|
|
$(eval $(call gb_CppunitTest_set_non_application_font_use,sw_core_layout,abort))
|
|
|
|
$(eval $(call gb_CppunitTest_use_more_fonts,sw_core_layout))
|
|
|
|
# vim: set noet sw=4 ts=4:
|