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

Reply via email to