summaryrefslogtreecommitdiffstats
path: root/external/gpgmepp
diff options
context:
space:
mode:
authorThorsten Behrens <thorsten.behrens@cib.de>2017-11-23 18:09:19 +0100
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2017-11-24 16:03:38 +0100
commitb9c2fac7bc81866c01b7179796861533aadc190b (patch)
treeff096db107ad58da3804ff9e8afcc34f9138f1d5 /external/gpgmepp
parentClean up loplugin:unnecessaryparen blacklist (diff)
downloadcore-b9c2fac7bc81866c01b7179796861533aadc190b.tar.gz
core-b9c2fac7bc81866c01b7179796861533aadc190b.zip
gpg4libre: call libgpg-error subsystem init
Due to a string of unhelpful coincidences, _gpgrt_lock_init never got called in libgpg-error for Windows; resulting in occasional crashes. Change-Id: I95f508e4622777c21f90c76dce5b5ff420c81fa1 Reviewed-on: https://gerrit.libreoffice.org/45191 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Siegmund Gorr <siegmund.gorr@cib.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'external/gpgmepp')
-rw-r--r--external/gpgmepp/UnpackedTarball_gpgmepp.mk1
-rw-r--r--external/gpgmepp/w32-add-initializer.patch.116
2 files changed, 17 insertions, 0 deletions
diff --git a/external/gpgmepp/UnpackedTarball_gpgmepp.mk b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
index db8c398e3003..8f69b8d2af96 100644
--- a/external/gpgmepp/UnpackedTarball_gpgmepp.mk
+++ b/external/gpgmepp/UnpackedTarball_gpgmepp.mk
@@ -21,5 +21,6 @@ $(eval $(call gb_UnpackedTarball_add_patches,gpgmepp, \
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-disable-docs.patch.1) \
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-fix-win32-macro.patch.1) \
$(if $(filter MSC,$(COM)),external/gpgmepp/w32-fix-libtool.patch.1) \
+ $(if $(filter MSC,$(COM)),external/gpgmepp/w32-add-initializer.patch.1) \
))
# vim: set noet sw=4 ts=4:
diff --git a/external/gpgmepp/w32-add-initializer.patch.1 b/external/gpgmepp/w32-add-initializer.patch.1
new file mode 100644
index 000000000000..b33f0d42a95f
--- /dev/null
+++ b/external/gpgmepp/w32-add-initializer.patch.1
@@ -0,0 +1,16 @@
+Make sure the gpgrt_lock_init gets called in libgpg-error, otherwise
+several critical section statics are uninitialized
+
+diff -ur gpgmepp.org/src/version.c gpgmepp/src/version.c
+--- gpgmepp.org/src/version.c 2016-11-16 13:22:41.000000000 +0100
++++ gpgmepp/src/version.c 2017-11-23 17:16:35.218735200 +0100
+@@ -66,6 +66,9 @@
+ return;
+
+ #ifdef HAVE_W32_SYSTEM
++ // initialize libgpg-error stuff
++ gpg_err_init();
++
+ /* We need to make sure that the sockets are initialized. */
+ {
+ WSADATA wsadat;