From e5e5e1735b60e43aa4c0a5e861ea3f472a23304c Mon Sep 17 00:00:00 2001 From: squeek Date: Tue, 24 Mar 2015 12:34:20 -0700 Subject: [PATCH] Don't crash if class_info() is called on non-luabind objects * See https://github.com/luabind/luabind/commit/2c6c9054e3f9ae00498fc2b56331a17b590ab74e --- maps/includes/base.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/maps/includes/base.lua b/maps/includes/base.lua index d77275d..317e74a 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 -----------------------------------------------------------------------------