Lua: Add Error handling during hook invocation

Change-Id: I63bb062d87126278ad4f6670f5b98e31d59aa8bb
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
Marcus Tillmanns
2024-05-07 13:59:46 +02:00
parent 6aab6f61b5
commit fde45e98b9

View File

@@ -46,15 +46,21 @@ void addHookModule()
[](Hook *, QMetaObject::Connection con) { QObject::disconnect(con); });
});
LuaEngine::registerHook("editors.documentOpened", [](const sol::function &func) {
QObject::connect(Core::EditorManager::instance(),
&Core::EditorManager::documentOpened,
[func](Core::IDocument *document) { func(document); });
LuaEngine::registerHook("editors.documentOpened", [](const sol::protected_function &func) {
QObject::connect(
Core::EditorManager::instance(),
&Core::EditorManager::documentOpened,
[func](Core::IDocument *document) {
QTC_CHECK_EXPECTED(LuaEngine::void_safe_call(func, document));
});
});
LuaEngine::registerHook("editors.documentClosed", [](const sol::function &func) {
QObject::connect(Core::EditorManager::instance(),
&Core::EditorManager::documentClosed,
[func](Core::IDocument *document) { func(document); });
LuaEngine::registerHook("editors.documentClosed", [](const sol::protected_function &func) {
QObject::connect(
Core::EditorManager::instance(),
&Core::EditorManager::documentClosed,
[func](Core::IDocument *document) {
QTC_CHECK_EXPECTED(LuaEngine::void_safe_call(func, document));
});
});
}