aboutsummaryrefslogtreecommitdiff
path: root/src/script
diff options
context:
space:
mode:
Diffstat (limited to 'src/script')
-rw-r--r--src/script/audio/luaopen_Source.cpp (renamed from src/script/audio/luaopen_Sound.cpp)2
-rw-r--r--src/script/graphics/luaopen_Canvas.cpp6
-rw-r--r--src/script/graphics/luaopen_Image.cpp6
-rw-r--r--src/script/graphics/luaopen_JSL.cpp8
-rw-r--r--src/script/luaopen_types.h6
5 files changed, 15 insertions, 13 deletions
diff --git a/src/script/audio/luaopen_Sound.cpp b/src/script/audio/luaopen_Source.cpp
index d43147e..2ab5d16 100644
--- a/src/script/audio/luaopen_Sound.cpp
+++ b/src/script/audio/luaopen_Source.cpp
@@ -16,7 +16,7 @@ namespace lua
{0, 0}
};
- int luaopen_Sound(lua_State* L)
+ int luaopen_Source(lua_State* L)
{
return 1;
diff --git a/src/script/graphics/luaopen_Canvas.cpp b/src/script/graphics/luaopen_Canvas.cpp
index a34e3b3..1e22772 100644
--- a/src/script/graphics/luaopen_Canvas.cpp
+++ b/src/script/graphics/luaopen_Canvas.cpp
@@ -50,9 +50,9 @@ namespace lua
static int l_gc(lua_State* L)
{
- Canvas* canvas = checkCanvas(L);
- if (canvas != nullptr)
- delete canvas;
+ Proxy* proxy = (Proxy*)luax_checktype(L, 1, TYPE_CANVAS);
+ Canvas* canvas = (Canvas*)proxy->object;
+ delete canvas;
return 0;
}
diff --git a/src/script/graphics/luaopen_Image.cpp b/src/script/graphics/luaopen_Image.cpp
index 9506ce4..246ea09 100644
--- a/src/script/graphics/luaopen_Image.cpp
+++ b/src/script/graphics/luaopen_Image.cpp
@@ -63,9 +63,9 @@ namespace lua
static int l_gc(lua_State* L)
{
- Image* i = checkImage(L);
- if (i != nullptr)
- delete i;
+ Proxy* proxy = (Proxy*)luax_checktype(L, 1, TYPE_IMAGE);
+ Image* img = (Image*)proxy->object;
+ delete img;
return 0;
}
diff --git a/src/script/graphics/luaopen_JSL.cpp b/src/script/graphics/luaopen_JSL.cpp
index 33afa2c..919949c 100644
--- a/src/script/graphics/luaopen_JSL.cpp
+++ b/src/script/graphics/luaopen_JSL.cpp
@@ -121,11 +121,9 @@ namespace lua
static int l_gc(lua_State* L)
{
- JSLProgram* jsl = checkJSLProgram(L);
- if (jsl != nullptr && jsl != NULL)
- {
- delete jsl;
- }
+ Proxy* proxy = (Proxy*)luax_checktype(L, 1, TYPE_JSL);
+ JSLProgram* jsl = (JSLProgram*)proxy->object;
+ delete jsl;
return 0;
}
diff --git a/src/script/luaopen_types.h b/src/script/luaopen_types.h
index 8c1f2a6..c6ce202 100644
--- a/src/script/luaopen_types.h
+++ b/src/script/luaopen_types.h
@@ -8,7 +8,7 @@
#define TYPE_FONT "Font"
// audio module
-#define TYPE_SOUND "Sound"
+#define TYPE_SOURCE "Source"
class Proxy
{
@@ -20,6 +20,10 @@ public:
}
void* object;
+
+ ~Proxy()
+ {
+ }
};
#endif