diff --git a/maps/includes/base.lua b/maps/includes/base.lua index 54dd4ab..c73e3f9 100644 --- a/maps/includes/base.lua +++ b/maps/includes/base.lua @@ -48,6 +48,20 @@ function baseclass:new (o) end +----------------------------------------------------------------------------- +-- make luabind's class_info function safer +-- (don't crash if class_info() is called on non-luabind objects) +----------------------------------------------------------------------------- +local class_info_base = class_info +class_info = function(obj) + local obj_type = type(obj) + if obj_type == "userdata" and getmetatable(obj).__luabind_class then + return class_info_base(obj) + end + return {} +end + + ----------------------------------------------------------------------------- -- reset everything -----------------------------------------------------------------------------