configure.ac                                                 |    2 
 connectivity/source/drivers/file/fcomp.cxx                   |    4 
 cui/source/dialogs/hldoctp.cxx                               |   14 
 cui/source/inc/cuitabline.hxx                                |    2 
 cui/source/tabpages/tpline.cxx                               |    9 
 download.lst                                                 |   24 
 external/curl/configurable-z-option.patch.0                  |    2 
 external/curl/curl-msvc-disable-protocols.patch.1            |    6 
 external/curl/curl-msvc.patch.1                              |   18 
 external/curl/zlib.patch.0                                   |   40 -
 external/poppler/UnpackedTarball_poppler.mk                  |    1 
 external/poppler/char_traits.patch                           |   11 
 external/poppler/disable-freetype.patch.1                    |    4 
 external/poppler/disable-nss-and-gpgmepp.patch.1             |   65 +
 external/poppler/inc/pch/precompiled_poppler.hxx             |   19 
 external/poppler/poppler-config.patch.1                      |   14 
 sc/source/ui/app/inputwin.cxx                                |    1 
 svx/inc/fmstring.hrc                                         |    2 
 svx/source/sidebar/possize/PosSizePropertyPanel.cxx          |   55 +
 svx/source/sidebar/possize/PosSizePropertyPanel.hxx          |    6 
 svx/uiconfig/ui/textcontrolchardialog.ui                     |    1 
 svx/uiconfig/ui/textcontrolparadialog.ui                     |    1 
 sw/inc/usrfld.hxx                                            |    5 
 sw/qa/extras/layout/data/U-min.fodt                          |  364 +++++++++++
 sw/qa/extras/layout/data/hidden-sections-with-pagestyles.odt |binary
 sw/qa/extras/layout/data/hiddensection.fodt                  |  128 +++
 sw/qa/extras/layout/data/tdf162109.fodt                      |  202 ++++++
 sw/qa/extras/layout/data/tdf162220.fodt                      |  209 ++++++
 sw/qa/extras/layout/data/tdf162725.fodt                      |  210 ++++++
 sw/qa/extras/layout/layout3.cxx                              |  238 +++++++
 sw/qa/extras/ooxmlexport/ooxmlexport9.cxx                    |    2 
 sw/source/core/fields/usrfld.cxx                             |   13 
 sw/source/core/inc/frame.hxx                                 |    1 
 sw/source/core/inc/layfrm.hxx                                |    1 
 sw/source/core/inc/txtfrm.hxx                                |    2 
 sw/source/core/layout/frmtool.cxx                            |   23 
 sw/source/core/layout/laycache.cxx                           |   66 +
 sw/source/core/layout/layhelp.hxx                            |    3 
 sw/source/core/layout/sectfrm.cxx                            |  103 +++
 sw/source/core/layout/tabfrm.cxx                             |    6 
 sw/source/core/text/itradj.cxx                               |   16 
 sw/source/core/text/itrform2.cxx                             |    1 
 sw/source/core/text/porlin.hxx                               |    7 
 sw/source/core/text/portxt.cxx                               |    8 
 sw/source/core/text/txtfrm.cxx                               |   12 
 sw/source/uibase/shells/textfld.cxx                          |    4 
 vcl/qa/cppunit/pdfexport/pdfexport2.cxx                      |   28 
 vcl/source/control/tabctrl.cxx                               |    3 
 writerfilter/source/dmapper/StyleSheetTable.cxx              |    8 
 xmloff/source/core/xmlexp.cxx                                |    2 
 50 files changed, 1807 insertions(+), 159 deletions(-)

New commits:
commit 5b7c389f05319d6405a371eafce7cea5a8f62144
Author:     Justin Luth <[email protected]>
AuthorDate: Wed Sep 11 13:37:13 2024 -0400
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    tdf#162884 writerfilter: map to built-in footnote style name
    
    This partial revert fixes a 24.2.4 regression from
    commit 72ea1005b987159a6a59f9379e63321e0b0dd44f
    Author: Michael Stahl on Mon May 6 15:58:36 2024 +0200
        tdf#160402 writerfilter: extend StyleMap with all Word styles
    
    Footnote anchor character formatting is controlled by
    the character style set in Tools - Footnotes Settings.
    
    The default name of that style is UI dependent,
    so only the English UI was importing properly
    when the localized name was used in the mapping.
    
    "Footnote Symbol" is the internal name - both the internal name
    and the localized name are find-able at the same time,
    so the only things that will have a problem are things
    that don't connect to the style, but just hold the string name.
    
    The unit test change is also a revert from mstahl's commit.
    make CppunitTest_sw_ooxmlexport9 \
        CPPUNIT_TEST_NAME=testTdf109310_endnoteStyleForMSO
    and is an indication of another problem that this fixes,
    namely that a new Footnote Characters style is added
    with each round-trip.
    
    Bug 162884 was only reproducible with a non-English UI.
    To reproduce, I compiled with autogen.input
    --with-lang=de
    
    Thus no unit test...
    
    Change-Id: I63d37f13f435ff7ec41d6b22d74db83dc495150a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173141
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <[email protected]>
    Reviewed-by: Miklos Vajna <[email protected]>
    (cherry picked from commit 3fddae6812f91e5c5f57dacf641f964cd995f2f5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173180
    Reviewed-by: Michael Stahl <[email protected]>
    Reviewed-by: Justin Luth <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173262

diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx 
b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
index 91f0deb4bb05..a91723b4f6d5 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
@@ -690,7 +690,7 @@ CPPUNIT_TEST_FIXTURE(Test, testTdf109310_endnoteStyleForMSO)
     xmlDocUniquePtr pXmlDoc = parseExport("word/endnotes.xml");
     // Check w:rStyle element has w:val attribute - note that w: is not 
specified for attribute
     assertXPath(pXmlDoc, 
"/w:endnotes/w:endnote[@w:id='2']/w:p/w:r[1]/w:rPr/w:rStyle"_ostr, "val"_ostr,
-                "EndnoteCharacters1");
+                u"EndnoteCharacters"_ustr);
 }
 
 CPPUNIT_TEST_FIXTURE(Test, testTdf103389)
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx 
b/writerfilter/source/dmapper/StyleSheetTable.cxx
index 8b6da39037de..4477a390b29b 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -1665,8 +1665,8 @@ StyleSheetTable::ConvertStyleName(const OUString& rWWName)
         { "envelope address", "Addressee" }, // RES_POOLCOLL_ENVELOPE_ADDRESS
         { "Envelope Return", "Sender" }, // RES_POOLCOLL_SEND_ADDRESS
         { "envelope return", "Sender" }, // RES_POOLCOLL_SEND_ADDRESS
-        { "footnote reference", "Footnote Characters" }, // 
RES_POOLCHR_FOOTNOTE; tdf#82173
-        { "Footnote Reference", "Footnote Characters" }, // 
RES_POOLCHR_FOOTNOTE; tdf#82173
+        { "footnote reference", "Footnote Symbol" }, // RES_POOLCHR_FOOTNOTE; 
tdf#82173 tdf#162884
+        { "Footnote Reference", "Footnote Symbol" }, // RES_POOLCHR_FOOTNOTE; 
tdf#82173 tdf#162884
         { "Annotation Reference", "" },
         { "annotation reference", "" },
         { "Line Number", "Line Numbering" }, // RES_POOLCHR_LINENUM
@@ -1674,8 +1674,8 @@ StyleSheetTable::ConvertStyleName(const OUString& rWWName)
         { "Page Number", "Page Number" }, // RES_POOLCHR_PAGENO
         { "page number", "Page Number" }, // RES_POOLCHR_PAGENO
         { "PageNumber", "Page Number" }, // RES_POOLCHR_PAGENO
-        { "endnote reference", "Endnote Characters" }, // RES_POOLCHR_ENDNOTE; 
tdf#82173
-        { "Endnote Reference", "Endnote Characters" }, // RES_POOLCHR_ENDNOTE; 
tdf#82173
+        { "endnote reference", "Endnote Symbol" }, // RES_POOLCHR_ENDNOTE; 
tdf#82173 tdf#162884
+        { "Endnote Reference", "Endnote Symbol" }, // RES_POOLCHR_ENDNOTE; 
tdf#82173 tdf#162884
         { "endnote text", "Endnote" }, // RES_POOLCOLL_ENDNOTE
         { "Endnote Text", "Endnote" }, // RES_POOLCOLL_ENDNOTE
         { "Table of Authorities", "Bibliography Heading" }, // 
RES_POOLCOLL_TOX_AUTHORITIESH
commit 12dea9efceb8288f5fc683424df675ff458ffab0
Author:     Taichi Haradaguchi <[email protected]>
AuthorDate: Fri Aug 9 05:50:39 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    poppler: upgrade to release 24.08.0
    
    Fixes CVE-2024-6239
    
    Downloaded from https://poppler.freedesktop.org/poppler-24.08.0.tar.xz
    
    Change-Id: I70373c367cc3da87d9847c00b02a17f514b52ae8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171667
    Tested-by: Jenkins
    Reviewed-by: Taichi Haradaguchi <[email protected]>
    (cherry picked from commit e266da95e0522fd9896f92f1c2ca3235e0e6fd66)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172951
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173040

diff --git a/download.lst b/download.lst
index fd89e44a3d84..c9b6c44b44fc 100644
--- a/download.lst
+++ b/download.lst
@@ -646,8 +646,8 @@ LIBTIFF_TARBALL := tiff-4.6.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POPPLER_SHA256SUM := 
0cdabd495cada11f6ee9e75c793f80daf46367b66c25a63ee8c26d0f9ec40c76
-POPPLER_TARBALL := poppler-24.06.0.tar.xz
+POPPLER_SHA256SUM := 
97453fbddf0c9a9eafa0ea45ac710d3d49bcf23a62e864585385d3c0b4403174
+POPPLER_TARBALL := poppler-24.08.0.tar.xz
 POPPLER_DATA_SHA256SUM := 
c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
 # three static lines
diff --git a/external/poppler/inc/pch/precompiled_poppler.hxx 
b/external/poppler/inc/pch/precompiled_poppler.hxx
index 0760f9d4da4a..0a3c0a98353c 100644
--- a/external/poppler/inc/pch/precompiled_poppler.hxx
+++ b/external/poppler/inc/pch/precompiled_poppler.hxx
@@ -22,7 +22,7 @@
 
 #include <sal/config.h>
 #if PCH_LEVEL >= 1
-#include <Object.h>
+#include <Object.h> // Please include this header file to avoid error LNK2019.
 #include <algorithm>
 #include <annot_stamp_approved.h>
 #include <annot_stamp_as_is.h>
commit 2cf4829e7247706465da7b8dde33e8fa7232c81e
Author:     Xisco Fauli <[email protected]>
AuthorDate: Mon Jun 10 16:49:29 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    poppler: Upgrade to 24.06.0
    
    Downloaded from https://poppler.freedesktop.org/poppler-24.06.0.tar.xz
    
    Change-Id: I6b679ae014edd7a9897eed39a6e91c63251cc016
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168642
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173039
    Reviewed-by: Taichi Haradaguchi <[email protected]>

diff --git a/download.lst b/download.lst
index bfd02f72f5b0..fd89e44a3d84 100644
--- a/download.lst
+++ b/download.lst
@@ -646,8 +646,8 @@ LIBTIFF_TARBALL := tiff-4.6.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POPPLER_SHA256SUM := 
d8c5eb30b50285ad9f0af8c6335cc2d3b9597fca475cbc2598a5479fa379f779
-POPPLER_TARBALL := poppler-24.05.0.tar.xz
+POPPLER_SHA256SUM := 
0cdabd495cada11f6ee9e75c793f80daf46367b66c25a63ee8c26d0f9ec40c76
+POPPLER_TARBALL := poppler-24.06.0.tar.xz
 POPPLER_DATA_SHA256SUM := 
c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
 # three static lines
diff --git a/external/poppler/inc/pch/precompiled_poppler.hxx 
b/external/poppler/inc/pch/precompiled_poppler.hxx
index 50944b80daef..0760f9d4da4a 100644
--- a/external/poppler/inc/pch/precompiled_poppler.hxx
+++ b/external/poppler/inc/pch/precompiled_poppler.hxx
@@ -13,7 +13,7 @@
  manual changes will be rewritten by the next run of update_pch.sh (which 
presumably
  also fixes all possible problems, so it's usually better to use it).
 
- Generated on 2023-06-18 21:15:26 using:
+ Generated on 2024-06-10 17:25:06 using:
  ./bin/update_pch external/poppler poppler --cutoff=1 --exclude:system 
--include:module --include:local
 
  If after updating build fails, use the following command to locate 
conflicting headers:
@@ -43,6 +43,7 @@
 #include <cctype>
 #include <cerrno>
 #include <cfloat>
+#include <charconv>
 #include <climits>
 #include <clocale>
 #include <cmath>
@@ -55,6 +56,7 @@
 #include <cstdlib>
 #include <cstring>
 #include <ctime>
+#include <functional>
 #include <gbase64.h>
 #include <gbasename.h>
 #include <gdir.h>
@@ -67,11 +69,13 @@
 #include <iostream>
 #include <limits>
 #include <memory>
+#include <optional>
 #include <poppler-config.h>
 #include <random>
 #include <regex>
 #include <set>
 #include <sstream>
+#include <unordered_set>
 #include <vector>
 #endif // PCH_LEVEL >= 1
 #if PCH_LEVEL >= 2
@@ -100,6 +104,17 @@
 #include <poppler/GfxState_helpers.h>
 #include <splash/Splash.h>
 #include <splash/SplashBitmap.h>
+#include <splash/SplashErrorCodes.h>
+#include <splash/SplashFont.h>
+#include <splash/SplashFontEngine.h>
+#include <splash/SplashFontFile.h>
+#include <splash/SplashFontFileID.h>
+#include <splash/SplashGlyphBitmap.h>
+#include <splash/SplashMath.h>
+#include <splash/SplashPath.h>
+#include <splash/SplashPattern.h>
+#include <splash/SplashScreen.h>
+#include <splash/SplashState.h>
 #include <splash/SplashTypes.h>
 #include <sys/stat.h>
 #endif // PCH_LEVEL >= 3
diff --git a/external/poppler/poppler-config.patch.1 
b/external/poppler/poppler-config.patch.1
index 8f71e987b2b9..e2163319fd43 100644
--- a/external/poppler/poppler-config.patch.1
+++ b/external/poppler/poppler-config.patch.1
@@ -179,7 +179,7 @@ index 0fbd336a..451213f8 100644
 +#define PACKAGE_NAME "poppler"
 +
 +/* Define to the full name and version of this package. */
-+#define PACKAGE_STRING "poppler 23.09.0"
++#define PACKAGE_STRING "poppler 24.06.0"
 +
 +/* Define to the one symbol short name of this package. */
 +#define PACKAGE_TARNAME "poppler"
@@ -188,7 +188,7 @@ index 0fbd336a..451213f8 100644
 +#define PACKAGE_URL ""
 +
 +/* Define to the version of this package. */
-+#define PACKAGE_VERSION "23.09.0"
++#define PACKAGE_VERSION "24.06.0"
 +
 +/* Poppler data dir */
 +#define POPPLER_DATADIR "/usr/local/share/poppler"
@@ -206,7 +206,7 @@ index 0fbd336a..451213f8 100644
 +/* #undef USE_FLOAT */
 +
 +/* Version number of package */
-+#define VERSION "23.09.0"
++#define VERSION "24.06.0"
 +
 +#if defined(__APPLE__)
 +#elif defined (_WIN32)
@@ -290,7 +290,7 @@ index 0fbd336a..451213f8 100644
 +
 +/* Defines the poppler version. */
 +#ifndef POPPLER_VERSION
-+#define POPPLER_VERSION "23.09.0"
++#define POPPLER_VERSION "24.06.0"
 +#endif
 +
 +/* Use single precision arithmetic in the Splash backend */
@@ -437,9 +437,9 @@ index 0fbd336a..451213f8 100644
 +
 +#include "poppler-global.h"
 +
-+#define POPPLER_VERSION "23.09.0"
-+#define POPPLER_VERSION_MAJOR 23
-+#define POPPLER_VERSION_MINOR 9
++#define POPPLER_VERSION "24.06.0"
++#define POPPLER_VERSION_MAJOR 24
++#define POPPLER_VERSION_MINOR 6
 +#define POPPLER_VERSION_MICRO 0
 +
 +namespace poppler
commit de539d4b801590e434fc2c07d73ae872b549dd26
Author:     Xisco Fauli <[email protected]>
AuthorDate: Mon May 13 11:14:06 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    poppler: Upgrade 24.05.0
    
    * external/poppler/char_traits.patch is no longer neeeded
    after 
https://cgit.freedesktop.org/poppler/poppler/commit/cpp/poppler-global.h?id=b4ac7d9af7cb5edfcfcbda035ed8b8c218ba8564
    
    * Adapt external/poppler/disable-nss-and-gpgmepp.patch.1
    after 
https://cgit.freedesktop.org/poppler/poppler/commit/?id=d40bb7e308c9e3299e50d3e2880229cd6272587e
    
    Downloaded from https://poppler.freedesktop.org/poppler-24.05.0.tar.xz
    
    Change-Id: I87ed833f92e504f0a39b5f64c1db42d579050a37
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167582
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173038
    Reviewed-by: Taichi Haradaguchi <[email protected]>

diff --git a/download.lst b/download.lst
index 99acbf8dcd6d..bfd02f72f5b0 100644
--- a/download.lst
+++ b/download.lst
@@ -646,8 +646,8 @@ LIBTIFF_TARBALL := tiff-4.6.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POPPLER_SHA256SUM := 
bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446
-POPPLER_TARBALL := poppler-24.03.0.tar.xz
+POPPLER_SHA256SUM := 
d8c5eb30b50285ad9f0af8c6335cc2d3b9597fca475cbc2598a5479fa379f779
+POPPLER_TARBALL := poppler-24.05.0.tar.xz
 POPPLER_DATA_SHA256SUM := 
c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
 # three static lines
diff --git a/external/poppler/UnpackedTarball_poppler.mk 
b/external/poppler/UnpackedTarball_poppler.mk
index c6ddbf9785d3..784fc768e2a7 100644
--- a/external/poppler/UnpackedTarball_poppler.mk
+++ b/external/poppler/UnpackedTarball_poppler.mk
@@ -14,7 +14,6 @@ $(eval $(call 
gb_UnpackedTarball_set_tarball,poppler,$(POPPLER_TARBALL),,poppler
 $(eval $(call gb_UnpackedTarball_set_patchlevel,poppler,0))
 
 $(eval $(call gb_UnpackedTarball_add_patches,poppler,\
-       external/poppler/char_traits.patch \
        external/poppler/disable-freetype.patch.1 \
        external/poppler/disable-nss-and-gpgmepp.patch.1 \
        external/poppler/poppler-config.patch.1 \
diff --git a/external/poppler/char_traits.patch 
b/external/poppler/char_traits.patch
deleted file mode 100644
index 3483f2fe22d8..000000000000
--- a/external/poppler/char_traits.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- cpp/poppler-global.h
-+++ cpp/poppler-global.h
-@@ -98,7 +98,7 @@
- #    pragma warning(push)
- #    pragma warning(disable : 4251) /* class 'A' needs to have dll interface 
for to be used by clients of class 'B'. */
- #endif
--class POPPLER_CPP_EXPORT ustring : public std::basic_string<unsigned short>
-+class POPPLER_CPP_EXPORT ustring : public std::u16string
- {
- public:
-     ustring();
diff --git a/external/poppler/disable-freetype.patch.1 
b/external/poppler/disable-freetype.patch.1
index 3c4d1d0f7a8a..5d7426242c35 100644
--- a/external/poppler/disable-freetype.patch.1
+++ b/external/poppler/disable-freetype.patch.1
@@ -22,13 +22,13 @@ disable freetype dependent code
  #include <unordered_set>
  
  // helper for using std::visit to get a dependent false for static_asserts
-@@ -2760,6 +2760,8 @@
+@@ -2840,6 +2840,8 @@
  
  Form::AddFontResult Form::addFontToDefaultResources(const std::string 
&filepath, int faceIndex, const std::string &fontFamily, const std::string 
&fontStyle, bool forceName)
  {
 +    return {};
 +#if 0
-     if (!GooString::endsWith(filepath, ".ttf") && 
!GooString::endsWith(filepath, ".ttc") && !GooString::endsWith(filepath, 
".otf")) {
+     if (!filepath.ends_with(".ttf") && !filepath.ends_with(".ttc") && 
!filepath.ends_with(".otf")) {
          error(errIO, -1, "We only support embedding ttf/ttc/otf fonts for 
now. The font file for {0:s} {1:s} was {2:s}", fontFamily.c_str(), 
fontStyle.c_str(), filepath.c_str());
          return {};
 @@ -2994,6 +2996,7 @@
diff --git a/external/poppler/disable-nss-and-gpgmepp.patch.1 
b/external/poppler/disable-nss-and-gpgmepp.patch.1
index 1d7f7f933433..1fc9ede6035c 100644
--- a/external/poppler/disable-nss-and-gpgmepp.patch.1
+++ b/external/poppler/disable-nss-and-gpgmepp.patch.1
@@ -11,9 +11,9 @@ disable NSS/GPGMEPP dependent code.
  #include "SignatureInfo.h"
  #include "CertificateInfo.h"
  #include "XRef.h"
-@@ -578,7 +578,7 @@
+@@ -584,7 +584,7 @@
  {
-     return static_cast<FormFieldSignature 
*>(field)->validateSignature(doVerifyCert, forceRevalidation, validationTime, 
ocspRevocationCheck, enableAIA);
+     return static_cast<FormFieldSignature 
*>(field)->validateSignatureResult();
  }
 -
 +#if 0
@@ -60,19 +60,44 @@ disable NSS/GPGMEPP dependent code.
  }
 
  FormSignatureType FormWidgetSignature::signatureType() const
-@@ -2388,6 +2392,7 @@
-
- SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool 
forceRevalidation, time_t validationTime, bool ocspRevocationCheck, bool 
enableAIA)
+@@ -2395,6 +2399,7 @@
+ 
+ SignatureInfo *FormFieldSignature::validateSignatureAsync(bool doVerifyCert, 
bool forceRevalidation, time_t validationTime, bool ocspRevocationCheck, bool 
enableAIA, const std::function<void()> &doneCallback)
  {
 +#if 0
      auto backend = CryptoSign::Factory::createActive();
      if (!backend) {
-         return signature_info;
-@@ -2464,6 +2469,7 @@
-     const CertificateValidationStatus cert_val_state = 
signature_handler->validateCertificate(std::chrono::system_clock::from_time_t(validationTime),
 ocspRevocationCheck, enableAIA);
-     signature_info->setCertificateValStatus(cert_val_state);
-
+         if (doneCallback) {
+@@ -2497,6 +2502,7 @@
+ 
+     
signature_handler->validateCertificateAsync(std::chrono::system_clock::from_time_t(validationTime),
 ocspRevocationCheck, enableAIA, doneCallback);
+ 
 +#endif
      return signature_info;
  }
 
+@@ -2508,10 +2508,13 @@
+ 
+ CertificateValidationStatus FormFieldSignature::validateSignatureResult()
+ {
++#if 0
+     if (!signature_handler) {
+         return CERTIFICATE_GENERIC_ERROR;
+     }
+     return signature_handler->validateCertificateResult();
++#endif
++    return CERTIFICATE_GENERIC_ERROR;
+ }
+ 
+ std::vector<Goffset> FormFieldSignature::getSignedRangeBounds() const
+
+--- poppler/poppler/Form.h     2024-05-13 10:18:04.303912457 +0200
++++ poppler/poppler/Form.h     2024-05-13 11:41:51.547002511 +0200
+@@ -669,7 +669,6 @@
+     double customAppearanceLeftFontSize = 20;
+     Ref imageResource = Ref::INVALID();
+     std::unique_ptr<X509CertificateInfo> certificate_info;
+-    std::unique_ptr<CryptoSign::VerificationInterface> signature_handler;
+ 
+     void print(int indent) override;
+ };
commit f8d9ec5674248ee7db33059ad827faa88acd62cf
Author:     Julien Nabet <[email protected]>
AuthorDate: Wed Sep 11 10:31:43 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    tdf#161007: Report Builder Wizard fails
    
    See https://bugs.documentfoundation.org/show_bug.cgi?id=161007#c7
    
    Change-Id: Ide92b70f9006e229b59fab0c3eacfb37e0625ae6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173186
    Reviewed-by: Henry Castro <[email protected]>
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <[email protected]>
    (cherry picked from commit a42270bb4d56a538333aa317cb6425a95c37bb8c)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173171
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/svx/inc/fmstring.hrc b/svx/inc/fmstring.hrc
index d630f354b879..4b0c7005f3f0 100644
--- a/svx/inc/fmstring.hrc
+++ b/svx/inc/fmstring.hrc
@@ -35,7 +35,7 @@ const TranslateId RID_RSC_SQL_INTERNATIONAL[] =
     NC_("RID_RSC_SQL_INTERNATIONAL", "BETWEEN"),
     NC_("RID_RSC_SQL_INTERNATIONAL", "OR"),
     NC_("RID_RSC_SQL_INTERNATIONAL", "AND"),
-    NC_("RID_RSC_SQL_INTERNATIONAL", "Average"),
+    NC_("RID_RSC_SQL_INTERNATIONAL", "AVG"),
     NC_("RID_RSC_SQL_INTERNATIONAL", "Count"),
     NC_("RID_RSC_SQL_INTERNATIONAL", "Maximum"),
     NC_("RID_RSC_SQL_INTERNATIONAL", "Minimum"),
commit dbfe3a3de061b701b40f15c6560d50baa8a01b80
Author:     Xisco Fauli <[email protected]>
AuthorDate: Wed Sep 11 11:04:56 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    curl: upgrade to 8.10.0
    
    Downloaded from https://curl.se/download/curl-8.10.0.tar.xz
    
    Change-Id: I1eb9506a73162ce2e2adf1fe1e02267c34bc78ac
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173194
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit c95229bf8e3bd643b8529046f0754e2de4c6625b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173173
    Reviewed-by: Taichi Haradaguchi <[email protected]>

diff --git a/download.lst b/download.lst
index 4cc89531c2b0..99acbf8dcd6d 100644
--- a/download.lst
+++ b/download.lst
@@ -80,8 +80,8 @@ CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-CURL_SHA256SUM := 
f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5
-CURL_TARBALL := curl-8.9.1.tar.xz
+CURL_SHA256SUM := 
e6b142f0e85e954759d37e26a3627e2278137595be80e3a860c4353e4335e5a0
+CURL_TARBALL := curl-8.10.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0
index ff3ed07b4465..83993fe8a56f 100644
--- a/external/curl/zlib.patch.0
+++ b/external/curl/zlib.patch.0
@@ -8,18 +8,18 @@
  
  # Check whether --with-zlib was given.
  if test ${with_zlib+y}
-@@ -23045,6 +23044,7 @@
+@@ -23609,12 +23609,28 @@
  
  
- if test "$OPT_ZLIB" = "no" ; then
-+    ZLIB_LIBS=""
-     { printf "%s
" "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5
+ if test "$OPT_ZLIB" = "no"; then
++  ZLIB_LIBS=""
+   { printf "%s
" "$as_me:${as_lineno-$LINENO}: WARNING: zlib disabled" >&5
  printf "%s
" "$as_me: WARNING: zlib disabled" >&2;}
  else
-@@ -23052,6 +23052,21 @@
+   if test "$OPT_ZLIB" = "yes"; then
      OPT_ZLIB=""
    fi
- 
++  
 + if test -n "$ZLIB_CFLAGS$ZLIB_LIBS"; then
 +  CPPFLAGS="$CPPFLAGS $ZLIB_CFLAGS"
 +  LIBS="$ZLIB_LIBS $LIBS"
@@ -34,10 +34,9 @@
 +  AMFIXLIB="1"
 + else
 +  ZLIB_LIBS=""
-+
-   if test -z "$OPT_ZLIB" ; then
  
-     if test -n "$PKG_CONFIG"; then
+   if test -z "$OPT_ZLIB"; then
+
 @@ -23903,6 +23903,7 @@
      LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE zlib"
      curl_zlib_msg="enabled"
@@ -48,21 +47,22 @@
   if test x"$AMFIXLIB" = x1; then
 --- configure.ac
 +++ configure.ac
-@@ -1243,19 +1243,30 @@
+@@ -1302,19 +1302,31 @@
  clean_CPPFLAGS=$CPPFLAGS
  clean_LDFLAGS=$LDFLAGS
  clean_LIBS=$LIBS
 -ZLIB_LIBS=""
++
  AC_ARG_WITH(zlib,
  AS_HELP_STRING([--with-zlib=PATH],[search for zlib in PATH])
  AS_HELP_STRING([--without-zlib],[disable use of zlib]),
-                [OPT_ZLIB="$withval"])
+   [OPT_ZLIB="$withval"])
  
- if test "$OPT_ZLIB" = "no" ; then
-+    ZLIB_LIBS=""
-     AC_MSG_WARN([zlib disabled])
+ if test "$OPT_ZLIB" = "no"; then
++  ZLIB_LIBS=""
+   AC_MSG_WARN([zlib disabled])
  else
-   if test "$OPT_ZLIB" = "yes" ; then
+   if test "$OPT_ZLIB" = "yes"; then
      OPT_ZLIB=""
    fi
  
@@ -77,7 +77,7 @@
 + else
 +  ZLIB_LIBS=""
 +
-   if test -z "$OPT_ZLIB" ; then
+   if test -z "$OPT_ZLIB"; then
      CURL_CHECK_PKGCONFIG(zlib)
  
 @@ -1395,6 +1395,7 @@
commit 4f890c4cbce470cd97a01edf328eca2fbee73773
Author:     Michael Stahl <[email protected]>
AuthorDate: Tue Sep 10 10:30:00 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:46 2024 +0200

    expat: upgrade to release 2.6.3
    
    Fixes CVE-2024-45490 CVE-2024-45491 CVE-2024-45492
    
    Change-Id: I17f7d9a5c540e7d2005515f1f4fd79e0a5c631ca
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173097
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>

diff --git a/download.lst b/download.lst
index 5f21f00f340b..4cc89531c2b0 100644
--- a/download.lst
+++ b/download.lst
@@ -111,8 +111,8 @@ ETONYEK_TARBALL := 
libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-EXPAT_SHA256SUM := 
ee14b4c5d8908b1bec37ad937607eab183d4d9806a08adee472c3c3121d27364
-EXPAT_TARBALL := expat-2.6.2.tar.xz
+EXPAT_SHA256SUM := 
274db254a6979bde5aad404763a704956940e465843f2a9bd9ed7af22e2c0efc
+EXPAT_TARBALL := expat-2.6.3.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
commit e1c53750f19a58e6ecdb6e8b62d1b9e829908c61
Author:     Caolán McNamara <[email protected]>
AuthorDate: Fri Sep 6 19:52:11 2024 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    cid#1619147 Dereference before null check
    
    maybe it possible in --headless that ShowMarkWnd launches
    
    weld::DialogController::runAsync(mxMarkWnd, [this](sal_Int32 /*nResult*/) { 
mxMarkWnd.reset(); } );
    
    and the auto-cancel calls mxMarkWnd.reset() immediately?
    
    Otherwise, not sure how this could come about.
    
    Change-Id: I761ee7450a8ba54b2a7f75d4ee116c30319ddaa8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172976
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <[email protected]>
    (cherry picked from commit c8eb95e8407ef24436e0e8e218dce535df6bb2e5)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173014
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173063
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx
index a971cd1145b0..c61b22519cd1 100644
--- a/cui/source/dialogs/hldoctp.cxx
+++ b/cui/source/dialogs/hldoctp.cxx
@@ -207,6 +207,9 @@ IMPL_LINK_NOARG(SvxHyperlinkDocTp, ClickTargetHdl_Impl, 
weld::Button&, void)
 {
     ShowMarkWnd();
 
+    if (!mxMarkWnd)
+        return;
+
     if ( GetPathType ( maStrURL ) == EPathType::ExistsFile  ||
          maStrURL.isEmpty() ||
          maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) ||
@@ -216,13 +219,10 @@ IMPL_LINK_NOARG(SvxHyperlinkDocTp, ClickTargetHdl_Impl, 
weld::Button&, void)
 
         weld::WaitObject aWait(mpDialog->getDialog());
 
-        if (mxMarkWnd)
-        {
-            if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
-                mxMarkWnd->RefreshTree ( "" );
-            else
-                mxMarkWnd->RefreshTree ( maStrURL );
-        }
+        if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
+            mxMarkWnd->RefreshTree ( "" );
+        else
+            mxMarkWnd->RefreshTree ( maStrURL );
     }
     else
         mxMarkWnd->SetError( LERR_DOCNOTOPEN );
commit f6167e16c7ac7c1c784eee53c60f0201d3a38ff7
Author:     Xisco Fauli <[email protected]>
AuthorDate: Sat Sep 7 00:42:57 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    Python: upgrade to 3.8.20
    
    Downloaded from 
https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz
    
    Change-Id: I142d52236bcd4011359889ce6e64898ca08999c7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172983
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins

diff --git a/configure.ac b/configure.ac
index d9a1f2335b40..ad8163a248a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10115,7 +10115,7 @@ if test \( "$cross_compiling" = yes -a -z 
"$PYTHON_FOR_BUILD" \) -o "$enable_pyt
     SYSTEM_PYTHON=
     PYTHON_VERSION_MAJOR=3
     PYTHON_VERSION_MINOR=8
-    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.19
+    PYTHON_VERSION=${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.20
     if ! grep -q -i python.*${PYTHON_VERSION} ${SRC_ROOT}/download.lst; then
         AC_MSG_ERROR([PYTHON_VERSION ${PYTHON_VERSION} but no matching file in 
download.lst])
     fi
diff --git a/download.lst b/download.lst
index fe06456080fe..5f21f00f340b 100644
--- a/download.lst
+++ b/download.lst
@@ -658,8 +658,8 @@ POSTGRESQL_TARBALL := postgresql-13.16.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PYTHON_SHA256SUM := 
d2807ac69f69b84fd46a0b93bbd02a4fa48d3e70f4b2835ff0f72a2885040076
-PYTHON_TARBALL := Python-3.8.19.tar.xz
+PYTHON_SHA256SUM := 
6fb89a7124201c61125c0ab4cf7f6894df339a40c02833bfd28ab4d7691fafb4
+PYTHON_TARBALL := Python-3.8.20.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
commit 339219d7453907e137e10878755c06e77596424b
Author:     Xisco Fauli <[email protected]>
AuthorDate: Sat Sep 7 18:26:09 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    xmloff: fix deref before null check
    
    Seen in 
https://crashreport.libreoffice.org/stats/signature/SvXMLExport::ExportThemeElement(std::shared_ptr%3Cmodel::Theme%3E%20const%20&)
    
    Change-Id: I12b9c3cf064100fb6cfeaaf2828dbf08e7dd8a81
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173000
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit c9f2ec93939417a120f26d64c2b2dff380e81286)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173010
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index bb7ef1cc695d..3f1d0667b3c4 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -1689,6 +1689,8 @@ void 
SvXMLExport::ExportThemeElement(std::shared_ptr<model::Theme> const& pTheme
     SvXMLElementExport aTheme(*this, XML_NAMESPACE_LO_EXT, XML_THEME, true, 
true);
 
     auto pColorSet = pTheme->getColorSet();
+    if (!pColorSet)
+        return;
     if (!pColorSet->getName().isEmpty())
         AddAttribute(XML_NAMESPACE_LO_EXT, XML_NAME, pColorSet->getName());
     SvXMLElementExport aColorTable(*this, XML_NAMESPACE_LO_EXT, 
XML_THEME_COLORS, true, true);
commit 70a2280118c176b4d072cdc20581fa35fd6156cb
Author:     Xisco Fauli <[email protected]>
AuthorDate: Mon Mar 25 20:59:08 2024 +0100
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    poppler: upgrade to release 24.03.0
    
    Change-Id: Icd063dcc9a034e88283ddf16be64091a32f3453f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165292
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173037
    Reviewed-by: Caolán McNamara <[email protected]>

diff --git a/download.lst b/download.lst
index a873561875e0..fe06456080fe 100644
--- a/download.lst
+++ b/download.lst
@@ -646,8 +646,8 @@ LIBTIFF_TARBALL := tiff-4.6.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-POPPLER_SHA256SUM := 
80d1d44dd8bdf4ac1a47d56c5065075eb9991790974b1ed7d14b972acde88e55
-POPPLER_TARBALL := poppler-23.09.0.tar.xz
+POPPLER_SHA256SUM := 
bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446
+POPPLER_TARBALL := poppler-24.03.0.tar.xz
 POPPLER_DATA_SHA256SUM := 
c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74
 POPPLER_DATA_TARBALL := poppler-data-0.4.12.tar.gz
 # three static lines
diff --git a/external/poppler/disable-nss-and-gpgmepp.patch.1 
b/external/poppler/disable-nss-and-gpgmepp.patch.1
index 01b442f53a1c..1d7f7f933433 100644
--- a/external/poppler/disable-nss-and-gpgmepp.patch.1
+++ b/external/poppler/disable-nss-and-gpgmepp.patch.1
@@ -11,7 +11,7 @@ disable NSS/GPGMEPP dependent code.
  #include "SignatureInfo.h"
  #include "CertificateInfo.h"
  #include "XRef.h"
-@@ -577,7 +577,7 @@
+@@ -578,7 +578,7 @@
  {
      return static_cast<FormFieldSignature 
*>(field)->validateSignature(doVerifyCert, forceRevalidation, validationTime, 
ocspRevocationCheck, enableAIA);
  }
@@ -20,12 +20,12 @@ disable NSS/GPGMEPP dependent code.
  // update hash with the specified range of data from the file
  static bool hashFileRange(FILE *f, CryptoSign::SigningInterface *handler, 
Goffset start, Goffset end)
  {
-@@ -607,10 +607,12 @@
+@@ -608,10 +608,12 @@
      delete[] buf;
      return true;
  }
 +#endif
- 
+
  bool FormWidgetSignature::signDocument(const std::string &saveFilename, const 
std::string &certNickname, const std::string &password, const GooString 
*reason, const GooString *location, const std::optional<GooString> 
&ownerPassword,
                                         const std::optional<GooString> 
&userPassword)
  {
@@ -33,44 +33,46 @@ disable NSS/GPGMEPP dependent code.
      auto backend = CryptoSign::Factory::createActive();
      if (!backend) {
          return false;
-@@ -698,6 +700,8 @@
+@@ -697,8 +699,8 @@
+     signatureField->setSignature(*signature);
+
      fclose(file);
- 
-     return true;
+-
+-    return true;
 +#endif
 +    return false;
  }
- 
- bool FormWidgetSignature::signDocumentWithAppearance(const std::string 
&saveFilename, const std::string &certNickname, const std::string &password, 
const GooString *reason, const GooString *location,
-@@ -2316,6 +2320,7 @@
- 
+
+ static std::tuple<double, double> calculateDxDy(int rot, const PDFRectangle 
*rect)
+@@ -2355,6 +2357,7 @@
+
  void 
FormFieldSignature::hashSignedDataBlock(CryptoSign::VerificationInterface 
*handler, Goffset block_len)
  {
 +#if 0
      if (!handler) {
          return;
      }
-@@ -2335,6 +2340,7 @@
+@@ -2374,6 +2377,7 @@
              i += BLOCK_SIZE;
          }
      }
 +#endif
  }
- 
+
  FormSignatureType FormWidgetSignature::signatureType() const
-@@ -2349,6 +2355,7 @@
- 
+@@ -2388,6 +2392,7 @@
+
  SignatureInfo *FormFieldSignature::validateSignature(bool doVerifyCert, bool 
forceRevalidation, time_t validationTime, bool ocspRevocationCheck, bool 
enableAIA)
  {
 +#if 0
      auto backend = CryptoSign::Factory::createActive();
      if (!backend) {
          return signature_info;
-@@ -2425,6 +2432,7 @@
+@@ -2464,6 +2469,7 @@
      const CertificateValidationStatus cert_val_state = 
signature_handler->validateCertificate(std::chrono::system_clock::from_time_t(validationTime),
 ocspRevocationCheck, enableAIA);
      signature_info->setCertificateValStatus(cert_val_state);
- 
+
 +#endif
      return signature_info;
  }
- 
+
commit 829b27794b3d2d74bdb0bc116594c3c992d2d1d0
Author:     Julien Nabet <[email protected]>
AuthorDate: Sun Sep 8 11:02:43 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    tdf#155751: dBase: BETWEEN won't include first and last value in queries
    
    Since the beginning:
    commit 86c5930e98a48fef73253535fa7508c187a093f0
    Author: Jens-Heiner Rechtien <[email protected]>
    Date:   Mon Aug 2 16:04:09 2004 +0000
    
        INTEGRATION: CWS insight01 (1.19.14); FILE MERGED
        2004/06/03 14:48:29 oj 1.19.14.3: #i18836# imple between key word
        2004/05/28 11:16:26 oj 1.19.14.2: RESYNC: (1.19-1.20); FILE MERGED
        2004/05/12 10:48:11 oj 1.19.14.1: change SQLFilterOperator
    
    Change-Id: I75d00c313072e08279ca2f37cb65bb3414447d16
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173036
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <[email protected]>
    (cherry picked from commit 403075b4614d2926a07cb43806c3e9ef311ee779)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173015
    Reviewed-by: Xisco Fauli <[email protected]>
    (cherry picked from commit 23e9fe3b8f71f7d47b0e4a132252efb91cac9e6d)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/173018

diff --git a/connectivity/source/drivers/file/fcomp.cxx 
b/connectivity/source/drivers/file/fcomp.cxx
index 45c9022340a9..a47e9dd827bc 100644
--- a/connectivity/source/drivers/file/fcomp.cxx
+++ b/connectivity/source/drivers/file/fcomp.cxx
@@ -330,12 +330,12 @@ void OPredicateCompiler::execute_BETWEEN(OSQLParseNode 
const * pPredicateNode)
 
     OOperand* pColumnOp = execute(pColumn);
     OOperand* pOb1 = execute(p1stValue);
-    OBoolOperator* pOperator = new OOp_COMPARE(bNot ? 
SQLFilterOperator::LESS_EQUAL : SQLFilterOperator::GREATER);
+    OBoolOperator* pOperator = new OOp_COMPARE(bNot ? SQLFilterOperator::LESS 
: SQLFilterOperator::GREATER_EQUAL);
     m_aCodeList.emplace_back(pOperator);
 
     execute(pColumn);
     OOperand* pOb2 = execute(p2ndtValue);
-    pOperator = new OOp_COMPARE(bNot ? SQLFilterOperator::GREATER_EQUAL : 
SQLFilterOperator::LESS);
+    pOperator = new OOp_COMPARE(bNot ? SQLFilterOperator::GREATER : 
SQLFilterOperator::LESS_EQUAL);
     m_aCodeList.emplace_back(pOperator);
 
     if ( pColumnOp && pOb1 && pOb2 )
commit 524364596afc414bac1b073555541dd50cdb5ffd
Author:     Michael Stahl <[email protected]>
AuthorDate: Fri Sep 6 14:09:15 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    sw: fix hiding of flys in hidden sections, part 3
    
    Sigh... the new section frame can be deleted! Missed that...
    
    (regression from commit e2f3ba12c238c895dfd61ad09fcd76789ebbfd53)
    
    Change-Id: I48f2b09ececf8fb8469c53a5ec0a3c75be5f7306
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172966
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <[email protected]>
    (cherry picked from commit 0c6ec63c81676ed675931d9aa8a78d91ed0d9b6e)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172954
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index 0a7f5ae16456..d7d97c64c189 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -1908,10 +1908,6 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
             //section again.
             pActualSection.reset(pActualSection->GetUpper());
             pLay = pLay->FindSctFrame();
-            if (pLay->IsHiddenNow())
-            {
-                
newHiddenSections.push_back(static_cast<SwSectionFrame*>(pLay));
-            }
             if ( pActualSection )
             {
                 //Could be, that the last SectionFrame remains empty.
@@ -1926,6 +1922,10 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
                 }
                 else
                 {
+                    if (pLay->IsHiddenNow())
+                    {
+                        
newHiddenSections.push_back(static_cast<SwSectionFrame*>(pLay));
+                    }
                     pPrv = pLay;
                     pLay = pLay->GetUpper();
                 }
@@ -1969,6 +1969,10 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
             }
             else
             {
+                if (pLay->IsHiddenNow())
+                {
+                    
newHiddenSections.push_back(static_cast<SwSectionFrame*>(pLay));
+                }
                 //Nothing more with sections, it goes on right behind
                 //the SectionFrame.
                 pPrv = pLay;
commit 221838f5c1bd4c444177fee4a6d6ba38be046b19
Author:     Xisco Fauli <[email protected]>
AuthorDate: Wed Jul 31 11:44:49 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    curl: upgrade to 8.9.1
    
    Downloaded from https://curl.se/download/curl-8.9.1.tar.xz
    
    Change-Id: I7a8ddd798c41ee6c9163b771b6c57f100fdc8af0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171292
    Tested-by: Jenkins
    Reviewed-by: Taichi Haradaguchi <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172834
    Reviewed-by: Christian Lohmaier <[email protected]>
    Tested-by: Christian Lohmaier <[email protected]>

diff --git a/download.lst b/download.lst
index 0cd11960276d..a873561875e0 100644
--- a/download.lst
+++ b/download.lst
@@ -80,8 +80,8 @@ CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-CURL_SHA256SUM := 
ff09b2791ca56d25fd5c3f3a4927dce7c8a9dc4182200c487ca889fba1fdd412
-CURL_TARBALL := curl-8.9.0.tar.xz
+CURL_SHA256SUM := 
f292f6cc051d5bbabf725ef85d432dfeacc8711dd717ea97612ae590643801e5
+CURL_TARBALL := curl-8.9.1.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
commit f4b1b192548695edbd19d43701ff6a21c69ce7c7
Author:     Xisco Fauli <[email protected]>
AuthorDate: Wed Jul 24 12:43:09 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:45 2024 +0200

    curl: upgrade to 8.9.0
    
    Downloaded from https://curl.se/download/curl-8.9.0.tar.xz
    
    Change-Id: Id8198dcc73e1679e8f672459b19d84606ae3e762
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170934
    Reviewed-by: Xisco Fauli <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 282da64a8fbcc71b59479bf13820a0b93c5f5889)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170945
    Reviewed-by: Christian Lohmaier <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172833
    Tested-by: Christian Lohmaier <[email protected]>

diff --git a/download.lst b/download.lst
index dea5dbd14e80..0cd11960276d 100644
--- a/download.lst
+++ b/download.lst
@@ -80,8 +80,8 @@ CPPUNIT_TARBALL := cppunit-1.15.1.tar.gz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-CURL_SHA256SUM := 
0f58bb95fc330c8a46eeb3df5701b0d90c9d9bfcc42bd1cd08791d12551d4400
-CURL_TARBALL := curl-8.8.0.tar.xz
+CURL_SHA256SUM := 
ff09b2791ca56d25fd5c3f3a4927dce7c8a9dc4182200c487ca889fba1fdd412
+CURL_TARBALL := curl-8.9.0.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/curl/configurable-z-option.patch.0 
b/external/curl/configurable-z-option.patch.0
index 84516ad21917..5be2445e28c1 100644
--- a/external/curl/configurable-z-option.patch.0
+++ b/external/curl/configurable-z-option.patch.0
@@ -6,7 +6,7 @@
  CC_NODEBUG  = $(CC) /O2 /DNDEBUG
 -CC_DEBUG    = $(CC) /Od /Gm /Zi /D_DEBUG /GZ
 +CC_DEBUG    = $(CC) /Od /Gm $(DEBUG_FLAGS_VALUE) /D_DEBUG /GZ
- CFLAGS      = /I. /I../lib /I../include /nologo /W4 /GX /DWIN32 /YX /FD /c 
/DBUILDING_LIBCURL
+ CFLAGS      = /I. /I../lib /I../include /nologo /W4 /GX /YX /FD /c 
/DBUILDING_LIBCURL
  !ELSE
  CC_NODEBUG  = $(CC) /O2 /DNDEBUG
 @@ -64,7 +64,7 @@
diff --git a/external/curl/curl-msvc.patch.1 b/external/curl/curl-msvc.patch.1
index 54ad026ec8c7..2295b1b53ecf 100644
--- a/external/curl/curl-msvc.patch.1
+++ b/external/curl/curl-msvc.patch.1
@@ -6,22 +6,22 @@ MSVC: using SOLARINC
  !ELSE
  CC_NODEBUG  = $(CC) /O2 /DNDEBUG
  CC_DEBUG    = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd
--CFLAGS      = /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c 
/DBUILDING_LIBCURL
-+CFLAGS      = /I. /I ../lib /I../include /nologo /W4 /EHsc /DWIN32 /FD /c 
/DBUILDING_LIBCURL $(SOLARINC)
+-CFLAGS      = /I. /I ../lib /I../include /nologo /W4 /EHsc /FD /c 
/DBUILDING_LIBCURL
++CFLAGS      = /I. /I ../lib /I../include /nologo /W4 /EHsc /FD /c 
/DBUILDING_LIBCURL $(SOLARINC)
  !ENDIF
  
  LFLAGS     = /nologo /machine:$(MACHINE)
-@@ -426,11 +426,11 @@
+@@ -428,11 +428,11 @@
  # CURL_XX macros are for the curl.exe command
  
  !IF "$(DEBUG)"=="yes"
--RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
-+RC_FLAGS = $(SOLARINC) /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
+-RC_FLAGS = /d_DEBUG /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
++RC_FLAGS = $(SOLARINC) /d_DEBUG /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
  CURL_CC       = $(CC_DEBUG) $(RTLIB_DEBUG)
- CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=1 /Fo $@ 
$(CURL_SRC_DIR)+ CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /d_DEBUG /Fo $@ 
$(CURL_SRC_DIR)  !ELSE
--RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
-+RC_FLAGS = $(SOLARINC) /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
+-RC_FLAGS = /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
++RC_FLAGS = $(SOLARINC) /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc
  CURL_CC       = $(CC_NODEBUG) $(RTLIB)
- CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /dDEBUGBUILD=0 /Fo $@ 
$(CURL_SRC_DIR)+ CURL_RC_FLAGS = $(CURL_RC_FLAGS) /i../include /Fo $@ 
$(CURL_SRC_DIR)  !ENDIF
diff --git a/external/curl/zlib.patch.0 b/external/curl/zlib.patch.0
index b4442ba262d1..ff3ed07b4465 100644
--- a/external/curl/zlib.patch.0
+++ b/external/curl/zlib.patch.0
@@ -38,8 +38,8 @@
    if test -z "$OPT_ZLIB" ; then
  
      if test -n "$PKG_CONFIG"; then
-@@ -23344,6 +23359,7 @@
- printf "%s
" "$as_me: found both libz and libz.h header" >&6;}
+@@ -23903,6 +23903,7 @@
+     LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE zlib"
      curl_zlib_msg="enabled"
    fi
 + fi
@@ -80,8 +80,8 @@
    if test -z "$OPT_ZLIB" ; then
      CURL_CHECK_PKGCONFIG(zlib)
  
-@@ -1336,6 +1347,7 @@
-     AC_MSG_NOTICE([found both libz and libz.h header])
+@@ -1395,6 +1395,7 @@
+     LIBCURL_PC_REQUIRES_PRIVATE="$LIBCURL_PC_REQUIRES_PRIVATE zlib"
      curl_zlib_msg="enabled"
    fi
 + fi
commit aa38003c4b9fc67e58680caa6e6213f47b684115
Author:     Michael Stahl <[email protected]>
AuthorDate: Thu Sep 5 18:19:44 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    sw: fix problem with 0-height tables after unhiding section
    
    Mysteriously this works the first time the section is made visible, but
    then hide it again and unhide it and a table has height 0 because only
    the table itself is invalidated and none of the text frames inside it.
    
    SwTabFrame::MakeAll() does Prepare(PrepareHint::FramePositionChanged) on
    all contained text frames, but that may actually do nothing in common
    cases.
    
    So just recursively invalidate everything in the section, that should
    fix things.
    
    (regression from commit ff7f1b59e22092d8548459e75fe912db852f056f)
    
    Change-Id: I26e72193947685fde52fb8da78e95592a3866c12
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172920
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit c647937e6066fb911b8ddc5a77b2621d5cb874e4)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172945
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/sw/source/core/layout/sectfrm.cxx 
b/sw/source/core/layout/sectfrm.cxx
index 953d55073676..a7dbf0e02be5 100644
--- a/sw/source/core/layout/sectfrm.cxx
+++ b/sw/source/core/layout/sectfrm.cxx
@@ -2671,6 +2671,24 @@ void SwSectionFrame::CalcEndAtEndFlag()
     }
 }
 
+static void InvalidateFramesInSection(SwFrame * pFrame)
+{
+    while (pFrame)
+    {
+        pFrame->InvalidateAll();
+        pFrame->InvalidateObjs(false);
+        if (pFrame->IsLayoutFrame())
+        {
+            InvalidateFramesInSection(pFrame->GetLower());
+        }
+        else if (pFrame->IsTextFrame())
+        {
+            pFrame->Prepare(PrepareHint::Clear, nullptr, false);
+        }
+        pFrame = pFrame->GetNext();
+    }
+}
+
 void SwSectionFrame::Notify(SfxHint const& rHint)
 {
     SwSectionFormat *const pFormat(GetSection()->GetFormat());
@@ -2732,35 +2750,8 @@ void SwSectionFrame::SwClientNotify(const SwModify& 
rMod, const SfxHint& rHint)
             SwRectFnSet(this).SetHeight(area, HUGE_POSITIVE);
         }
 
-        SwColumnFrame * pColumn{Lower()->IsColumnFrame()
-                ? static_cast<SwColumnFrame*>(Lower()) : nullptr};
-        auto IterateLower = [&pColumn](SwFrame *const pLowerFrame) -> SwFrame*
-        {
-            if (pLowerFrame->GetNext())
-            {
-                return pLowerFrame->GetNext();
-            }
-            if (pColumn)
-            {
-                pColumn = static_cast<SwColumnFrame*>(pColumn->GetNext());
-                if (pColumn)
-                {
-                    return 
static_cast<SwLayoutFrame*>(pColumn->Lower())->Lower();
-                }
-            }
-            return nullptr;
-        };
-        for (SwFrame* pLowerFrame = pColumn
-                    ? static_cast<SwLayoutFrame*>(pColumn->Lower())->Lower()
-                    : Lower();
-             pLowerFrame;
-             pLowerFrame = IterateLower(pLowerFrame))
-        {
-            pLowerFrame->Prepare(PrepareHint::Clear, nullptr, false);
-            pLowerFrame->InvalidateAll();
-            pLowerFrame->InvalidateObjs(false);
-            pLowerFrame->HideAndShowObjects();
-        }
+        InvalidateFramesInSection(Lower());
+        Lower()->HideAndShowObjects(); // recursive
         // Check if any page-breaks have been unhidden, create the new pages.
         // Call IsHiddenNow() because a parent section could still hide.
         if (!IsFollow() && IsInDocBody() && !IsInTab() && !IsHiddenNow())
@@ -2789,8 +2780,24 @@ void SwSectionFrame::SwClientNotify(const SwModify& 
rMod, const SfxHint& rHint)
                 pFirstOnPage = pFirstOnPage->GetUpper();
             }
             assert(pFirstOnPage->IsContentFrame() || 
pFirstOnPage->IsTabFrame());
-            pColumn = Lower()->IsColumnFrame()
-                ? static_cast<SwColumnFrame*>(Lower()) : nullptr;
+            SwColumnFrame * pColumn{Lower()->IsColumnFrame()
+                    ? static_cast<SwColumnFrame*>(Lower()) : nullptr};
+            auto IterateLower = [&pColumn](SwFrame *const pLowerFrame) -> 
SwFrame*
+            {
+                if (pLowerFrame->GetNext())
+                {
+                    return pLowerFrame->GetNext();
+                }
+                if (pColumn)
+                {
+                    pColumn = static_cast<SwColumnFrame*>(pColumn->GetNext());
+                    if (pColumn)
+                    {
+                        return 
static_cast<SwLayoutFrame*>(pColumn->Lower())->Lower();
+                    }
+                }
+                return nullptr;
+            };
             for (SwFrame* pLowerFrame = pColumn
                         ? 
static_cast<SwLayoutFrame*>(pColumn->Lower())->Lower()
                         : Lower();
commit 1b23e6d533110f29f33766248913fdcc39bf1fe1
Author:     Xisco Fauli <[email protected]>
AuthorDate: Thu Sep 5 16:29:08 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    cui: fix another plausible crash
    
    Similar to 6633afe0ff18e5921eb96be2f863f28bd7e1110d
    "fix crash in Hyperlink dialog"
    
    Change-Id: Ia53ffeffaca775c66fb269e109d5fdb8c32d0066
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172917
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <[email protected]>
    Reviewed-by: Noel Grandin <[email protected]>
    (cherry picked from commit 6605f58aeddb21629b842040b81df55a29443fd0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172902
    Reviewed-by: Michael Stahl <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172936

diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx
index 8c65fdb47fd6..a971cd1145b0 100644
--- a/cui/source/dialogs/hldoctp.cxx
+++ b/cui/source/dialogs/hldoctp.cxx
@@ -216,10 +216,13 @@ IMPL_LINK_NOARG(SvxHyperlinkDocTp, ClickTargetHdl_Impl, 
weld::Button&, void)
 
         weld::WaitObject aWait(mpDialog->getDialog());
 
-        if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
-            mxMarkWnd->RefreshTree ( "" );
-        else
-            mxMarkWnd->RefreshTree ( maStrURL );
+        if (mxMarkWnd)
+        {
+            if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
+                mxMarkWnd->RefreshTree ( "" );
+            else
+                mxMarkWnd->RefreshTree ( maStrURL );
+        }
     }
     else
         mxMarkWnd->SetError( LERR_DOCNOTOPEN );
commit f09c7dc21b189dfccf10abaa2784f255df1e0968
Author:     Michael Stahl <[email protected]>
AuthorDate: Thu Sep 5 15:19:13 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    sw: fix hiding of flys in hidden sections, part 2
    
    Didn't notice that this depends on a global variable "bObjsDirect" so it
    only works for some documents; move the HideAndShowObjects() call to the
    end so it works in all cases.
    
    (follow-up to commit 8a13277f797c6e2f1b0d9060ad6e5e4d72eb76d0)
    
    Change-Id: I26a7cecdb660179f3ac1c3ea1e5d19067806b741
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172915
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit e2f3ba12c238c895dfd61ad09fcd76789ebbfd53)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172901
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/sw/source/core/layout/frmtool.cxx 
b/sw/source/core/layout/frmtool.cxx
index e89274dad0bb..0a7f5ae16456 100644
--- a/sw/source/core/layout/frmtool.cxx
+++ b/sw/source/core/layout/frmtool.cxx
@@ -1587,6 +1587,8 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
     //the SwActualSection class has a member, which points to an 
upper(section).
     //When the "inner" section finishes, the upper will used instead.
 
+    std::vector<SwSectionFrame *> newHiddenSections;
+
     // Do not consider the end node. The caller (Section/MakeFrames()) has to
     // ensure that the end of this range is positioned before EndIndex!
     for ( ; nEndIndex == SwNodeOffset(0) || nIndex < nEndIndex; ++nIndex)
@@ -1907,12 +1909,8 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
             pActualSection.reset(pActualSection->GetUpper());
             pLay = pLay->FindSctFrame();
             if (pLay->IsHiddenNow())
-            {   // flys were created visible
-                for (SwFlowFrame * pSect = SwFlowFrame::CastFlowFrame(pLay);
-                        pSect; pSect = pSect->GetPrecede())
-                {   // flys were created visible
-                    pSect->GetFrame().HideAndShowObjects();
-                }
+            {
+                
newHiddenSections.push_back(static_cast<SwSectionFrame*>(pLay));
             }
             if ( pActualSection )
             {
@@ -1947,11 +1945,7 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
                     }
                     else if (pOuterSectionFrame->IsHiddenNow())
                     {
-                        for (SwFlowFrame * pSect = 
SwFlowFrame::CastFlowFrame(pOuterSectionFrame);
-                                pSect; pSect = pSect->GetPrecede())
-                        {   // flys were created visible
-                            pSect->GetFrame().HideAndShowObjects();
-                        }
+                        newHiddenSections.push_back(pOuterSectionFrame);
                     }
                 }
                 else
@@ -2024,6 +2018,15 @@ void InsertCnt_( SwLayoutFrame *pLay, SwDoc *pDoc,
         bObjsDirect = true;
     }
 
+    // do it after AppendAllObjs()
+    for (SwSectionFrame * pNew : newHiddenSections)
+    {
+        for (SwFlowFrame * pSect = pNew; pSect; pSect = pSect->GetPrecede())
+        {   // flys were created visible; section may be paginated so iterate
+            pSect->GetFrame().HideAndShowObjects();
+        }
+    }
+
     if( pPageMaker )
     {
         pPageMaker->CheckFlyCache( pPage );
commit 5fd622e9cdd353192df2bb311941de64e403ec0c
Author:     Noel Grandin <[email protected]>
AuthorDate: Thu Sep 5 12:11:27 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    fix crash in Hyperlink dialog
    
    which I managed to trigger by hitting escape repeatedly while it was
    trying to load the targets window
    
    Change-Id: I4c7cb3a30104c58bfc6652923a0aa2169c1bf3bf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172907
    Reviewed-by: Noel Grandin <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 6633afe0ff18e5921eb96be2f863f28bd7e1110d)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172894
    Reviewed-by: Xisco Fauli <[email protected]>
    Signed-off-by: Xisco Fauli <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172918

diff --git a/cui/source/dialogs/hldoctp.cxx b/cui/source/dialogs/hldoctp.cxx
index a1c1454b69de..8c65fdb47fd6 100644
--- a/cui/source/dialogs/hldoctp.cxx
+++ b/cui/source/dialogs/hldoctp.cxx
@@ -253,10 +253,13 @@ IMPL_LINK_NOARG(SvxHyperlinkDocTp, TimeoutHdl_Impl, Timer 
*, void)
     {
         weld::WaitObject aWait(mpDialog->getDialog());
 
-        if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
-            mxMarkWnd->RefreshTree ( "" );
-        else
-            mxMarkWnd->RefreshTree ( maStrURL );
+        if (mxMarkWnd)
+        {
+            if ( maStrURL.equalsIgnoreAsciiCase( INET_FILE_SCHEME ) )
+                mxMarkWnd->RefreshTree ( "" );
+            else
+                mxMarkWnd->RefreshTree ( maStrURL );
+        }
     }
 }
 
commit 691699e566c80b354203e78acfb4fb915d47954e
Author:     Michael Stahl <[email protected]>
AuthorDate: Thu Sep 5 12:37:46 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    sw: fix empty pages after hiding section due to SwTabFrame
    
    The problem with a full customer doc is that a table doesn't MoveBwd
    because ShouldBwdMoved finds that the rows don't fit as the rows still
    have non-0 heights, and the result is an empty page at the end; also the
    table later splits.
    
    Turns out that setting bDontSplit prevents both problems; the inner
    frames are all set to 0 height by lcl_RecalcTable().
    
    (regression from commit ff7f1b59e22092d8548459e75fe912db852f056f)
    
    Change-Id: I5012142a0019ee2e978d5b8a9eb445ff0949e569
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172910
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 8087f479b373299d45469ff3996dba793a9cdb28)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172897
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/sw/source/core/layout/tabfrm.cxx b/sw/source/core/layout/tabfrm.cxx
index 040635a513b7..a41d04946d6e 100644
--- a/sw/source/core/layout/tabfrm.cxx
+++ b/sw/source/core/layout/tabfrm.cxx
@@ -2165,9 +2165,10 @@ void SwTabFrame::MakeAll(vcl::RenderContext* 
pRenderContext)
     std::optional<SwBorderAttrAccess> oAccess(std::in_place, 
SwFrame::GetCache(), this);
     const SwBorderAttrs *pAttrs = oAccess->Get();
 
+    bool const isHiddenNow(IsHiddenNow());
     // All rows should keep together
-    bool bDontSplit = !IsFollow() &&
-                            ( !GetFormat()->GetLayoutSplit().GetValue() );
+    bool bDontSplit = isHiddenNow
+                || (!IsFollow() && !GetFormat()->GetLayoutSplit().GetValue());
 
     // The number of repeated headlines
     const sal_uInt16 nRepeat = GetTable()->GetRowsToRepeat();
@@ -2262,7 +2263,6 @@ void SwTabFrame::MakeAll(vcl::RenderContext* 
pRenderContext)
         }
     }
 
-    bool const isHiddenNow(IsHiddenNow());
     if (isHiddenNow)
         MakeValidZeroHeight();
 
commit 6c38013ff036ba17d88da6c4acc1126f795b90a5
Author:     Justin Luth <[email protected]>
AuthorDate: Fri Jul 19 09:50:11 2024 -0400
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    tdf#161741 tdf#161705 pgnum wizard: avoid undo crash (sledgehammer)
    
    This was fixed differently (hopefully more elegantly) in master,
    but that patch cannot be confidently backported.
    So this alternate approach is proposed for backport to stable.
    
    The "kill undo completely" approach
    that this patch is reverting back too is still commonly used for
    anything-to-do-with-page-style-headers-and-footers.
    
    i.e sw/source/core/unocore/unostyle.cxx // Fix i64460: as long as
      Undo of page styles with header/footer causes trouble...
    
    LO 7.6 introduced the page number wizard which has more prominently
    exposed existing ways to make undo/redo of page style changes
    to crash. So treat this as pre-LO 7.2
    and simply erase the undo stack after running the wizard.
    ------------------------------------------------------------------
    The ability to undo/redo the "Header/footer change" started in
    bibisect-linux-64-7.2 commit 910d9a081daf11ea53235d227c3dc9623942a824
    commit 8d8486f43c1a8a51157bfc3e0b87090b05a9229e
    Author: Daniel Arato (NISZ) on Mon Feb 22 16:59:38 2021 +0100
        tdf#46561 sw: fix lost undo stack setting header/footer
    
    -   if( bHeaderFooterChanged )
    -       GetIDocumentUndoRedo().DelAllUndoObj();
    
    Change-Id: I00c529784bfd7b2cd1230474c05eea8516e6c1e3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172822
    Reviewed-by: Justin Luth <[email protected]>
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <[email protected]>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172911

diff --git a/sw/source/uibase/shells/textfld.cxx 
b/sw/source/uibase/shells/textfld.cxx
index 20f21bb92355..87aa34ffd724 100644
--- a/sw/source/uibase/shells/textfld.cxx
+++ b/sw/source/uibase/shells/textfld.cxx
@@ -1453,6 +1453,10 @@ FIELD_INSERT:
                 rSh.EndAllAction();
                 rSh.LockView(false);
                 
rDoc.GetIDocumentUndoRedo().EndUndo(SwUndoId::INSERT_PAGE_NUMBER, nullptr);
+
+                // avoid various ways to crash related to undo of SwPageDesc 
(tdf#161741, tdf#161705)
+                if (bChangePageDesc)
+                    rDoc.GetIDocumentUndoRedo().DelAllUndoObj();
             }
             pDlg->disposeOnce();
         });
commit f860ec9c12f941baea223bc6bc65ce8563959e0c
Author:     Michael Stahl <[email protected]>
AuthorDate: Tue Sep 3 20:25:36 2024 +0200
Commit:     Andras Timar <[email protected]>
CommitDate: Fri Sep 13 14:24:44 2024 +0200

    sw: fix hiding of flys in hidden sections
    
    There are 2 different ways to hide flys, either destroy the SwFlyFrames
    (as is done for delete redlines or fieldmarks) or move them to an
    invisible layer (as is done for field-hidden paragraphs).
    
    Previously for hidden sections the FlyFrames would be destroyed, but
    it's easier now to move them to invisible layer.
    
    HideAndShowObjects() needs to be recursive so it can hide flys that are
    anchored in a table.
    
    (regression from commit ff7f1b59e22092d8548459e75fe912db852f056f)
    
    Change-Id: Ideab0343315e575c066eb9e2e901d2ee0acabe3a
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172865
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 8a13277f797c6e2f1b0d9060ad6e5e4d72eb76d0)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172892
    Reviewed-by: Mike Kaganski <[email protected]>

diff --git a/sw/qa/extras/layout/data/U-min.fodt 
b/sw/qa/extras/layout/data/U-min.fodt
new file mode 100644
index 000000000000..404cf7b3ed84
--- /dev/null
+++ b/sw/qa/extras/layout/data/U-min.fodt
@@ -0,0 +1,364 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<office:document xmlns:officeooo="http://openoffice.org/2009/office"; 
xmlns:css3t="http://www.w3.org/TR/css3-text/"; 
xmlns:grddl="http://www.w3.org/2003/g/data-view#"; 
xmlns:xhtml="http://www.w3.org/1999/xhtml"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" 
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" 
xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" 
xmlns:rpt="http://openoffice.org/2005/report"; 
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" 
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" 
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" 
xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" 
xmlns:xlink="http://www.w3.org/1999/xlink"; 
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" 
xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" 
xmlns:dc="http://purl.org/dc/eleme
 nts/1.1/" xmlns:ooo="http://openoffice.org/2004/office"; 
xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" 
xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0"
 
xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0"
 xmlns:drawooo="http://openoffice.org/2010/draw"; 
xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" 
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" 
xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" 
xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" 
xmlns:ooow="http://openoffice.org/2004/writer"; 
xmlns:oooc="http://openoffice.org/2004/calc"; 
xmlns:tableooo="http://openoffice.org/2009/table"; 
xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0"
 xmlns:math="http://www.w3.org/1998/Math/MathML"; 
xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" 
xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0
 " xmlns:dom="http://www.w3.org/2001/xml-events"; 
xmlns:xforms="http://www.w3.org/2002/xforms"; office:version="1.2" 
office:mimetype="application/vnd.oasis.opendocument.text">
+ <office:font-face-decls>
+  <style:font-face style:name="Times New Roman" svg:font-family="'Times New 
Roman'" style:font-family-generic="roman" style:font-pitch="variable"/>
+  <style:font-face style:name="Times New Roman1" svg:font-family="'Times New 
Roman'" style:font-adornments="Standard" style:font-family-generic="roman" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Arial" svg:font-family="Arial" 
style:font-adornments="Standard" style:font-family-generic="swiss" 
style:font-pitch="variable"/>
+  <style:font-face style:name="Lucida Sans Unicode" svg:font-family="'Lucida 
Sans Unicode'" style:font-family-generic="system" style:font-pitch="variable"/>
+  <style:font-face style:name="Tahoma" svg:font-family="Tahoma" 
style:font-family-generic="system" style:font-pitch="variable"/>
+ </office:font-face-decls>
+ <office:styles>
+  <style:default-style style:family="graphic">
+   <style:graphic-properties svg:stroke-color="#808080" 
draw:fill-color="#cfe7f5" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" 
draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" 
draw:start-line-spacing-vertical="0.283cm" 
draw:end-line-spacing-horizontal="0.283cm" 
draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="false"/>
+   <style:paragraph-properties style:text-autospace="ideograph-alpha" 
style:line-break="strict" style:font-independent-line-spacing="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties fo:color="#000000" style:font-name="Times New Roman" 
fo:font-size="12pt" fo:language="de" fo:country="DE" 
style:font-name-asian="Lucida Sans Unicode" style:font-size-asian="12pt" 
style:language-asian="en" style:country-asian="US" 
style:font-name-complex="Tahoma" style:font-size-complex="12pt" 
style:language-complex="en" style:country-complex="US"/>
+  </style:default-style>
+  <style:default-style style:family="paragraph">
+   <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" 
style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" 
style:line-break="strict" style:tab-stop-distance="1.997cm" 
style:writing-mode="page"/>
+   <style:text-properties fo:color="#000000" style:font-name="Times New Roman" 
fo:font-size="12pt" fo:language="de" fo:country="DE" 
style:font-name-asian="Lucida Sans Unicode" style:font-size-asian="12pt" 
style:language-asian="en" style:country-asian="US" 
style:font-name-complex="Tahoma" style:font-size-complex="12pt" 
style:language-complex="en" style:country-complex="US" fo:hyphenate="false" 
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" 
loext:hyphenation-no-caps="false"/>
+  </style:default-style>
+  <style:default-style style:family="table">
+   <style:table-properties table:border-model="collapsing"/>
+  </style:default-style>
+  <style:default-style style:family="table-row">
+   <style:table-row-properties fo:keep-together="auto"/>
+  </style:default-style>
+  <style:style style:name="Standard" style:family="paragraph" 
style:class="text"/>
+  <style:style style:name="Frame_20_contents" style:display-name="Frame 
contents" style:family="paragraph" style:class="extra"/>
+  <style:style style:name="VordruckGroß" style:family="paragraph" 
style:parent-style-name="Schrift1">
+   <style:text-properties fo:font-size="11pt" fo:font-weight="bold"/>
+  </style:style>
+  <style:style style:name="Schrift1" style:family="paragraph">
+   <style:paragraph-properties>
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties style:font-name="Arial" fo:font-family="Arial" 
style:font-style-name="Standard" style:font-family-generic="swiss" 
style:font-pitch="variable"/>
+  </style:style>
+  <style:style style:name="Schrift2" style:family="paragraph" 
style:master-page-name="">
+   <style:paragraph-properties style:page-number="auto"/>
+   <style:text-properties style:font-name="Times New Roman1" 
fo:font-family="'Times New Roman'" style:font-style-name="Standard" 
style:font-family-generic="roman" style:font-pitch="variable"/>
+  </style:style>
+  <style:style style:name="TextNormal" style:family="paragraph" 
style:parent-style-name="Schrift2" style:master-page-name="">
+   <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0cm" 
loext:contextual-spacing="false" fo:line-height="150%" fo:orphans="2" 
fo:widows="2" fo:hyphenation-ladder-count="no-limit" style:page-number="auto"/>
+   <style:text-properties fo:hyphenate="true" 
fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2" 
loext:hyphenation-no-caps="false"/>
+  </style:style>
+  <style:style style:name="Vfg2" style:family="paragraph" 
style:parent-style-name="TextNormal" style:list-style-name="Numbering_20_1" 
style:master-page-name="">
+   <style:paragraph-properties fo:line-height="100%" style:page-number="auto" 
text:number-lines="true" text:line-number="2"/>
+  </style:style>
+  <style:style style:name="Kopfzeile_5f_OFD" 
style:display-name="Kopfzeile_OFD" style:family="paragraph" 
style:parent-style-name="VordruckGroß" style:class="extra">
+   <style:paragraph-properties fo:text-align="center" 
style:justify-single-word="false"/>
+   <style:text-properties style:font-name="Times New Roman" 
fo:font-family="'Times New Roman'" style:font-family-generic="roman" 
style:font-pitch="variable" fo:font-size="12pt"/>
+  </style:style>
+  <style:style style:name="Fusszeile_5f_OFD" 
style:display-name="Fusszeile_OFD" style:family="paragraph" 
style:parent-style-name="Schrift1" style:class="extra" 
style:master-page-name="">
+   <style:paragraph-properties fo:text-align="end" 
style:justify-single-word="false" style:page-number="auto">
+    <style:tab-stops>
+     <style:tab-stop style:position="17cm" style:type="right"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties style:font-name="Times New Roman1" 
fo:font-family="'Times New Roman'" style:font-style-name="Standard" 
style:font-family-generic="roman" style:font-pitch="variable" 
fo:font-size="12pt"/>
+  </style:style>
+  <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote 
Symbol" style:family="text"/>
+  <style:style style:name="Numbering_20_Symbols" style:display-name="Numbering 
Symbols" style:family="text"/>
+  <style:style style:name="Endnote_20_Symbol" style:display-name="Endnote 
Symbol" style:family="text"/>
+  <style:style style:name="Footnote_20_anchor" style:display-name="Footnote 
anchor" style:family="text">
+   <style:text-properties style:text-position="super 58%"/>
+  </style:style>
+  <style:style style:name="Endnote_20_anchor" style:display-name="Endnote 
anchor" style:family="text">
+   <style:text-properties style:text-position="super 58%"/>
+  </style:style>
+  <style:style style:name="Frame" style:family="graphic">
+   <style:graphic-properties style:wrap="dynamic" 
style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false"/>
+  </style:style>
+  <text:outline-style style:name="Outline">
+   <text:outline-level-style text:level="1" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="2" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="3" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="4" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="5" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="6" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="7" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="8" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="9" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+   <text:outline-level-style text:level="10" style:num-format="">
+    <style:list-level-properties/>
+   </text:outline-level-style>
+  </text:outline-style>
+  <text:list-style style:name="Numbering_20_1" style:display-name="Numbering 
1">
+   <text:list-level-style-number text:level="1" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1" text:start-value="2">
+    <style:list-level-properties text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="2" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="0.499cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="3" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="0.999cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="4" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="1.498cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="5" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="1.997cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="6" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="2.496cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="7" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="2.995cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="8" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="3.494cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="9" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="3.994cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+   <text:list-level-style-number text:level="10" 
text:style-name="Numbering_20_Symbols" style:num-suffix="." 
style:num-format="1">
+    <style:list-level-properties text:space-before="4.493cm" 
text:min-label-width="0.499cm"/>
+   </text:list-level-style-number>
+  </text:list-style>
+  <text:notes-configuration text:note-class="footnote" 
text:citation-style-name="Footnote_20_Symbol" 
text:citation-body-style-name="Footnote_20_anchor" style:num-format="1" 
text:start-value="0" text:footnotes-position="page" 
text:start-numbering-at="page"/>
+  <text:notes-configuration text:note-class="endnote" 
text:citation-style-name="Endnote_20_Symbol" 
text:citation-body-style-name="Endnote_20_anchor" 
text:master-page-name="Endnote" style:num-format="1" text:start-value="0"/>
+  <text:linenumbering-configuration text:number-lines="false" 
text:offset="0.499cm" style:num-format="1" text:number-position="left" 
text:increment="5"/>
+ </office:styles>
+ <office:automatic-styles>
+  <style:style style:name="P1" style:family="paragraph" 
style:parent-style-name="Schrift1">
+   <style:paragraph-properties>
+    <style:tab-stops>
+     <style:tab-stop style:position="17cm" style:type="right"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+  </style:style>
+  <style:style style:name="P3" style:family="paragraph" 
style:parent-style-name="VordruckGroß">
+   <style:paragraph-properties fo:margin-left="1.05cm" fo:margin-right="0cm" 
fo:text-indent="-1cm" style:auto-text-indent="false"/>
+  </style:style>
+  <style:style style:name="P33" style:family="paragraph" 
style:parent-style-name="Frame_20_contents">
+   <style:paragraph-properties fo:text-align="center" 
style:justify-single-word="false"/>
+  </style:style>
+  <style:style style:name="P37" style:family="paragraph" 
style:parent-style-name="Standard">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0.019cm" 
fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false" 
fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="7.976cm"/>
+     <style:tab-stop style:position="9.49cm"/>
+     <style:tab-stop style:position="16.508cm"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="12pt" 
style:text-underline-style="none"/>
+  </style:style>
+  <style:style style:name="P40" style:family="paragraph" 
style:parent-style-name="TextNormal">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0.019cm" 
fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false" 
fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="8pt" style:text-underline-style="none" 
fo:font-weight="normal" style:font-size-asian="8pt" 
style:font-size-complex="8pt"/>
+  </style:style>
+  <style:style style:name="P46" style:family="paragraph" 
style:parent-style-name="TextNormal">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0.019cm" 
fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false" 
fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops>
+     <style:tab-stop style:position="7.976cm"/>
+     <style:tab-stop style:position="9.49cm"/>
+     <style:tab-stop style:position="16.508cm"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="12pt" 
style:text-underline-style="none"/>
+  </style:style>
+  <style:style style:name="P52" style:family="paragraph" 
style:parent-style-name="TextNormal">
+   <style:paragraph-properties fo:margin-left="0cm" fo:margin-right="0.019cm" 
fo:line-height="100%" fo:text-align="justify" style:justify-single-word="false" 
fo:text-indent="0cm" style:auto-text-indent="false">
+    <style:tab-stops/>
+   </style:paragraph-properties>
+   <style:text-properties fo:font-size="6pt" style:text-underline-style="none" 
fo:font-weight="normal" style:font-size-asian="6pt" 
style:font-size-complex="6pt"/>
+  </style:style>
+  <style:style style:name="P61" style:family="paragraph" 
style:parent-style-name="TextNormal" style:master-page-name="">
+   <style:paragraph-properties fo:text-align="start" 
style:justify-single-word="false" fo:keep-together="always" 
style:page-number="auto" fo:keep-with-next="always">
+    <style:tab-stops>
+     <style:tab-stop style:position="1.342cm"/>
+    </style:tab-stops>
+   </style:paragraph-properties>
+   <style:text-properties style:text-underline-style="none"/>
+  </style:style>
+  <style:style style:name="P83" style:family="paragraph" 
style:parent-style-name="TextNormal" style:master-page-name="FragebogenRechts">
+   <style:paragraph-properties style:page-number="auto" 
fo:break-before="page"/>
+  </style:style>
+  <style:style style:name="P85" style:family="paragraph" 
style:parent-style-name="Vfg2" style:list-style-name="">
+   <style:paragraph-properties fo:line-height="150%"/>
+   <style:text-properties style:text-underline-style="none"/>
+  </style:style>
+  <style:style style:name="T1" style:family="text">
+   <style:text-properties fo:font-size="10pt"/>
+  </style:style>
+  <style:style style:name="T4" style:family="text">
+   <style:text-properties fo:font-weight="normal"/>
+  </style:style>
+  <style:style style:name="fr3" style:family="graphic" 
style:parent-style-name="Frameformat">
+   <style:graphic-properties style:protect="content size position" 
style:vertical-pos="from-top" style:vertical-rel="paragraph" 
style:horizontal-pos="from-left" style:horizontal-rel="paragraph" 
fo:padding="0.049cm" fo:border-left="none" fo:border-right="none" 
fo:border-top="0.06pt solid #000000" fo:border-bottom="none"/>
+  </style:style>
+  <style:style style:name="fr7" style:family="graphic" 
style:parent-style-name="Frame">
+   <style:graphic-properties style:wrap="parallel" 
style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" 
style:vertical-rel="paragraph" style:horizontal-pos="from-left" 
style:horizontal-rel="paragraph"/>
+  </style:style>
+  <style:style style:name="fr8" style:family="graphic" 
style:parent-style-name="Frame">
+   <style:graphic-properties style:protect="size position" 
style:wrap="parallel" style:number-wrapped-paragraphs="no-limit" 
style:vertical-pos="from-top" style:vertical-rel="paragraph" 
style:horizontal-pos="from-left" style:horizontal-rel="paragraph" 
fo:padding="0.049cm" fo:border="none">
+    <style:columns fo:column-count="1" fo:column-gap="0cm"/>
+   </style:graphic-properties>
+  </style:style>
+  <style:style style:name="Sect1" style:family="section">
+   <style:section-properties style:editable="false">
+    <style:columns fo:column-count="1" fo:column-gap="0cm"/>
+   </style:section-properties>
+  </style:style>
+  <style:page-layout style:name="pm1">
+   <style:page-layout-properties fo:page-width="20.999cm" 
fo:page-height="29.699cm" style:num-format="1" 
style:print-orientation="portrait" fo:margin-top="1cm" fo:margin-bottom="1cm" 
fo:margin-left="2.499cm" fo:margin-right="1.499cm" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" 
style:layout-grid-mode="none" style:layout-grid-ruby-below="false" 
style:layout-grid-print="false" style:layout-grid-display="false" 
style:footnote-max-height="0cm">
+    <style:footnote-sep style:width="0.018cm" 
style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" 
style:line-style="solid" style:adjustment="left" style:rel-width="25%" 
style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style>
+    <style:header-footer-properties svg:height="0.9cm" fo:margin-left="0cm" 
fo:margin-right="0cm" fo:margin-top="0.3cm"/>
+   </style:footer-style>
+  </style:page-layout>
+  <style:page-layout style:name="pm8">
+   <style:page-layout-properties fo:page-width="20.999cm" 
fo:page-height="29.699cm" style:num-format="1" 
style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" 
fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" 
style:layout-grid-mode="none" style:layout-grid-ruby-below="false" 
style:layout-grid-print="false" style:layout-grid-display="false" 
style:footnote-max-height="0cm">
+    <style:footnote-sep style:line-style="solid" style:adjustment="left" 
style:rel-width="25%" style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style/>
+  </style:page-layout>
+  <style:page-layout style:name="pm11">
+   <style:page-layout-properties fo:page-width="21.001cm" 
fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" 
fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="2.401cm" 
fo:margin-right="2cm" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" 
style:layout-grid-mode="none" style:layout-grid-ruby-below="false" 
style:layout-grid-print="false" style:layout-grid-display="false" 
style:footnote-max-height="0cm">
+    <style:footnote-sep style:width="0.018cm" 
style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" 
style:line-style="solid" style:adjustment="left" style:rel-width="25%" 
style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style>
+    <style:header-footer-properties svg:height="1.499cm" fo:margin-left="0cm" 
fo:margin-right="0cm" fo:margin-bottom="1cm"/>
+   </style:header-style>
+   <style:footer-style>
+    <style:header-footer-properties svg:height="0.9cm" fo:margin-left="0cm" 
fo:margin-right="0cm" fo:margin-top="0.3cm"/>
+   </style:footer-style>
+  </style:page-layout>
+  <style:page-layout style:name="pm12" style:page-usage="right">
+   <style:page-layout-properties fo:page-width="21.001cm" 
fo:page-height="29.7cm" style:num-format="1" style:print-orientation="portrait" 
fo:margin-top="1cm" fo:margin-bottom="1cm" fo:margin-left="2.401cm" 
fo:margin-right="2cm" style:writing-mode="lr-tb" 
style:layout-grid-color="#c0c0c0" style:layout-grid-lines="20" 
style:layout-grid-base-height="0.706cm" style:layout-grid-ruby-height="0.353cm" 
style:layout-grid-mode="none" style:layout-grid-ruby-below="false" 
style:layout-grid-print="false" style:layout-grid-display="false" 
style:footnote-max-height="0cm">
+    <style:footnote-sep style:width="0.018cm" 
style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" 
style:line-style="solid" style:adjustment="left" style:rel-width="25%" 
style:color="#000000"/>
+   </style:page-layout-properties>
+   <style:header-style/>
+   <style:footer-style>
+    <style:header-footer-properties svg:height="0.9cm" fo:margin-left="0cm" 
fo:margin-right="0cm" fo:margin-top="0.3cm"/>
+   </style:footer-style>
+  </style:page-layout>
+  <number:number-style style:name="N0">
+   <number:number number:min-integer-digits="1"/>
+  </number:number-style>
+ </office:automatic-styles>
+ <office:master-styles>
+  <style:master-page style:name="Standard" style:page-layout-name="pm1">
+   <style:footer>
+    <text:p text:style-name="P1"><text:tab/><text:span 
text:style-name="T1"><text:page-continuation text:string-value="- " 
text:select-page="next"/></text:span><text:span 
text:style-name="T1"><text:page-number text:select-page="current" 
text:page-adjust="1"/></text:span><text:span 
text:style-name="T1"><text:page-continuation text:string-value=" -" 
text:select-page="next"/></text:span></text:p>
+   </style:footer>
+  </style:master-page>
+  <style:master-page style:name="Endnote" style:page-layout-name="pm8"/>
+  <style:master-page style:name="Fragebogen" style:page-layout-name="pm11">
+   <style:header>
+    <text:p text:style-name="Kopfzeile_5f_OFD"><text:span 
text:style-name="T4">- </text:span><text:span 
text:style-name="T4"><text:page-number 
text:select-page="current">0</text:page-number></text:span><text:span 
text:style-name="T4"><text:s/>-</text:span></text:p>
+   </style:header>
+   <style:footer>
+    <text:p 
text:style-name="Fusszeile_5f_OFD"><text:tab/><text:page-continuation 
text:string-value="- " text:select-page="next"/><text:page-number 
text:select-page="current" text:page-adjust="1"/><text:page-continuation 
text:string-value=" -" text:select-page="next"/></text:p>
+   </style:footer>
+  </style:master-page>
+  <style:master-page style:name="FragebogenRechts" 
style:page-layout-name="pm12" style:next-style-name="Fragebogen">
+   <style:footer>
+    <text:p text:style-name="Fusszeile_5f_OFD"><text:tab/></text:p>
+   </style:footer>
+  </style:master-page>
+ </office:master-styles>
+ <office:body>
+  <office:text text:use-soft-page-breaks="true">
+   <office:forms form:automatic-focus="false" form:apply-design-mode="false"/>
+   <text:sequence-decls>
+    <text:sequence-decl text:display-outline-level="0" 
text:name="Illustration"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Table"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Text"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Drawing"/>
+    <text:sequence-decl text:display-outline-level="0" text:name="Figure"/>
+   </text:sequence-decls>
+   <text:user-field-decls>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Name1"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Postfach"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Plz2"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Ort"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Straße"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Plz1"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31Name2"/>
+    <text:user-field-decl office:value-type="string" office:string-value="" 
text:name="x31GrosskPLZ"/>
+    <text:user-field-decl office:value-type="float" office:value="0" 
text:name="Verfügung"/>
+   </text:user-field-decls>
+   <text:p text:style-name="P85"><text:hidden-paragraph 
text:condition="ooow:TRUE" text:is-hidden="true"/></text:p>
+   <text:p text:style-name="P61"/>
+   <text:section text:style-name="Sect1" text:name="Anlage" 
text:condition="ooow:Verfügung EQ 0" text:is-hidden="true" 
text:display="condition">
+    <text:p text:style-name="P83"><text:hidden-paragraph 
text:condition="ooow:Verfügung EQ 1"/></text:p>
+    <text:p text:style-name="P46"><draw:frame draw:style-name="fr8" 
draw:name="Rahmen19" text:anchor-type="paragraph" svg:x="0cm" svg:y="1.251cm" 
svg:width="7.997cm" draw:z-index="1">
+      <draw:text-box fo:min-height="3cm">
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/>Postfach <text:user-field-get 
text:name="x31Postfach"/><text:line-break/><text:user-field-get 
text:name="x31Plz2"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:NOT(x31Plz2 G 
&quot; &quot;) OR (x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/><text:user-field-get 
text:name="x31Straße"/><text:line-break/><text:user-field-get 
text:name="x31Plz1"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31Plz2 G 
&quot; &quot; OR (x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:s/><text:user-field-get 
text:name="x31Name2"/><text:line-break/>Postfach <text:user-field-get 
text:name="x31Postfach"/><text:line-break/><text:user-field-get 
text:name="x31Plz2"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:NOT(x31Plz2 G 
&quot; &quot;) OR NOT(x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:s/><text:user-field-get 
text:name="x31Name2"/><text:line-break/><text:user-field-get 
text:name="x31Straße"/><text:line-break/><text:user-field-get 
text:name="x31Plz1"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31Plz2 G 
&quot; &quot; OR NOT(x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/><text:user-field-get 
text:name="x31GrosskPLZ"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31GrosskPLZ EQ 
&quot;&quot;" text:is-hidden="true"/></text:p>
+      </draw:text-box>
+     </draw:frame><draw:frame draw:style-name="fr3" draw:name="Rahmen21" 
text:anchor-type="paragraph" svg:x="-1.625cm" svg:y="5.907cm" 
svg:width="0.497cm" svg:height="0.497cm" draw:z-index="2">
+      <draw:text-box>
+       <text:p text:style-name="P3"/>
+      </draw:text-box>
+     </draw:frame></text:p>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"><draw:frame draw:style-name="fr7" 
draw:name="Rahmen22" text:anchor-type="paragraph" svg:x="9.615cm" 
svg:y="0.238cm" svg:width="6.863cm" draw:z-index="3">
+      <draw:text-box fo:min-height="0.826cm">
+       <text:p text:style-name="P33">(Nichtzutreffendes streichen bzw. 
Zutreffendes ankreuzen)</text:p>
+      </draw:text-box>
+     </draw:frame></text:p>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P52"/>
+    <text:p text:style-name="P40"/>
+    <text:p text:style-name="P37"><draw:frame draw:style-name="fr3" 
draw:name="Rahmen24" text:anchor-type="paragraph" svg:x="-1.625cm" 
svg:y="5.907cm" svg:width="0.497cm" svg:height="0.497cm" draw:z-index="6">
+      <draw:text-box>
+       <text:p text:style-name="P3"/>
+      </draw:text-box>
+     </draw:frame><draw:frame draw:style-name="fr8" draw:name="Rahmen25" 
text:anchor-type="paragraph" svg:x="0cm" svg:y="1.251cm" svg:width="7.997cm" 
draw:z-index="5">
+      <draw:text-box fo:min-height="3cm">
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/>Postfach <text:user-field-get 
text:name="x31Postfach"/><text:line-break/><text:user-field-get 
text:name="x31Plz2"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:NOT(x31Plz2 G 
&quot; &quot;) OR (x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/><text:user-field-get 
text:name="x31Straße"/><text:line-break/><text:user-field-get 
text:name="x31Plz1"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31Plz2 G 
&quot; &quot; OR (x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:s/><text:user-field-get 
text:name="x31Name2"/><text:line-break/>Postfach <text:user-field-get 
text:name="x31Postfach"/><text:line-break/><text:user-field-get 
text:name="x31Plz2"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:NOT(x31Plz2 G 
&quot; &quot;) OR NOT(x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:s/><text:user-field-get 
text:name="x31Name2"/><text:line-break/><text:user-field-get 
text:name="x31Straße"/><text:line-break/><text:user-field-get 
text:name="x31Plz1"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31Plz2 G 
&quot; &quot; OR NOT(x31Name2 G &quot; &quot;) OR (x31GrosskPLZ NEQ 
&quot;&quot;)" text:is-hidden="true"/></text:p>
+       <text:p text:style-name="TextNormal"><text:user-field-get 
text:name="x31Name1"/><text:line-break/><text:user-field-get 
text:name="x31GrosskPLZ"/> <text:user-field-get 
text:name="x31Ort"/><text:hidden-paragraph text:condition="ooow:x31GrosskPLZ EQ 
&quot;&quot;" text:is-hidden="true"/></text:p>
+      </draw:text-box>
+     </draw:frame></text:p>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"/>
+    <text:p text:style-name="P46"><draw:frame draw:style-name="fr7" 
draw:name="Rahmen18" text:anchor-type="paragraph" svg:x="9.615cm" 
svg:y="0.238cm" svg:width="6.863cm" draw:z-index="4">
+      <draw:text-box fo:min-height="0.826cm">
+       <text:p text:style-name="P33">(Nichtzutreffendes streichen bzw. 
Zutreffendes ankreuzen)</text:p>
+      </draw:text-box>
+     </draw:frame></text:p>
+    <text:p text:style-name="P46"/>
+   </text:section>
+   <text:p text:style-name="Standard"><text:hidden-paragraph 
text:condition="ooow:true" text:is-hidden="true"/></text:p>
+  </office:text>
+ </office:body>
+</office:document>
diff --git a/sw/qa/extras/layout/layout3.cxx b/sw/qa/extras/layout/layout3.cxx
index 175adfc1d9b5..cb1ea6cc5614 100644
--- a/sw/qa/extras/layout/layout3.cxx
+++ b/sw/qa/extras/layout/layout3.cxx
@@ -1687,6 +1687,68 @@ CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testSectionUnhide)
     }
 }
 
+CPPUNIT_TEST_FIXTURE(SwLayoutWriter3, testHiddenSectionFlys)
+{
+    createSwDoc("U-min.fodt");
+
+    //NO! field update job masks if the visibility was created wrong when 
loading.
+    //Scheduler::ProcessEventsToIdle();
+
+    SwDoc* pDoc = getSwDoc();
+    IDocumentDrawModelAccess const& rIDMA{ pDoc->getIDocumentDrawModelAccess() 
};
+    SdrPage const* pDrawPage{ rIDMA.GetDrawModel()->GetPage(0) };
+    int invisibleHeaven{ rIDMA.GetInvisibleHeavenId().get() };
+    int visibleHeaven{ rIDMA.GetHeavenId().get() };
+
+    // these are hidden by moving to invisible layer, they're still in layout
+    {
+        xmlDocUniquePtr pXmlDoc = parseLayoutDump();
+        assertXPath(pXmlDoc, "//anchored/fly"_ostr, 6);
+        discardDumpedLayout();
+
+        CPPUNIT_ASSERT_EQUAL(size_t(6), pDrawPage->GetObjCount());
+        for (int i = 0; i < 6; ++i)
+        {
+            CPPUNIT_ASSERT_EQUAL(invisibleHeaven, 
int(pDrawPage->GetObj(i)->GetLayer().get()));
+        }
+    }
+
+    // Show the section
+    auto xTextSectionsSupplier = 
mxComponent.queryThrow<css::text::XTextSectionsSupplier>();
-e 
... etc. - the rest is truncated

Reply via email to