configure.ac                                                                |  
  2 
 desktop/scripts/soffice.sh                                                  |  
  4 -
 external/gpgmepp/UnpackedTarball_gpgmepp.mk                                 |  
  1 
 external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 |  
 32 ++++++++++
 solenv/gdb/boost/util/printing.py                                           |  
  2 
 solenv/gdb/libreoffice/sw.py                                                |  
  6 +
 solenv/gdb/libreoffice/util/printing.py                                     |  
  2 
 sw/source/core/txtnode/atrfld.cxx                                           |  
  2 
 8 files changed, 45 insertions(+), 6 deletions(-)

New commits:
commit 249743955cff13fdbfd7e70a6688b02651cc3e65
Author:     Michael Stahl <michael.st...@allotropia.de>
AuthorDate: Mon Feb 14 16:18:37 2022 +0100
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Tue Feb 15 11:30:19 2022 +0100

    tdf#146848 sw: fix assert about input field in undo nodes
    
    These should not be updated.
    
    soffice.bin: sw/source/core/txtnode/atrfld.cxx:713: void 
SwTextInputField::UpdateTextNodeContent(const rtl::OUString&): Assertion 
`IsFieldInDoc() && "<SwTextInputField::UpdateTextNodeContent(..)> - misusage as 
Input Field is not in document content."' failed.
    
    3   SwTextInputField::UpdateTextNodeContent(rtl::OUString const&)
    4   SwTextInputField::NotifyContentChange(SwFormatField&) at 
sw/source/core/txtnode/atrfld.cxx:669
    5   SwTextField::ExpandTextField(bool) const
    6   SwFormatField::UpdateTextNode(SfxPoolItem const*, SfxPoolItem const*) 
at sw/source/core/txtnode/atrfld.cxx:407
    7   SwFormatField::SwClientNotify(SwModify const&, SfxHint const&)
    10  SwFieldType::UpdateFields() (this=0x7f7ff2d654b0) at 
sw/source/core/fields/fldbas.cxx:220
    11  sw::DocumentFieldsManager::UpdateFields(bool)
    12  SwFEShell::Paste(SwDoc&, bool) at sw/source/core/frmedt/fecopy.cxx:1117
    
    Somehow this causes testTdf139843 to go from 7 to 6 pages, but opening
    the bugdoc shows it as 6 pages too, not sure what's going on there.
    
    Change-Id: Ie25b2b2c4d8fd262850da31cbade5e121e9ec361
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129919
    Tested-by: Michael Stahl <michael.st...@allotropia.de>
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit 71e8a947753d359bd5b4d1174f4d6332eaf4a309)

diff --git a/sw/source/core/txtnode/atrfld.cxx 
b/sw/source/core/txtnode/atrfld.cxx
index ebcdced03c52..ebbf24138cb2 100644
--- a/sw/source/core/txtnode/atrfld.cxx
+++ b/sw/source/core/txtnode/atrfld.cxx
@@ -254,7 +254,7 @@ void SwFormatField::Modify( const SfxPoolItem* pOld, const 
SfxPoolItem* pNew )
         return;
     }
 
-    if( !mpTextField )
+    if (!IsFieldInDoc())
         return;
 
     // don't do anything, especially not expand!
commit 2567f1eb9d929efec0a4aadfe498cb6a010cf086
Author:     Michael Stahl <michael.st...@allotropia.de>
AuthorDate: Thu Dec 2 11:57:40 2021 +0100
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Mon Feb 14 18:54:35 2022 +0100

    gdb: BigPtrArrayPrinter gets confused by libstdc++ std::unique_ptr
    
    It looks like this in libstdc++:
    
      <BigPtrArray> = {
        m_ppInf = {
          _M_t = {
            <std::__uniq_ptr_impl<BlockInfo*, std::default_delete<BlockInfo* 
[]> >> = {
              _M_t = {
                <std::_Tuple_impl<0, BlockInfo**, 
std::default_delete<BlockInfo* []> >> = {
                  <std::_Tuple_impl<1, std::default_delete<BlockInfo* []> >> = {
                    <std::_Head_base<1, std::default_delete<BlockInfo* []>, 
true>> = {
                      _M_head_impl = {<No data fields>}
                    }, <No data fields>},
                  <std::_Head_base<0, BlockInfo**, false>> = {
                    _M_head_impl = 0x567fd20
                  }, <No data fields>}, <No data fields>}
            }, <No data fields>}
        },
    
    Note there are 2 _M_head_impl members, and somehow gdb 11.1-2.fc34 picks
    the wrong one.
    
    A manual cast to std::_Head_base<0, BlockInfo**, false> seems to help.
    
    Change-Id: I1332c2fc6eb2661d417fd92a73aed977bbb1dcea
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126220
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit c9267ca4fa7fa94a1bf79320bec54428a6ad4804)

diff --git a/solenv/gdb/libreoffice/sw.py b/solenv/gdb/libreoffice/sw.py
index e170709fb79c..7a5ce193684b 100644
--- a/solenv/gdb/libreoffice/sw.py
+++ b/solenv/gdb/libreoffice/sw.py
@@ -8,6 +8,7 @@
 #
 
 import six
+import gdb
 from libreoffice.util import printing
 
 class SwPositionPrinter(object):
@@ -194,7 +195,10 @@ class BigPtrArrayPrinter(object):
     class _iterator(six.Iterator):
 
         def __init__(self, array):
-            self.blocks = array['m_ppInf']['_M_t']['_M_t']['_M_head_impl']
+            # libstdc++ unique_ptr is a std::tuple which contains multiple
+            # _M_head_impl members and gdb may pick the wrong one by default
+            # so have to manually cast it to the one that contains the array
+            self.blocks = 
array['m_ppInf']['_M_t']['_M_t'].cast(gdb.lookup_type("std::_Head_base<0, 
BlockInfo**, false>"))['_M_head_impl']
             self.count = array['m_nSize']
             self.pos = 0
             self.block_count = array['m_nBlock']
commit 966bf60beed0e745c748f75e3b021300c7dbe497
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Thu Sep 24 09:53:24 2020 +0200
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Mon Feb 14 17:45:14 2022 +0100

    Fix Python deprecation warnings
    
    I noticed these "DeprecationWarning: Using or importing the ABCs from
    'collections' instead of from 'collections.abc' is deprecated since Python 
3.3,
    and in 3.9 it will stop working" now when running tests with
    CPPUNITTRACE='gdb --args' on Fedora 32.
    
    Change-Id: If263dacb9df5c1fffd2be2418e13e69b96070c77
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103294
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>

diff --git a/solenv/gdb/boost/util/printing.py 
b/solenv/gdb/boost/util/printing.py
index 1d5d0bac9fc6..4088f3a3fa3b 100644
--- a/solenv/gdb/boost/util/printing.py
+++ b/solenv/gdb/boost/util/printing.py
@@ -19,7 +19,7 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 
-from collections import Mapping
+from collections.abc import Mapping
 import gdb
 import re
 import six
diff --git a/solenv/gdb/libreoffice/util/printing.py 
b/solenv/gdb/libreoffice/util/printing.py
index 9cbae3080a64..7ce29899355a 100644
--- a/solenv/gdb/libreoffice/util/printing.py
+++ b/solenv/gdb/libreoffice/util/printing.py
@@ -7,7 +7,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-from collections import Mapping
+from collections.abc import Mapping
 import gdb
 import re
 import six
commit e9036e23d82ca68706c258d32cfb186f9615930b
Author:     Michael Stahl <michael.st...@cib.de>
AuthorDate: Thu Nov 19 13:35:28 2020 +0100
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Mon Feb 14 15:57:09 2022 +0100

    desktop: rr --ignore-nested was renamed to --nested=ignore
    
    Change-Id: Id1c1789c24b8eec27db0b24e1e43e2eb7d562509
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106291
    Reviewed-by: Michael Stahl <michael.st...@cib.de>
    Tested-by: Jenkins
    (cherry picked from commit 1ab938155c875e65470b9f6b3b3ef65885462f7a)

diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
index 415ea047361d..021c706f5c78 100755
--- a/desktop/scripts/soffice.sh
+++ b/desktop/scripts/soffice.sh
@@ -78,8 +78,8 @@ for arg in "$@" $EXTRAOPT ; do
     case "$arg" in
         --record)
             if which rr >/dev/null 2>&1 ; then
-                # smoketest may already be recorded => use ignore-nested
-                RRCHECK="rr record --ignore-nested"
+                # smoketest may already be recorded => ignore nested
+                RRCHECK="rr record --nested=ignore"
                 checks="c$checks"
             else
                 echo "Error: Can't find the tool \"rr\", --record option will 
be ignored."
commit 45e6b6a126608dc8d0289b5bc4d2b99e2cc2242b
Author:     Mike Kaganski <mike.kagan...@collabora.com>
AuthorDate: Fri Oct 8 17:06:01 2021 +0300
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Mon Feb 14 13:42:25 2022 +0100

    Fix gpgmepp build with glibc
    
    posix-io.c: In function '_gpgme_io_spawn':
    posix-io.c:492:23: error: void value not ignored as it ought to be
      492 |             while ((i = closefrom (fd)) && errno == EINTR)
          |                       ^
    make[1]: *** [Makefile:964: posix-io.lo] Error 1
    
    Change-Id: I0e7abc33200ca7436c72e925447e681fd241c6a7
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123259
    Tested-by: Jenkins
    Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126265
    Tested-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126561
    Tested-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
    Reviewed-by: Samuel Mehrbrodt <samuel.mehrbr...@allotropia.de>
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126926

diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk 
b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
index 1b0468fc6f23..fc7ed88ac6d6 100644
--- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk
+++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
@@ -33,5 +33,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
     external/gpgmepp/gcc9.patch \
     external/gpgmepp/version.patch \
     external/gpgmepp/ubsan.patch \
+    
external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 \
 ))
 # vim: set noet sw=4 ts=4:
diff --git 
a/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1 
b/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1
new file mode 100644
index 000000000000..067bf5208ba0
--- /dev/null
+++ 
b/external/gpgmepp/gpgme.git-4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e.patch.1
@@ -0,0 +1,32 @@
+From 4b64774b6d13ffa4f59dddf947a97d61bcfa2f2e Mon Sep 17 00:00:00 2001
+From: Jiri Kucera <sanc...@gmail.com>
+Date: Sun, 25 Jul 2021 11:35:54 +0200
+Subject: [PATCH] core: Support closefrom also for glibc.
+
+* src/posix-io.c (_gpgme_io_spawn): Use glibc's closefrom.
+--
+
+Since 2.34, glibc introduces closefrom (the implementation
+follows *BSD standard).
+
+Signed-off-by: Werner Koch <w...@gnupg.org>
+---
+ src/posix-io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/posix-io.c b/src/posix-io.c
+index e712ef28..2a3a81fc 100644
+--- a/src/posix-io.c
++++ b/src/posix-io.c
+@@ -570,7 +570,7 @@ _gpgme_io_spawn (const char *path, char *const argv[], 
unsigned int flags,
+               if (fd_list[i].fd > fd)
+                 fd = fd_list[i].fd;
+             fd++;
+-#ifdef __sun
++#if defined(__sun) || defined(__FreeBSD__) || defined(__GLIBC__)
+             closefrom (fd);
+             max_fds = fd;
+ #else /*!__sun */
+-- 
+2.11.0
+
commit f430235c6d9304cf32be41dead2efc0dda9aac21
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Mon May 31 13:30:37 2021 +0200
Commit:     Michael Stahl <michael.st...@allotropia.de>
CommitDate: Mon Feb 14 13:35:42 2022 +0100

    Adapt to hamcrest-2.2-3.fc35.noarch.rpm
    
    Change-Id: Ibddfc30a5f0828ab77235ec1155f1c2e1eef24ee
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116506
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    (cherry picked from commit e6c25186c8584f68b5f8074004556bd855200fff)

diff --git a/configure.ac b/configure.ac
index a62c131a6d0e..fe48cda5fbdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -12118,6 +12118,8 @@ if test "$ENABLE_JAVA" != "" -a "$with_junit" != "no"; 
then
                 HAMCREST_JAR=/usr/share/lib/java/hamcrest.jar
             elif test -e /usr/share/java/hamcrest/core.jar; then
                 HAMCREST_JAR=/usr/share/java/hamcrest/core.jar
+            elif test -e /usr/share/java/hamcrest/hamcrest.jar; then
+                HAMCREST_JAR=/usr/share/java/hamcrest/hamcrest.jar
             else
                 HAMCREST_JAR=/usr/share/java/hamcrest.jar
             fi

Reply via email to