download.lst | 4 +-- external/nss/ExternalProject_nss.mk | 6 ++-- external/nss/UnpackedTarball_nss.mk | 37 ++++++++++++++---------------- external/nss/macos-dlopen.patch.0 | 18 +++++++------- external/nss/nsinstall.py | 7 ++++- external/nss/nss-3.13.5-zlib-werror.patch | 7 +++-- external/nss/nss-win32-make.patch.1 | 2 - external/nss/nss.windows.patch | 4 +-- sw/source/core/layout/frmtool.cxx | 11 ++++++++ sw/source/core/txtnode/ndtxt.cxx | 9 +++---- sw/source/core/undo/undobj.cxx | 12 +++++---- sw/source/filter/ww8/wrtw8nds.cxx | 24 ++++++++++++++++++- sw/source/uibase/shells/textsh1.cxx | 5 ++-- 13 files changed, 93 insertions(+), 53 deletions(-)
New commits: commit 9b65a3495875b06e8d830e0cbc5456a539ac2a0c Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Fri Aug 14 16:52:23 2020 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:30:07 2020 +0200 tdf#132892 Revert "sw: paragraph-sign: erase metafields ... correctly" This reverts commit b402d0112a0bb53221b847fa372bfa3f6390a0e2. Change-Id: I210d2fded01fb952d7384b78240e32d868b08575 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100796 Reviewed-by: Michael Stahl <michael.st...@cib.de> Tested-by: Jenkins diff --git a/sw/source/core/txtnode/ndtxt.cxx b/sw/source/core/txtnode/ndtxt.cxx index 7ca26840207e..b5784d43ce37 100644 --- a/sw/source/core/txtnode/ndtxt.cxx +++ b/sw/source/core/txtnode/ndtxt.cxx @@ -2012,7 +2012,7 @@ void SwTextNode::CopyText( SwTextNode *const pDest, { CHECK_SWPHINTS_IF_FRM(this); CHECK_SWPHINTS(pDest); - const sal_Int32 nTextStartIdx = rStart.GetIndex(); + sal_Int32 nTextStartIdx = rStart.GetIndex(); sal_Int32 nDestStart = rDestStart.GetIndex(); // remember old Pos if (pDest->GetDoc()->IsClipBoard() && GetNum()) @@ -2103,6 +2103,7 @@ void SwTextNode::CopyText( SwTextNode *const pDest, // Fetch end only now, because copying into self updates the start index // and all attributes + nTextStartIdx = rStart.GetIndex(); const sal_Int32 nEnd = nTextStartIdx + nLen; // 2. copy attributes @@ -2250,10 +2251,8 @@ void SwTextNode::CopyText( SwTextNode *const pDest, std::reverse(metaFieldRanges.begin(), metaFieldRanges.end()); for (const auto& pair : metaFieldRanges) { - const SwIndex aIdx(pDest, std::max<sal_Int32>(pair.first - nTextStartIdx, 0)); - const sal_Int32 nCount = pair.second - pair.first; - if (nCount > 0) - pDest->EraseText(aIdx, nCount); + const SwIndex aIdx(pDest, pair.first); + pDest->EraseText(aIdx, pair.second - pair.first); } } commit 107010759d194dc5ea23952141275424e71c85c8 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Aug 13 15:48:16 2020 +0100 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:30:02 2020 +0200 tdf#134439 honor FN_PARAM_PAM arguments which was dropped by commit bba8e5aa6d1968e5279b3fe368c0f81145513d04 Date: Thu Mar 1 21:00:24 2018 +0100 tdf#116070: Use a valid PaM when confirming the dialog. when fixing commit 34527cec54ca634b831cfa5ac1098c4046818ac3 Date: Tue Jan 16 18:54:19 2018 +0100 lokdialog: Convert the Format -> Paragraph... dialog to async exec. so, go back to using pPaM instead of rWrtSh.GetCursor but make a copy of pPaM to avoid the crash of tdf#116070 Change-Id: I0aaaf5173c6be47dd306b77eacbb07d0e1c4eaf1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100528 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/sw/source/uibase/shells/textsh1.cxx b/sw/source/uibase/shells/textsh1.cxx index e3adf83242b5..2d9ed1994727 100644 --- a/sw/source/uibase/shells/textsh1.cxx +++ b/sw/source/uibase/shells/textsh1.cxx @@ -1085,7 +1085,8 @@ void SwTextShell::Execute(SfxRequest &rReq) std::shared_ptr<SfxRequest> pRequest(new SfxRequest(rReq)); rReq.Ignore(); // the 'old' request is not relevant any more - pDlg->StartExecuteAsync([pDlg, &rWrtSh, pRequest, nDefDist](sal_Int32 nResult){ + auto xPaM(std::make_shared<SwPaM>(*pPaM, nullptr)); // tdf#134439 make a copy to use at later apply + pDlg->StartExecuteAsync([pDlg, &rWrtSh, pRequest, nDefDist, xPaM](sal_Int32 nResult){ if (nResult == RET_OK) { // Apply defaults if necessary. @@ -1115,7 +1116,7 @@ void SwTextShell::Execute(SfxRequest &rReq) pSet->Put(SfxStringItem(FN_DROP_CHAR_STYLE_NAME, sCharStyleName)); } - sw_ParagraphDialogResult(pSet, rWrtSh, *pRequest, rWrtSh.GetCursor()); + sw_ParagraphDialogResult(pSet, rWrtSh, *pRequest, xPaM.get()); } pDlg->disposeOnce(); }); commit 9870ca2f4552b6b8a9f4bcfc4115f948cb25d9a0 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Tue Aug 11 17:54:09 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:29:57 2020 +0200 tdf#134746 sw: fix redline hiding of at-char fly on empty paragraphs If a merged paragraph has no extents, a fly anchored at the start or at the end should be shown. (regression from 28b77c89dfcafae82cf2a6d85731b643ff9290e5) Change-Id: I78135f3c033cf08aad81c86b0ac693528e3f3f8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100543 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit f3cb59c46398b3a0646b8b374d5626f715fa6884) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100703 Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/core/layout/frmtool.cxx b/sw/source/core/layout/frmtool.cxx index 745c1818d859..7aed05b0bdce 100644 --- a/sw/source/core/layout/frmtool.cxx +++ b/sw/source/core/layout/frmtool.cxx @@ -1274,6 +1274,17 @@ bool IsAnchoredObjShown(SwTextFrame const& rFrame, SwFormatAnchor const& rAnchor ret = false; auto const pAnchor(rAnchor.GetContentAnchor()); auto iterFirst(pMergedPara->extents.cbegin()); + if (iterFirst == pMergedPara->extents.end() + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || rAnchor.GetAnchorId() == RndStdIds::FLY_AT_CHAR)) + { + ret = (&pAnchor->nNode.GetNode() == pMergedPara->pFirstNode + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || pAnchor->nContent == 0)) + || (&pAnchor->nNode.GetNode() == pMergedPara->pLastNode + && (rAnchor.GetAnchorId() == RndStdIds::FLY_AT_PARA + || pAnchor->nContent == pMergedPara->pLastNode->Len())); + } auto iter(iterFirst); SwTextNode const* pNode(pMergedPara->pFirstNode); for ( ; ; ++iter) commit 9770f350d2eb8719a1a8f70f4e5cecb70583e25a Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Fri Aug 7 18:57:00 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:29:51 2020 +0200 nss: upgrade to release 3.55.0 Fixes CVE-2020-6829, CVE-2020-12400 CVE-2020-12401 CVE-2020-12403. (also CVE-2020-12402 CVE-2020-12399 in older releases since 3.47) * external/nss/nss.nspr-parallel-win-debug_build.patch: remove, merged upstream Change-Id: I8b48e25ce68a2327cde1420abdaea8f9e51a7888 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100345 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 495a5944a3d442cfe748a3bb0dcef76f6a961d30) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100420 Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org> (cherry picked from commit 227d30a3a17f2fffb1a166cdc3e2a796bb335214) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100590 Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/download.lst b/download.lst index 3ab482f85e8c..50bd9fff7c2c 100644 --- a/download.lst +++ b/download.lst @@ -205,8 +205,8 @@ export MYTHES_SHA256SUM := 1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz export NEON_SHA256SUM := db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca export NEON_TARBALL := neon-0.30.2.tar.gz -export NSS_SHA256SUM := 861a4510b7c21516f49a4cfa5b871aa796e4e1ef2dfe949091970e56f9d60cdf -export NSS_TARBALL := nss-3.53-with-nspr-4.25.tar.gz +export NSS_SHA256SUM := ec6032d78663c6ef90b4b83eb552dedf721d2bce208cec3bf527b8f637db7e45 +export NSS_TARBALL := nss-3.55-with-nspr-4.27.tar.gz export ODFGEN_SHA256SUM := 2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2 export ODFGEN_VERSION_MICRO := 6 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2 diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk index 8801c7cdad63..1cad5852fa89 100644 --- a/external/nss/UnpackedTarball_nss.mk +++ b/external/nss/UnpackedTarball_nss.mk @@ -23,7 +23,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,nss,\ external/nss/nss.vs2015.pdb.patch \ external/nss/nss.bzmozilla1238154.patch \ external/nss/macos-dlopen.patch.0 \ - external/nss/nss.nspr-parallel-win-debug_build.patch \ $(if $(filter iOS,$(OS)), \ external/nss/nss-ios.patch) \ $(if $(filter ANDROID,$(OS)), \ diff --git a/external/nss/macos-dlopen.patch.0 b/external/nss/macos-dlopen.patch.0 index 8c484e4c6841..1889b8df7cd3 100644 --- a/external/nss/macos-dlopen.patch.0 +++ b/external/nss/macos-dlopen.patch.0 @@ -1,14 +1,14 @@ --- nspr/pr/src/linking/prlink.c +++ nspr/pr/src/linking/prlink.c -@@ -793,7 +793,7 @@ - /* ensure the file exists if it contains a slash character i.e. path */ - /* DARWIN's dlopen ignores the provided path and checks for the */ - /* plain filename in DYLD_LIBRARY_PATH */ -- if (strchr(name, PR_DIRECTORY_SEPARATOR) == NULL || -+ if (strchr(name, PR_DIRECTORY_SEPARATOR) == NULL || strncmp(name, "@loader_path/", 13) == 0 || - PR_Access(name, PR_ACCESS_EXISTS) == PR_SUCCESS) { - h = dlopen(name, dl_flags); - } +@@ -799,7 +799,7 @@ + * The reason is that DARWIN's dlopen ignores the provided path + * and checks for the plain filename in DYLD_LIBRARY_PATH, + * which could load an unexpected version of a library. */ +- if (strchr(name, PR_DIRECTORY_SEPARATOR) == NULL) { ++ if (strchr(name, PR_DIRECTORY_SEPARATOR) == NULL || strncmp(name, "@loader_path/", 13) == 0) { + /* no slash, allow to load from any location */ + okToLoad = PR_TRUE; + } else { --- nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c +++ nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c @@ -224,7 +224,11 @@ diff --git a/external/nss/nss.nspr-parallel-win-debug_build.patch b/external/nss/nss.nspr-parallel-win-debug_build.patch deleted file mode 100644 index 86b55e1ccf7f..000000000000 --- a/external/nss/nss.nspr-parallel-win-debug_build.patch +++ /dev/null @@ -1,40 +0,0 @@ -Änderung: 4866:23940b78e965 -Nutzer: Jan-Marek Glogowski <glo...@fbihome.de> -Datum: Fri May 01 22:50:55 2020 +0000 -Dateien: pr/tests/Makefile.in -Beschreibung: -Bug 290526 Write separate PDBs for test OBJs r=glandium - -Quite often when running a parallel NSS build, I get the following -compiler error message, resulting in a build failure, despite -compiling with the -FS flag: - -.../nss/nspr/pr/tests/zerolen.c: fatal error C1041: -Programmdatenbank "...\nss\nspr\out\pr\tests\vc140.pdb" kann nicht -ge<94>ffnet werden; verwenden Sie /FS, wenn mehrere CL.EXE in -dieselbe .PDB-Datei schreiben. - -The failing source file is always one of the last test object -files. But the actual problem is not the compiler accessing the -PDB file, but the linker already linking the first test -executables accessing the shared PDB; at least that's my guess. - -So instead of using a shared PDB for all test object files, this -uses -Fd$(@:.$(OBJ_SUFFIX)=.pdb) to write a separate PDB for every -test's object file. The linker works fine with the shared OBJ PDB. - -Differential Revision: https://phabricator.services.mozilla.com/D68693 - - -diff -r 219d131499d5 -r 23940b78e965 nss/nspr/pr/tests/Makefile.in ---- a/nss/nspr/pr/tests/Makefile.in Mon Feb 10 20:58:42 2020 +0000 -+++ b/nss/nspr/pr/tests/Makefile.in Fri May 01 22:50:55 2020 +0000 -@@ -211,6 +211,7 @@ - else - EXTRA_LIBS += ws2_32.lib - LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO -+ CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb) - ifdef PROFILE - LDOPTS += -PROFILE -MAP - endif # profile - commit 7cbd7326eedc402319306d5b7df6a6e52025bf82 Author: Jan-Marek Glogowski <glo...@fbihome.de> AuthorDate: Wed Jun 26 18:09:19 2019 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:29:46 2020 +0200 NSS: enable parallel build Since NSS 3.53, the Makefile based build should be fixed (upstream bug 290526). The only missing patch is a minimal NSPR fix for the "NSPR, configure + make, parallel, Windows, MS VS, debug" build. That patch isn't incuded in the NSPR 4.25 release (but it's already in the mercurial repo for NSPR 4.26). Change-Id: I8eaa3792a12bdff734e56ac3f552991478957e23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95218 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glo...@fbihome.de> (cherry picked from commit b56e8d6def26a0430853835e997f1be841840a61) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100419 Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit c1bce55faebd9ad8751d7b6b9a7f77dff7b3d507) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100589 diff --git a/download.lst b/download.lst index fb9f0eef3c76..3ab482f85e8c 100644 --- a/download.lst +++ b/download.lst @@ -205,8 +205,8 @@ export MYTHES_SHA256SUM := 1e81f395d8c851c3e4e75b568e20fa2fa549354e75ab397f9de4b export MYTHES_TARBALL := a8c2c5b8f09e7ede322d5c602ff6a4b6-mythes-1.2.4.tar.gz export NEON_SHA256SUM := db0bd8cdec329b48f53a6f00199c92d5ba40b0f015b153718d1b15d3d967fbca export NEON_TARBALL := neon-0.30.2.tar.gz -export NSS_SHA256SUM := 07d4276168f59bb3038c7826dabb5fbfbab8336ddf65e4e6e43bce89ada78c64 -export NSS_TARBALL := nss-3.47.1-with-nspr-4.23.tar.gz +export NSS_SHA256SUM := 861a4510b7c21516f49a4cfa5b871aa796e4e1ef2dfe949091970e56f9d60cdf +export NSS_TARBALL := nss-3.53-with-nspr-4.25.tar.gz export ODFGEN_SHA256SUM := 2c7b21892f84a4c67546f84611eccdad6259875c971e98ddb027da66ea0ac9c2 export ODFGEN_VERSION_MICRO := 6 export ODFGEN_TARBALL := libodfgen-0.1.$(ODFGEN_VERSION_MICRO).tar.bz2 diff --git a/external/nss/ExternalProject_nss.mk b/external/nss/ExternalProject_nss.mk index 57b0c961c611..7fc1d74abcb3 100644 --- a/external/nss/ExternalProject_nss.mk +++ b/external/nss/ExternalProject_nss.mk @@ -23,11 +23,11 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecuta MOZ_DEBUG_SYMBOLS=1 \ MOZ_DEBUG_FLAGS=" " \ OPT_CODE_SIZE=0) \ - MOZ_MSVCVERSION=9 OS_TARGET=WIN95 \ + OS_TARGET=WIN95 \ $(if $(filter X86_64,$(CPUNAME)),USE_64=1) \ LIB="$(ILIB)" \ XCFLAGS="-arch:SSE $(SOLARINC)" \ - $(MAKE) -j1 nss_build_all RC="rc.exe $(SOLARINC)" \ + $(MAKE) nss_build_all RC="rc.exe $(SOLARINC)" \ NSINSTALL='$(call gb_ExternalExecutable_get_command,python) $(SRCDIR)/external/nss/nsinstall.py' \ NSS_DISABLE_GTESTS=1 \ ,nss) @@ -50,7 +50,7 @@ $(call gb_ExternalProject_get_state_target,nss,build): $(call gb_ExternalExecuta $(if $(filter iOS-ARM,$(OS)-$(CPUNAME)),CPU_ARCH=arm) \ NSPR_CONFIGURE_OPTS="--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)") \ NSDISTMODE=copy \ - $(MAKE) -j1 AR="$(AR)" \ + $(MAKE) AR="$(AR)" \ RANLIB="$(RANLIB)" \ NMEDIT="$(NM)edit" \ COMMA=$(COMMA) \ diff --git a/external/nss/UnpackedTarball_nss.mk b/external/nss/UnpackedTarball_nss.mk index 0e174879a702..8801c7cdad63 100644 --- a/external/nss/UnpackedTarball_nss.mk +++ b/external/nss/UnpackedTarball_nss.mk @@ -12,34 +12,34 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,nss)) $(eval $(call gb_UnpackedTarball_set_tarball,nss,$(NSS_TARBALL))) $(eval $(call gb_UnpackedTarball_add_patches,nss,\ - external/nss/nss.patch \ - external/nss/nss.aix.patch \ - external/nss/nss-3.13.5-zlib-werror.patch \ - external/nss/nss_macosx.patch \ - external/nss/nss-win32-make.patch.1 \ - $(if $(filter WNT,$(OS)),external/nss/nss.windows.patch \ - external/nss/nss.nowerror.patch \ - external/nss/nss.vs2015.patch) \ + external/nss/nss.patch \ + external/nss/nss.aix.patch \ + external/nss/nss-3.13.5-zlib-werror.patch \ + external/nss/nss_macosx.patch \ + external/nss/nss-win32-make.patch.1 \ external/nss/ubsan.patch.0 \ external/nss/clang-cl.patch.0 \ + external/nss/nss.vs2015.patch \ + external/nss/nss.vs2015.pdb.patch \ + external/nss/nss.bzmozilla1238154.patch \ + external/nss/macos-dlopen.patch.0 \ + external/nss/nss.nspr-parallel-win-debug_build.patch \ $(if $(filter iOS,$(OS)), \ external/nss/nss-ios.patch) \ - $(if $(filter MSC-INTEL,$(COM)-$(CPUNAME)), \ - external/nss/nss.cygwin64.in32bit.patch) \ - $(if $(filter WNT,$(OS)), \ - external/nss/nss.vs2015.pdb.patch) \ - $(if $(filter WNT,$(OS)), \ - external/nss/nss.utf8bom.patch.1) \ - $(if $(filter ANDROID,$(OS)), \ - external/nss/nss-android.patch.1) \ - external/nss/nss.bzmozilla1238154.patch \ - external/nss/macos-dlopen.patch.0 \ + $(if $(filter ANDROID,$(OS)), \ + external/nss/nss-android.patch.1) \ + $(if $(filter MSC-INTEL,$(COM)-$(CPUNAME)), \ + external/nss/nss.cygwin64.in32bit.patch) \ + $(if $(filter WNT,$(OS)), \ + external/nss/nss.windows.patch \ + external/nss/nss.nowerror.patch \ + external/nss/nss.utf8bom.patch.1) \ )) ifeq ($(COM_IS_CLANG),TRUE) ifneq ($(filter -fsanitize=%,$(CC)),) $(eval $(call gb_UnpackedTarball_add_patches,nss,\ - external/nss/asan.patch.1 \ + external/nss/asan.patch.1 \ )) endif endif diff --git a/external/nss/nsinstall.py b/external/nss/nsinstall.py index 31b3de3450c5..80e9c1679373 100644 --- a/external/nss/nsinstall.py +++ b/external/nss/nsinstall.py @@ -155,7 +155,12 @@ def nsinstall(argv): target = args.pop() # ensure target directory if not os.path.isdir(target): - os.makedirs(target) + try: + os.makedirs(target) + except FileExistsError: + if not os.path.isdir(target): + sys.stderr.write('nsinstall: ' + target + ' is not a directoy!\n') + return 1 copy_all_entries(args, target) return 0 diff --git a/external/nss/nss-3.13.5-zlib-werror.patch b/external/nss/nss-3.13.5-zlib-werror.patch index 6cda50023f1b..0cdbf7808f81 100644 --- a/external/nss/nss-3.13.5-zlib-werror.patch +++ b/external/nss/nss-3.13.5-zlib-werror.patch @@ -1,9 +1,10 @@ --- a/a/nss/lib/zlib/gzguts.h 2010-08-22 03:07:03.000000000 +0200 +++ b/b/nss/lib/zlib/gzguts.h 2012-07-17 08:52:14.821552788 +0200 -@@ -26,6 +26,9 @@ - # include <limits.h> +@@ -26,6 +26,10 @@ + # define write _write + # define close _close #endif - #include <fcntl.h> ++ +#ifndef _WIN32 +#include <unistd.h> +#endif diff --git a/external/nss/nss-win32-make.patch.1 b/external/nss/nss-win32-make.patch.1 index bc5a759275e2..7ba3df451ee6 100644 --- a/external/nss/nss-win32-make.patch.1 +++ b/external/nss/nss-win32-make.patch.1 @@ -1,7 +1,7 @@ --- nss/nss/coreconf/rules.mk.orig2 2014-06-03 15:30:01.667200000 +0200 +++ nss/nss/coreconf/rules.mk 2014-06-03 15:30:14.537200000 +0200 @@ -259,7 +259,7 @@ - @$(MAKE_OBJDIR) + $(LIBRARY): $(OBJS) | $$(@D)/d rm -f $@ ifeq (,$(filter-out _WIN%,$(NS_USE_GCC)_$(OS_TARGET))) - $(AR) $(subst /,\\,$(OBJS)) diff --git a/external/nss/nss.nspr-parallel-win-debug_build.patch b/external/nss/nss.nspr-parallel-win-debug_build.patch new file mode 100644 index 000000000000..86b55e1ccf7f --- /dev/null +++ b/external/nss/nss.nspr-parallel-win-debug_build.patch @@ -0,0 +1,40 @@ +Änderung: 4866:23940b78e965 +Nutzer: Jan-Marek Glogowski <glo...@fbihome.de> +Datum: Fri May 01 22:50:55 2020 +0000 +Dateien: pr/tests/Makefile.in +Beschreibung: +Bug 290526 Write separate PDBs for test OBJs r=glandium + +Quite often when running a parallel NSS build, I get the following +compiler error message, resulting in a build failure, despite +compiling with the -FS flag: + +.../nss/nspr/pr/tests/zerolen.c: fatal error C1041: +Programmdatenbank "...\nss\nspr\out\pr\tests\vc140.pdb" kann nicht +ge<94>ffnet werden; verwenden Sie /FS, wenn mehrere CL.EXE in +dieselbe .PDB-Datei schreiben. + +The failing source file is always one of the last test object +files. But the actual problem is not the compiler accessing the +PDB file, but the linker already linking the first test +executables accessing the shared PDB; at least that's my guess. + +So instead of using a shared PDB for all test object files, this +uses -Fd$(@:.$(OBJ_SUFFIX)=.pdb) to write a separate PDB for every +test's object file. The linker works fine with the shared OBJ PDB. + +Differential Revision: https://phabricator.services.mozilla.com/D68693 + + +diff -r 219d131499d5 -r 23940b78e965 nss/nspr/pr/tests/Makefile.in +--- a/nss/nspr/pr/tests/Makefile.in Mon Feb 10 20:58:42 2020 +0000 ++++ b/nss/nspr/pr/tests/Makefile.in Fri May 01 22:50:55 2020 +0000 +@@ -211,6 +211,7 @@ + else + EXTRA_LIBS += ws2_32.lib + LDOPTS = -NOLOGO -DEBUG -DEBUGTYPE:CV -INCREMENTAL:NO ++ CFLAGS += -Fd$(@:.$(OBJ_SUFFIX)=.pdb) + ifdef PROFILE + LDOPTS += -PROFILE -MAP + endif # profile + diff --git a/external/nss/nss.windows.patch b/external/nss/nss.windows.patch index 9dbeaa946520..901846e7bc1f 100644 --- a/external/nss/nss.windows.patch +++ b/external/nss/nss.windows.patch @@ -18,8 +18,8 @@ -core_abspath = '$(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(1)),$(1),$(PWD)/$(1)))' +core_abspath = '$(if $(findstring :,$(1)),$(1),$(if $(filter /%,$(shell cygpath -m $(1))),$(1),$(shell cygpath -m $(PWD)/$(1))))' - $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c - @$(MAKE_OBJDIR) + $(OBJDIR)/$(PROG_PREFIX)%$(OBJ_SUFFIX): %.c | $$(@D)/d + ifdef USE_NT_C_SYNTAX --- a/a/nspr/pr/include/md/_win95.h +++ b/b/nspr/pr/include/md/_win95.h @@ -312,7 +312,7 @@ commit b4290a579490a3802dde921da3a2fe9d1ac70687 Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Wed Aug 12 17:07:18 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:29:40 2020 +0200 sw: MS Word export: don't insert section breaks in field instructions MSWordExportBase::NeedTextNodeSplit() simply uses the soft-page-break positions to potentially insert section breaks - but now that Writer can display field instructions, it's quite silly to insert section breaks inside them. Change-Id: Ie57e6281a0287aac36984e5467920852db19a8ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100661 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.st...@cib.de> (cherry picked from commit 68cc91cd2c461b7062c3f3b89b2c677e41c9a8d4) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100690 Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/filter/ww8/wrtw8nds.cxx b/sw/source/filter/ww8/wrtw8nds.cxx index f7dc3e2207d2..36026312a332 100644 --- a/sw/source/filter/ww8/wrtw8nds.cxx +++ b/sw/source/filter/ww8/wrtw8nds.cxx @@ -2165,7 +2165,29 @@ bool MSWordExportBase::NeedSectionBreak( const SwNode& rNd ) const bool MSWordExportBase::NeedTextNodeSplit( const SwTextNode& rNd, SwSoftPageBreakList& pList ) const { - rNd.fillSoftPageBreakList( pList ); + SwSoftPageBreakList tmp; + rNd.fillSoftPageBreakList(tmp); + // hack: move the break behind any field marks; currently we can't hide the + // field mark instruction so the layout position is quite meaningless + IDocumentMarkAccess const& rIDMA(*rNd.GetDoc()->getIDocumentMarkAccess()); + sal_Int32 pos(-1); + for (auto const& it : tmp) + { + if (pos < it) // previous one might have skipped over it + { + pos = it; + while (auto const*const pMark = rIDMA.getFieldmarkFor(SwPosition(const_cast<SwTextNode&>(rNd), pos))) + { + if (pMark->GetMarkEnd().nNode != rNd) + { + pos = rNd.Len(); // skip everything + break; + } + pos = pMark->GetMarkEnd().nContent.GetIndex(); // no +1, it's behind the char + } + pList.insert(pos); + } + } pList.insert(0); pList.insert( rNd.GetText().getLength() ); return pList.size() > 2 && NeedSectionBreak( rNd ); commit 469a8e8e19c925b460fd1b472211e0164d861b7c Author: Michael Stahl <michael.st...@cib.de> AuthorDate: Wed Aug 12 16:32:07 2020 +0200 Commit: Andras Timar <andras.ti...@collabora.com> CommitDate: Tue Aug 18 10:29:33 2020 +0200 sw: avoid assert when deletion starts at fieldmark end This hit assert(bSavePos && bSaveOtherPos); Tweak SwUndoSaveContent::DelContentIndex() for fieldmarks to only accept an equal end position if the start position was in range as well. (regression from 24fd14b387dca458a1b6e9415e936d26562ddb1e) Change-Id: If6c9b049193bb7f1bc39ec66d1c965512f9d6ec1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100673 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/sw/source/core/undo/undobj.cxx b/sw/source/core/undo/undobj.cxx index c37cffbaf9f8..bfea81a886b6 100644 --- a/sw/source/core/undo/undobj.cxx +++ b/sw/source/core/undo/undobj.cxx @@ -1097,12 +1097,14 @@ void SwUndoSaveContent::DelContentIndex( const SwPosition& rMark, if( pBkmk->IsExpanded() && *pStt <= pBkmk->GetOtherMarkPos() && pBkmk->GetOtherMarkPos() <= *pEnd ) { - if ( bSavePos || bSaveOtherPos + assert(!bSaveOtherPos); + if ( bSavePos || (*pStt < pBkmk->GetOtherMarkPos() && pBkmk->GetOtherMarkPos() < *pEnd) - || type == IDocumentMarkAccess::MarkType::TEXT_FIELDMARK - || type == IDocumentMarkAccess::MarkType::CHECKBOX_FIELDMARK - || type == IDocumentMarkAccess::MarkType::DROPDOWN_FIELDMARK - || type == IDocumentMarkAccess::MarkType::DATE_FIELDMARK) + || (bMaybe + && ( type == IDocumentMarkAccess::MarkType::TEXT_FIELDMARK + || type == IDocumentMarkAccess::MarkType::CHECKBOX_FIELDMARK + || type == IDocumentMarkAccess::MarkType::DROPDOWN_FIELDMARK + || type == IDocumentMarkAccess::MarkType::DATE_FIELDMARK))) { if( bMaybe ) bSavePos = true; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits