From 87deff97f3d1e386454de19efc4446fc623ebf69 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 5 Jan 2026 16:45:07 +0300 Subject: [PATCH] add 'debugging' permission --- src/devtools/Project.hpp | 3 ++- src/logic/scripting/lua/libs/libapp.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/devtools/Project.hpp b/src/devtools/Project.hpp index 9be0194ae..23aa11ca5 100644 --- a/src/devtools/Project.hpp +++ b/src/devtools/Project.hpp @@ -13,9 +13,10 @@ namespace scripting { } struct Permissions { + static inline std::string DEBUGGING = "debugging"; + static inline std::string NETWORK = "network"; static inline std::string RECORD_AUDIO = "record-audio"; static inline std::string WRITE_TO_USER = "write-to-user"; - static inline std::string NETWORK = "network"; std::set permissions; diff --git a/src/logic/scripting/lua/libs/libapp.cpp b/src/logic/scripting/lua/libs/libapp.cpp index 7c406d1aa..d23f96cb0 100644 --- a/src/logic/scripting/lua/libs/libapp.cpp +++ b/src/logic/scripting/lua/libs/libapp.cpp @@ -6,6 +6,7 @@ #include "content/ContentControl.hpp" #include "engine/Engine.hpp" #include "engine/EnginePaths.hpp" +#include "devtools/Project.hpp" #include "network/Network.hpp" #include "util/platform.hpp" #include "window/Window.hpp" @@ -13,6 +14,10 @@ using namespace scripting; static int l_start_debug_instance(lua::State* L) { + if (!engine->getProject().permissions.has(Permissions::DEBUGGING)) { + throw std::runtime_error("project has no debugging permission"); + } + int port = lua::tointeger(L, 1); if (port == 0) { auto network = engine->getNetwork();