浏览代码

Merge pull request #9951 from endragor/ref-ptrcall

Fix passing Refs via ptrcall
Thomas Herzog 8 年之前
父节点
当前提交
d28e9c3c08
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      core/reference.h

+ 3 - 3
core/reference.h

@@ -330,7 +330,7 @@ struct PtrToArg<Ref<T> > {
 
 	_FORCE_INLINE_ static Ref<T> convert(const void *p_ptr) {
 
-		return Ref<T>(reinterpret_cast<const T *>(p_ptr));
+		return Ref<T>(const_cast<T *>(reinterpret_cast<const T *>(p_ptr)));
 	}
 
 	_FORCE_INLINE_ static void encode(Ref<T> p_val, const void *p_ptr) {
@@ -355,7 +355,7 @@ struct PtrToArg<RefPtr> {
 
 	_FORCE_INLINE_ static RefPtr convert(const void *p_ptr) {
 
-		return Ref<Reference>(reinterpret_cast<const Reference *>(p_ptr)).get_ref_ptr();
+		return Ref<Reference>(const_cast<Reference *>(reinterpret_cast<const Reference *>(p_ptr))).get_ref_ptr();
 	}
 
 	_FORCE_INLINE_ static void encode(RefPtr p_val, const void *p_ptr) {
@@ -370,7 +370,7 @@ struct PtrToArg<const RefPtr &> {
 
 	_FORCE_INLINE_ static RefPtr convert(const void *p_ptr) {
 
-		return Ref<Reference>(reinterpret_cast<const Reference *>(p_ptr)).get_ref_ptr();
+		return Ref<Reference>(const_cast<Reference *>(reinterpret_cast<const Reference *>(p_ptr))).get_ref_ptr();
 	}
 };