bin/upload_symbols.py                         |    1 
 cli_ure/Executable_climaker.mk                |    2 -
 cli_ure/Library_cli_cppuhelper_native.mk      |    1 
 cli_ure/Library_cli_uno.mk                    |    1 
 desktop/source/app/app.cxx                    |    5 +-
 distro-configs/LibreOfficeLinux.conf          |    1 
 distro-configs/LibreOfficeWin32.conf          |    1 
 distro-configs/LibreOfficeWin64.conf          |    1 
 external/breakpad/ExternalProject_breakpad.mk |    2 -
 external/breakpad/UnpackedTarball_breakpad.mk |    1 
 external/breakpad/breakpad-stackwalk.patch.1  |   32 +++++++++++++++++
 sal/inc/signalshared.hxx                      |    2 -
 sal/osl/all/signalshared.cxx                  |    9 +---
 sal/osl/unx/signal.cxx                        |    2 -
 sal/osl/w32/signal.cxx                        |   48 --------------------------
 salhelper/source/thread.cxx                   |   10 -----
 solenv/gbuild/platform/com_MSC_defs.mk        |    2 -
 17 files changed, 48 insertions(+), 73 deletions(-)

New commits:
commit 22aab5f1e129ffb1c592e7b709d8d0b2a6deba48
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Sun Jun 5 22:34:26 2016 +0200

    enable breakpad in distro configs
    
    Change-Id: Ib321a62223c77e3f62d48f358a228465280458ad
    Reviewed-on: https://gerrit.libreoffice.org/26022
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    (cherry picked from commit 439b47e84bb12ec1c5cc2332b4c6a9ea59f462ad)

diff --git a/distro-configs/LibreOfficeLinux.conf 
b/distro-configs/LibreOfficeLinux.conf
index d57706cb5e6a..392b49562774 100644
--- a/distro-configs/LibreOfficeLinux.conf
+++ b/distro-configs/LibreOfficeLinux.conf
@@ -32,5 +32,6 @@
 --enable-epm
 --enable-python=internal
 --enable-online-update
+--enable-breakpad
 --disable-dconf
 --enable-mergelibs
diff --git a/distro-configs/LibreOfficeWin32.conf 
b/distro-configs/LibreOfficeWin32.conf
index cf32f30ef0bf..2b08ded2c179 100644
--- a/distro-configs/LibreOfficeWin32.conf
+++ b/distro-configs/LibreOfficeWin32.conf
@@ -7,6 +7,7 @@
 --enable-ext-wiki-publisher
 --enable-ext-nlpsolver
 --enable-online-update
+--enable-breakpad
 --with-help
 --with-myspell-dicts
 --with-package-format=msi
diff --git a/distro-configs/LibreOfficeWin64.conf 
b/distro-configs/LibreOfficeWin64.conf
index e2d7aca80b8a..de9172bfb774 100644
--- a/distro-configs/LibreOfficeWin64.conf
+++ b/distro-configs/LibreOfficeWin64.conf
@@ -8,6 +8,7 @@
 --enable-ext-wiki-publisher
 --enable-ext-nlpsolver
 --enable-online-update
+--enable-breakpad
 --with-help
 --with-myspell-dicts
 --with-package-format=msi
commit 8eacc3876969d8af49e011626b4491d93ff4d58f
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Thu Jan 5 22:35:52 2017 +0100

    add the locale info to the crashreporter metadata
    
    We have a few crashes that seem locale dependent. Especially the font
    related problems.
    
    Change-Id: I0cc977413dc2328ea705c96c2d4048e4f3c58bbc
    Reviewed-on: https://gerrit.libreoffice.org/32764
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>

diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 7a8636cb61fb..a2b18f201578 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2098,6 +2098,8 @@ void Desktop::OpenClients()
     }
 #if HAVE_FEATURE_BREAKPAD
     CrashReporter::writeCommonInfo();
+    // write this information here to avoid depending on vcl in the crash 
reporter lib
+    CrashReporter::AddKeyValue("Language", 
Application::GetSettings().GetLanguageTag().getBcp47());
 #endif
 
     RequestHandler::EnableRequests();
commit 66a0fc92ac37f4c632fe002902805bbf4df8df99
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon Jun 27 04:42:22 2016 +0200

    I screwed up with the breakpad minidump_stackwalk patch
    
    This does not affect normal LibreOffice and is only important for the
    server side.
    
    Change-Id: I270262ed6e1b22c3ef41099fda19fa386f386203

diff --git a/external/breakpad/breakpad-stackwalk.patch.1 
b/external/breakpad/breakpad-stackwalk.patch.1
index 9a3ce954e8b3..8df1fa3e2f43 100644
--- a/external/breakpad/breakpad-stackwalk.patch.1
+++ b/external/breakpad/breakpad-stackwalk.patch.1
@@ -24,9 +24,9 @@ diff -ur breakpad.org/src/processor/stackwalk_common.cc 
breakpad/src/processor/s
             kOutputSeparator, base_address + module->size() - 1,
             kOutputSeparator,
 -           main_module != NULL && base_address == main_address ? 1 : 0);
-+           main_module != NULL && base_address == main_address ? 1 : 0),
++           main_module != NULL && base_address == main_address ? 1 : 0,
 +           kOutputSeparator,
-+           
StripSeparator(PathnameStripper::File(module->code_identifier())).c_str();
++           
StripSeparator(PathnameStripper::File(module->code_identifier())).c_str());
    }
  }
  
commit 710bf7dda6a1d3f31e37e7a0f196d6f0feb92f95
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon Jun 27 04:41:57 2016 +0200

    always compile breakpad with O2
    
    Change-Id: I4cda93fee47244cf3eb7b13bb6cb2a3eab007cf0

diff --git a/external/breakpad/ExternalProject_breakpad.mk 
b/external/breakpad/ExternalProject_breakpad.mk
index 70df68e29991..10fa6cedb590 100644
--- a/external/breakpad/ExternalProject_breakpad.mk
+++ b/external/breakpad/ExternalProject_breakpad.mk
@@ -20,7 +20,7 @@ else # !ifeq($(COM),MSC)
 
 $(call gb_ExternalProject_get_state_target,breakpad,build) :
        $(call gb_ExternalProject_run,build,\
-               ./configure \
+               CXX_FLAGS="-O2" ./configure \
                && $(MAKE) \
        )
 
commit 6c942ca8eb404d042141b329d637fc1f93ddc72f
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon Jun 27 02:14:58 2016 +0200

    better use a backward compatible way to change the output
    
    Change-Id: If5829e321db8af1f09cccafaf34a18343492f514

diff --git a/external/breakpad/breakpad-stackwalk.patch.1 
b/external/breakpad/breakpad-stackwalk.patch.1
index 26803f1fe9fc..9a3ce954e8b3 100644
--- a/external/breakpad/breakpad-stackwalk.patch.1
+++ b/external/breakpad/breakpad-stackwalk.patch.1
@@ -1,16 +1,32 @@
 diff -ur breakpad.org/src/processor/stackwalk_common.cc 
breakpad/src/processor/stackwalk_common.cc
---- breakpad.org/src/processor/stackwalk_common.cc     2016-06-25 
01:38:53.282302964 +0200
-+++ breakpad/src/processor/stackwalk_common.cc 2016-06-25 01:42:58.463821357 
+0200
-@@ -767,9 +767,11 @@
+--- breakpad.org/src/processor/stackwalk_common.cc     2016-06-27 
02:06:43.304932691 +0200
++++ breakpad/src/processor/stackwalk_common.cc 2016-06-27 02:10:22.815642476 
+0200
+@@ -750,7 +750,7 @@
+ // one per line, in the following machine-readable pipe-delimited
+ // text format:
+ // Module|{Module Filename}|{Version}|{Debug Filename}|{Debug Identifier}|
+-// {Base Address}|{Max Address}|{Main}
++// {Base Address}|{Max Address}|{Main}|{Code Identifier}
+ static void PrintModulesMachineReadable(const CodeModules *modules) {
+   if (!modules)
+     return;
+@@ -767,7 +767,7 @@
         ++module_sequence) {
      const CodeModule *module = modules->GetModuleAtSequence(module_sequence);
      uint64_t base_address = module->base_address();
 -    printf("Module%c%s%c%s%c%s%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 "%c%d\n",
-+    printf("Module%c%s%c%s%c%s%c%s%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 
"%c%d\n",
++    printf("Module%c%s%c%s%c%s%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 
"%c%d%c%s\n",
             kOutputSeparator,
             
StripSeparator(PathnameStripper::File(module->code_file())).c_str(),
-+           kOutputSeparator,
-+           
StripSeparator(PathnameStripper::File(module->code_identifier())).c_str(),
             kOutputSeparator, StripSeparator(module->version()).c_str(),
+@@ -778,7 +778,9 @@
+            kOutputSeparator, base_address,
+            kOutputSeparator, base_address + module->size() - 1,
             kOutputSeparator,
-            
StripSeparator(PathnameStripper::File(module->debug_file())).c_str(),
+-           main_module != NULL && base_address == main_address ? 1 : 0);
++           main_module != NULL && base_address == main_address ? 1 : 0),
++           kOutputSeparator,
++           
StripSeparator(PathnameStripper::File(module->code_identifier())).c_str();
+   }
+ }
+ 
commit 3387afd418c1957fcb318aa61916fdbc4b2f748f
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Sat Jun 25 02:10:51 2016 +0200

    add some info how to use the symbol upload script
    
    Change-Id: Ic1d1b57966661b6012efcda0b007b9e75b6be0ef
    Reviewed-on: https://gerrit.libreoffice.org/26650
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Tested-by: Jenkins <c...@libreoffice.org>

diff --git a/bin/upload_symbols.py b/bin/upload_symbols.py
index d382f700f3d9..f708797d65c9 100755
--- a/bin/upload_symbols.py
+++ b/bin/upload_symbols.py
@@ -16,6 +16,7 @@ def main():
     if len(sys.argv) != 4:
         print(sys.argv)
         print("Invalid number of parameters")
+        print("Usage: upload-symbols.py symbols.zip config.ini \"long 
explanation\"")
         sys.exit(1)
 
     upload_url = "http://crashreport.libreoffice.org/upload/";
commit 7cb1abf119545c06782ab51f9adabccc56f4368f
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Sat Jun 25 02:03:47 2016 +0200

    add code_id to the minidump_stackwalk
    
    Change-Id: Ibcc32344780b7ad5814678cf7dd9a2167ede1661
    Reviewed-on: https://gerrit.libreoffice.org/26649
    Reviewed-by: Markus Mohrhard <markus.mohrh...@googlemail.com>
    Tested-by: Markus Mohrhard <markus.mohrh...@googlemail.com>

diff --git a/external/breakpad/UnpackedTarball_breakpad.mk 
b/external/breakpad/UnpackedTarball_breakpad.mk
index 59073ebb1d2b..445047bc7d87 100644
--- a/external/breakpad/UnpackedTarball_breakpad.mk
+++ b/external/breakpad/UnpackedTarball_breakpad.mk
@@ -15,6 +15,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,breakpad,\
        external/breakpad/breakpad-use-correct-http-header.patch.1 \
        external/breakpad/breakpad-wshadow.patch.1 \
        external/breakpad/breakpad-wshadow2.patch.1 \
+       external/breakpad/breakpad-stackwalk.patch.1 \
 ))
 
 # vim: set noet sw=4 ts=4:
diff --git a/external/breakpad/breakpad-stackwalk.patch.1 
b/external/breakpad/breakpad-stackwalk.patch.1
new file mode 100644
index 000000000000..26803f1fe9fc
--- /dev/null
+++ b/external/breakpad/breakpad-stackwalk.patch.1
@@ -0,0 +1,16 @@
+diff -ur breakpad.org/src/processor/stackwalk_common.cc 
breakpad/src/processor/stackwalk_common.cc
+--- breakpad.org/src/processor/stackwalk_common.cc     2016-06-25 
01:38:53.282302964 +0200
++++ breakpad/src/processor/stackwalk_common.cc 2016-06-25 01:42:58.463821357 
+0200
+@@ -767,9 +767,11 @@
+        ++module_sequence) {
+     const CodeModule *module = modules->GetModuleAtSequence(module_sequence);
+     uint64_t base_address = module->base_address();
+-    printf("Module%c%s%c%s%c%s%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 "%c%d\n",
++    printf("Module%c%s%c%s%c%s%c%s%c%s%c0x%08" PRIx64 "%c0x%08" PRIx64 
"%c%d\n",
+            kOutputSeparator,
+            
StripSeparator(PathnameStripper::File(module->code_file())).c_str(),
++           kOutputSeparator,
++           
StripSeparator(PathnameStripper::File(module->code_identifier())).c_str(),
+            kOutputSeparator, StripSeparator(module->version()).c_str(),
+            kOutputSeparator,
+            
StripSeparator(PathnameStripper::File(module->debug_file())).c_str(),
commit d6a976e749e4791627c9d05557adb6d5f64a698f
Author: Markus Mohrhard <markus.mohrh...@googlemail.com>
Date:   Mon Jun 20 09:02:47 2016 +0200

    switch to EHs on windows
    
    This seems to be a good idea based on several discussions
    in the project. In the end catching SEH exceptions is just
    going to cause strange platform dependent bahavior.
    
    This patch is based on on
    
http://thread.gmane.org/gmane.comp.documentfoundation.libreoffice.scm/39102/focus=55516
    and includes some additional cleanup of the sal signal code.
    
    Change-Id: Iedc998e37e6495afec445eccb60fa1c2b1a7defd
    Reviewed-on: https://gerrit.libreoffice.org/26497
    Reviewed-by: Michael Meeks <michael.me...@collabora.com>
    Tested-by: Jenkins <c...@libreoffice.org>
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    (cherry picked from commit 62c047ffb397802c09df9070492e70725928cadf)

diff --git a/cli_ure/Executable_climaker.mk b/cli_ure/Executable_climaker.mk
index 2d99b1f6670e..298f01ebf45f 100644
--- a/cli_ure/Executable_climaker.mk
+++ b/cli_ure/Executable_climaker.mk
@@ -15,7 +15,7 @@ $(eval $(call gb_Executable_use_package,climaker,\
 
 $(eval $(call gb_Executable_add_cxxflags,climaker,\
        -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
-       -clr \
+       -EHa -clr \
        -LN \
        -wd4339 \
        -wd4715 \
diff --git a/cli_ure/Library_cli_cppuhelper_native.mk 
b/cli_ure/Library_cli_cppuhelper_native.mk
index 952bba86969d..52314a3baeaa 100644
--- a/cli_ure/Library_cli_cppuhelper_native.mk
+++ b/cli_ure/Library_cli_cppuhelper_native.mk
@@ -15,6 +15,7 @@ $(eval $(call gb_Library_Assembly,cli_cppuhelper))
 # in CLR meta-data - use of this type may lead to a runtime exception":
 $(eval $(call gb_Library_add_cxxflags,cli_cppuhelper,\
        -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
+       -EHa \
        -clr \
        -wd4339 \
 ))
diff --git a/cli_ure/Library_cli_uno.mk b/cli_ure/Library_cli_uno.mk
index 58b2d4fe67d5..0629a171ec6c 100644
--- a/cli_ure/Library_cli_uno.mk
+++ b/cli_ure/Library_cli_uno.mk
@@ -11,6 +11,7 @@ $(eval $(call gb_Library_Library,cli_uno))
 
 $(eval $(call gb_Library_add_cxxflags,cli_uno,\
        -AI $(INSTDIR)/$(LIBO_URE_LIB_FOLDER) \
+       -EHa \
        -clr \
        -wd4339 \
 ))
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index dd5451aa2ab2..7a8636cb61fb 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -1434,9 +1434,6 @@ int Desktop::Main()
 
         SetSplashScreenProgress(30);
 
-        // set static variable to disable crash reporting
-        osl_setErrorReporting( false );
-
         // create title string
         LanguageTag aLocale( LANGUAGE_SYSTEM);
         ResMgr* pLabelResMgr = GetDesktopResManager();
diff --git a/sal/inc/signalshared.hxx b/sal/inc/signalshared.hxx
index 3eaa32c63788..fecedf52ff75 100644
--- a/sal/inc/signalshared.hxx
+++ b/sal/inc/signalshared.hxx
@@ -30,7 +30,6 @@ struct oslSignalHandlerImpl
     oslSignalHandlerImpl*       pNext;
 };
 
-extern bool                     bErrorReportingEnabled;
 extern bool                     bInitSignal;
 
 oslSignalAction callSignalHandler(oslSignalInfo* pInfo);
@@ -38,7 +37,6 @@ oslSignalAction callSignalHandler(oslSignalInfo* pInfo);
 // platform-specific functions that need to be implemented
 bool onInitSignal();
 bool onDeInitSignal();
-void onErrorReportingChanged(bool enabled);
 
 #endif
 
diff --git a/sal/osl/all/signalshared.cxx b/sal/osl/all/signalshared.cxx
index 341d7dce05d9..9110ab1eb8c0 100644
--- a/sal/osl/all/signalshared.cxx
+++ b/sal/osl/all/signalshared.cxx
@@ -23,7 +23,6 @@
 
 #include <osl/diagnose.h>
 
-bool bErrorReportingEnabled = true;
 bool bInitSignal = false;
 
 namespace
@@ -156,12 +155,10 @@ oslSignalAction SAL_CALL osl_raiseSignal(sal_Int32 
userSignal, void* userData)
     return action;
 }
 
-sal_Bool SAL_CALL osl_setErrorReporting( sal_Bool bEnable )
+sal_Bool SAL_CALL osl_setErrorReporting( sal_Bool /*bEnable*/ )
 {
-    bool bOld = bErrorReportingEnabled;
-    bErrorReportingEnabled = bEnable;
-    onErrorReportingChanged(bEnable);
-    return bOld;
+    // this is part of the stable API
+    return false;
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sal/osl/unx/signal.cxx b/sal/osl/unx/signal.cxx
index d42445149e6c..ba54979c9b46 100644
--- a/sal/osl/unx/signal.cxx
+++ b/sal/osl/unx/signal.cxx
@@ -281,8 +281,6 @@ bool onDeInitSignal()
     return false;
 }
 
-void onErrorReportingChanged(SAL_UNUSED_PARAMETER bool) {}
-
 namespace
 {
 void printStack(int sig)
diff --git a/sal/osl/w32/signal.cxx b/sal/osl/w32/signal.cxx
index 071df170bd84..743d2b2fb8c8 100644
--- a/sal/osl/w32/signal.cxx
+++ b/sal/osl/w32/signal.cxx
@@ -37,8 +37,6 @@
 #include <errorrep.h>
 #include <systools/win32/uwinapi.h>
 #include <sal/macros.h>
-#include <eh.h>
-#include <stdexcept>
 
 namespace
 {
@@ -147,52 +145,6 @@ long WINAPI signalHandlerFunction(LPEXCEPTION_POINTERS 
lpEP)
     return EXCEPTION_CONTINUE_EXECUTION;
 }
 
-void win_seh_translator( unsigned nSEHCode, _EXCEPTION_POINTERS* /* pExcPtrs 
*/)
-{
-    const char* pSEHName = nullptr;
-    switch( nSEHCode)
-    {
-        case EXCEPTION_ACCESS_VIOLATION:         pSEHName = "SEH Exception: 
ACCESS VIOLATION"; break;
-        case EXCEPTION_DATATYPE_MISALIGNMENT:    pSEHName = "SEH Exception: 
DATATYPE MISALIGNMENT"; break;
-        case EXCEPTION_BREAKPOINT:               /*pSEHName = "SEH Exception: 
BREAKPOINT";*/ break;
-        case EXCEPTION_SINGLE_STEP:              /*pSEHName = "SEH Exception: 
SINGLE STEP";*/ break;
-        case EXCEPTION_ARRAY_BOUNDS_EXCEEDED:    pSEHName = "SEH Exception: 
ARRAY BOUNDS EXCEEDED"; break;
-        case EXCEPTION_FLT_DENORMAL_OPERAND:     pSEHName = "SEH Exception: 
DENORMAL FLOAT OPERAND"; break;
-        case EXCEPTION_FLT_DIVIDE_BY_ZERO:       pSEHName = "SEH Exception: 
FLOAT DIVIDE_BY_ZERO"; break;
-        case EXCEPTION_FLT_INEXACT_RESULT:       pSEHName = "SEH Exception: 
FLOAT INEXACT RESULT"; break;
-        case EXCEPTION_FLT_INVALID_OPERATION:    pSEHName = "SEH Exception: 
INVALID FLOAT OPERATION"; break;
-        case EXCEPTION_FLT_OVERFLOW:             pSEHName = "SEH Exception: 
FLOAT OVERFLOW"; break;
-        case EXCEPTION_FLT_STACK_CHECK:          pSEHName = "SEH Exception: 
FLOAT STACK_CHECK"; break;
-        case EXCEPTION_FLT_UNDERFLOW:            pSEHName = "SEH Exception: 
FLOAT UNDERFLOW"; break;
-        case EXCEPTION_INT_DIVIDE_BY_ZERO:       pSEHName = "SEH Exception: 
INTEGER DIVIDE_BY_ZERO"; break;
-        case EXCEPTION_INT_OVERFLOW:             pSEHName = "SEH Exception: 
INTEGER OVERFLOW"; break;
-        case EXCEPTION_PRIV_INSTRUCTION:         pSEHName = "SEH Exception: 
PRIVILEGED INSTRUCTION"; break;
-        case EXCEPTION_IN_PAGE_ERROR:            pSEHName = "SEH Exception: 
IN_PAGE_ERROR"; break;
-        case EXCEPTION_ILLEGAL_INSTRUCTION:      pSEHName = "SEH Exception: 
ILLEGAL INSTRUCTION"; break;
-        case EXCEPTION_NONCONTINUABLE_EXCEPTION: pSEHName = "SEH Exception: 
NONCONTINUABLE EXCEPTION"; break;
-        case EXCEPTION_STACK_OVERFLOW:           pSEHName = "SEH Exception: 
STACK OVERFLOW"; break;
-        case EXCEPTION_INVALID_DISPOSITION:      pSEHName = "SEH Exception: 
INVALID DISPOSITION"; break;
-        case EXCEPTION_GUARD_PAGE:               pSEHName = "SEH Exception: 
GUARD PAGE"; break;
-        case EXCEPTION_INVALID_HANDLE:           pSEHName = "SEH Exception: 
INVALID HANDLE"; break;
-//      case EXCEPTION_POSSIBLE_DEADLOCK:        pSEHName = "SEH Exception: 
POSSIBLE DEADLOCK"; break;
-        default:                                 pSEHName = "Unknown SEH 
Exception"; break;
-    }
-
-    if( pSEHName)
-        throw std::runtime_error( pSEHName);
-}
-
-}
-
-void onErrorReportingChanged(bool bEnable)
-{
-#if defined _MSC_VER
-    if( !bEnable) // if the crash reporter is disabled
-    {
-        // fall back to handle Window's SEH events as C++ exceptions
-        _set_se_translator( win_seh_translator);
-    }
-#endif
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/solenv/gbuild/platform/com_MSC_defs.mk 
b/solenv/gbuild/platform/com_MSC_defs.mk
index b2af97f5f2ac..382df3e61597 100644
--- a/solenv/gbuild/platform/com_MSC_defs.mk
+++ b/solenv/gbuild/platform/com_MSC_defs.mk
@@ -270,7 +270,7 @@ gb_CXX03FLAGS :=
 
 gb_LinkTarget_EXCEPTIONFLAGS := \
        -DEXCEPTIONS_ON \
-       -EHa \
+       -EHs \
 
 gb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS)
 
commit f2e4ab11aa1418cbd71b2346a507932600fb530e
Author: Thorsten Behrens <thorsten.behr...@cib.de>
Date:   Fri Jun 8 15:39:03 2018 +0200

    Revert "don't catch SEH exceptions in sal thread code"
    
    This reverts commit 5ccf6776a130cc7bdd692bbcfd1be47001609ee4.

diff --git a/salhelper/source/thread.cxx b/salhelper/source/thread.cxx
index ea188b81d48f..52c028c133ba 100644
--- a/salhelper/source/thread.cxx
+++ b/salhelper/source/thread.cxx
@@ -38,20 +38,12 @@ void salhelper::Thread::run() {
     try {
         setName(name_);
         execute();
-    } catch (const std::exception&) {
+    } catch (...) {
         // Work around the problem that onTerminated is not called if run 
throws
         // an exception:
         onTerminated();
         throw;
     }
-    // don't use a catch all handler with EHa as that will catch SEH exceptions
-#ifndef WNT
-    catch (...)
-    {
-        onTerminated();
-        throw;
-    }
-#endif
 }
 
 void salhelper::Thread::onTerminated() { release(); }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to