summaryrefslogtreecommitdiff
path: root/src/lua/property.cpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-01-10 16:58:29 +1100
committerjacqueline <me@jacqueline.id.au>2024-01-10 16:59:07 +1100
commit1b2d791a05954fd161376e3ddce0d44f74fcc6c0 (patch)
treeacf97e17272d86c5d8b16247baf2f8e220126dd5 /src/lua/property.cpp
parentabdc00fd2dbe013bffe8a303fe899e209006f7ce (diff)
downloadtangara-fw-1b2d791a05954fd161376e3ddce0d44f74fcc6c0.tar.gz
Use doubles instead of floats for lua numbers (this unpins the ui task)
Diffstat (limited to 'src/lua/property.cpp')
-rw-r--r--src/lua/property.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/lua/property.cpp b/src/lua/property.cpp
index 7a45552b..89351579 100644
--- a/src/lua/property.cpp
+++ b/src/lua/property.cpp
@@ -7,6 +7,7 @@
#include "property.hpp"
#include <sys/_stdint.h>
+#include <cmath>
#include <memory>
#include <string>
@@ -192,8 +193,6 @@ auto Property::PushValue(lua_State& s) -> int {
lua_pushnil(&s);
} else if constexpr (std::is_same_v<T, int>) {
lua_pushinteger(&s, arg);
- } else if constexpr (std::is_same_v<T, float>) {
- lua_pushnumber(&s, arg);
} else if constexpr (std::is_same_v<T, bool>) {
lua_pushboolean(&s, arg);
} else if constexpr (std::is_same_v<T, std::string>) {
@@ -241,7 +240,7 @@ auto Property::PopValue(lua_State& s) -> bool {
if (lua_isinteger(&s, 2)) {
new_val = lua_tointeger(&s, 2);
} else {
- new_val = lua_tonumber(&s, 2);
+ new_val = static_cast<lua_Integer>(std::round(lua_tonumber(&s, 2)));
}
break;
case LUA_TBOOLEAN: