From b769743e0411561b928baa9cf38f2d8fa8ffeaa3 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 12 Aug 2019 15:03:01 +0000 Subject: [PATCH] CtrlCore: Gtk GUI_APP_MAIN now correctly handles exceptions git-svn-id: svn://ultimatepp.org/upp/trunk@13534 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/CtrlCore.h | 1 + uppsrc/CtrlCore/CtrlMt.cpp | 5 +++++ uppsrc/CtrlCore/GtkAfter.h | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/uppsrc/CtrlCore/CtrlCore.h b/uppsrc/CtrlCore/CtrlCore.h index 7d846a219..d62789bac 100644 --- a/uppsrc/CtrlCore/CtrlCore.h +++ b/uppsrc/CtrlCore/CtrlCore.h @@ -60,6 +60,7 @@ int LeaveGuiMutexAll(); void EnterGuiMutex(int n); bool ThreadHasGuiLock(); +int GetGuiLockLevel(); #else inline void EnterGuiMutex() {} inline void LeaveGuiMutex() {} diff --git a/uppsrc/CtrlCore/CtrlMt.cpp b/uppsrc/CtrlCore/CtrlMt.cpp index 30ce09f77..85365aac5 100644 --- a/uppsrc/CtrlCore/CtrlMt.cpp +++ b/uppsrc/CtrlCore/CtrlMt.cpp @@ -64,6 +64,11 @@ bool ThreadHasGuiLock() return Thread::IsMain() || sGLockLevel; } +int GetGuiLockLevel() +{ + return sGLockLevel; +} + void WakeUpGuiThread(); struct Ctrl::CallBox { diff --git a/uppsrc/CtrlCore/GtkAfter.h b/uppsrc/CtrlCore/GtkAfter.h index 9e8602432..05c65148f 100644 --- a/uppsrc/CtrlCore/GtkAfter.h +++ b/uppsrc/CtrlCore/GtkAfter.h @@ -18,7 +18,7 @@ int main(int argc, char **argv, const char **envptr) { \ UPP::AppInit__(argc, (const char **)argv, envptr); \ GUI_APP_MAIN_HOOK \ UPP::InitGtkApp(argc, argv, envptr); \ - GuiMainFn_(); \ + UPP::AppExecute__(GuiMainFn_); \ UPP::Ctrl::CloseTopCtrls(); \ UPP::ExitGtkApp(); \ UPP::AppExit__(); \