Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/core
diff options
context:
space:
mode:
authorKae <80987908+Novaenia@users.noreply.github.com>2025-05-14 13:13:23 +1000
committerKae <80987908+Novaenia@users.noreply.github.com>2025-05-14 13:13:23 +1000
commit21c0682e3f98ee8afacff7be90828b05bc6ccb60 (patch)
tree5a256787d1080809f57aeb5fb295e03f8a426b8b /source/core
parenta840f75d41be4765a476b1043b6a38f350d800e6 (diff)
fix underflow on input clipboard allow state
Diffstat (limited to 'source/core')
-rw-r--r--source/core/StarLua.cpp4
-rw-r--r--source/core/StarLua.hpp1
2 files changed, 4 insertions, 1 deletions
diff --git a/source/core/StarLua.cpp b/source/core/StarLua.cpp
index 91aebab..201f238 100644
--- a/source/core/StarLua.cpp
+++ b/source/core/StarLua.cpp
@@ -125,7 +125,9 @@ LuaTable LuaContext::createTable() {
LuaNullEnforcer::LuaNullEnforcer(LuaEngine& engine)
: m_engine(&engine) { ++m_engine->m_nullTerminated; };
-LuaNullEnforcer::~LuaNullEnforcer() { --m_engine->m_nullTerminated; };
+LuaNullEnforcer::LuaNullEnforcer(LuaNullEnforcer&& other) { m_engine = take(other.m_engine); };
+
+LuaNullEnforcer::~LuaNullEnforcer() { if (m_engine) --m_engine->m_nullTerminated; };
LuaValue LuaConverter<Json>::from(LuaEngine& engine, Json const& v) {
if (v.isType(Json::Type::Null)) {
diff --git a/source/core/StarLua.hpp b/source/core/StarLua.hpp
index fa777c2..1f0dc43 100644
--- a/source/core/StarLua.hpp
+++ b/source/core/StarLua.hpp
@@ -414,6 +414,7 @@ struct LuaNullTermWrapper : T {
class LuaNullEnforcer {
public:
LuaNullEnforcer(LuaEngine& engine);
+ LuaNullEnforcer(LuaNullEnforcer&&);
~LuaNullEnforcer();
private:
LuaEngine* m_engine;