[Libreoffice-commits] core.git: vcl/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Wed Mar 17 06:41:16 UTC 2021
vcl/source/app/salusereventlist.cxx | 30 ++++++++----------------------
1 file changed, 8 insertions(+), 22 deletions(-)
New commits:
commit 4e8a4d9ceda1f5931a8a086b175793c81b715b58
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Tue Mar 16 18:39:49 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Mar 17 07:40:31 2021 +0100
use noexcept lambda in DispatchUserEvents to improve debugging
Change-Id: I3141888cc08718a2a3883e8a650fdaed7696d1a3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112592
Tested-by: Noel Grandin <noel.grandin at collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/vcl/source/app/salusereventlist.cxx b/vcl/source/app/salusereventlist.cxx
index 0321fc29e9fd..309e66bafc29 100644
--- a/vcl/source/app/salusereventlist.cxx
+++ b/vcl/source/app/salusereventlist.cxx
@@ -110,28 +110,14 @@ bool SalUserEventList::DispatchUserEvents( bool bHandleAllCurrentEvents )
* which is do-able, but requires writing some assembly.
* See also Scheduler::ProcessTaskScheduling
*/
-#ifndef IOS
- try
-#endif
- {
- ProcessEvent( aEvent );
- }
-#ifndef IOS
- catch (css::uno::Exception&)
- {
- TOOLS_WARN_EXCEPTION("vcl", "Uncaught");
- std::abort();
- }
- catch (std::exception& e)
- {
- SAL_WARN("vcl", "Uncaught " << typeid(e).name() << " " << e.what());
- std::abort();
- }
- catch (...)
- {
- SAL_WARN("vcl", "Uncaught exception during DispatchUserEvents!");
- std::abort();
- }
+#ifdef IOS
+ ProcessEvent( aEvent );
+#else
+ // the noexcept here means that (a) we abort and (b) debuggers will
+ // likely trigger at the throw site instead of here, making the debugging
+ // experience better when something goes wrong.
+ auto process = [&aEvent, this] () noexcept { ProcessEvent(aEvent); };
+ process();
#endif
aResettableListGuard.reset();
if (!bHandleAllCurrentEvents)
More information about the Libreoffice-commits
mailing list