summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/source/app/salusereventlist.cxx22
-rw-r--r--vcl/source/app/scheduler.cxx25
2 files changed, 41 insertions, 6 deletions
diff --git a/vcl/source/app/salusereventlist.cxx b/vcl/source/app/salusereventlist.cxx
index a3b77ecc2c19..50ef1f892002 100644
--- a/vcl/source/app/salusereventlist.cxx
+++ b/vcl/source/app/salusereventlist.cxx
@@ -21,7 +21,14 @@
#include <salwtype.hxx>
#include <algorithm>
-
+#include <cstdlib>
+#include <exception>
+#include <typeinfo>
+
+#include <com/sun/star/uno/Exception.hpp>
+#include <cppuhelper/exc_hlp.hxx>
+#include <sal/log.hxx>
+#include <sal/types.h>
#include <svdata.hxx>
SalUserEventList::SalUserEventList()
@@ -90,9 +97,20 @@ bool SalUserEventList::DispatchUserEvents( bool bHandleAllCurrentEvents )
{
ProcessEvent( aEvent );
}
+ catch (css::uno::Exception& e)
+ {
+ auto const e2 = cppu::getCaughtException();
+ SAL_WARN("vcl", "Uncaught " << e2.getValueTypeName() << " " << e.Message);
+ std::abort();
+ }
+ catch (std::exception& e)
+ {
+ SAL_WARN("vcl", "Uncaught " << typeid(e).name() << " " << e.what());
+ std::abort();
+ }
catch (...)
{
- SAL_WARN( "vcl", "Uncaught exception during ProcessEvent!" );
+ SAL_WARN("vcl", "Uncaught exception during DispatchUserEvents!");
std::abort();
}
}
diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx
index 2ef3c87d83f8..b53a58ecf555 100644
--- a/vcl/source/app/scheduler.cxx
+++ b/vcl/source/app/scheduler.cxx
@@ -20,7 +20,14 @@
#include <sal/config.h>
#include <cassert>
-
+#include <cstdlib>
+#include <exception>
+#include <typeinfo>
+
+#include <com/sun/star/uno/Exception.hpp>
+#include <cppuhelper/exc_hlp.hxx>
+#include <sal/log.hxx>
+#include <sal/types.h>
#include <svdata.hxx>
#include <tools/time.hxx>
#include <unotools/configmgr.hxx>
@@ -439,11 +446,21 @@ next_entry:
{
pTask->Invoke();
}
+ catch (css::uno::Exception& e)
+ {
+ auto const e2 = cppu::getCaughtException();
+ SAL_WARN("vcl.schedule", "Uncaught " << e2.getValueTypeName() << " " << e.Message);
+ std::abort();
+ }
+ catch (std::exception& e)
+ {
+ SAL_WARN("vcl.schedule", "Uncaught " << typeid(e).name() << " " << e.what());
+ std::abort();
+ }
catch (...)
{
- SAL_WARN( "vcl.schedule",
- "Uncaught exception during Task::Invoke()!" );
- abort();
+ SAL_WARN("vcl.schedule", "Uncaught exception during Task::Invoke()!");
+ std::abort();
}
Lock( nLockCount );
pMostUrgent->mbInScheduler = false;