Browse Source

Help compilers optimize Object::cast_to()

Pedro J. Estébanez 1 year ago
parent
commit
fdc47adf1e
1 changed files with 2 additions and 2 deletions
  1. 2 2
      core/object/object.h

+ 2 - 2
core/object/object.h

@@ -798,12 +798,12 @@ public:
 
 
 	template <class T>
 	template <class T>
 	static T *cast_to(Object *p_object) {
 	static T *cast_to(Object *p_object) {
-		return dynamic_cast<T *>(p_object);
+		return p_object ? dynamic_cast<T *>(p_object) : nullptr;
 	}
 	}
 
 
 	template <class T>
 	template <class T>
 	static const T *cast_to(const Object *p_object) {
 	static const T *cast_to(const Object *p_object) {
-		return dynamic_cast<const T *>(p_object);
+		return p_object ? dynamic_cast<const T *>(p_object) : nullptr;
 	}
 	}
 
 
 	enum {
 	enum {