Index: /trunk/nv/lua/lua_values.hh
===================================================================
--- /trunk/nv/lua/lua_values.hh	(revision 185)
+++ /trunk/nv/lua/lua_values.hh	(revision 186)
@@ -8,4 +8,5 @@
 #define NV_LUA_VALUES_HH
 
+#include <type_traits>
 #include <nv/common.hh>
 #include <nv/string.hh>
@@ -52,4 +53,12 @@
 			void push_value( lua_State *L, object* o );
 			void push_value( lua_State *L, void* p );
+
+			template< typename D >
+			typename std::enable_if<std::is_base_of<object, D>::value>::type
+				push_value( lua_State *L, D* o )
+			{
+				push_value( L, (object*)o );
+			}
+
  			template < typename T >
  			void push_value( lua_State *L, const T& p )
