Commit efd5d4bc by Ignacio Etcheverry

C#: Throw ObjectDisposedException from disposed wrapper classes

parent 325efb60
...@@ -50,6 +50,9 @@ namespace Godot.Collections ...@@ -50,6 +50,9 @@ namespace Godot.Collections
internal IntPtr GetPtr() internal IntPtr GetPtr()
{ {
if (disposed)
throw new ObjectDisposedException(GetType().FullName);
return safeHandle.DangerousGetHandle(); return safeHandle.DangerousGetHandle();
} }
......
...@@ -54,6 +54,9 @@ namespace Godot.Collections ...@@ -54,6 +54,9 @@ namespace Godot.Collections
internal IntPtr GetPtr() internal IntPtr GetPtr()
{ {
if (disposed)
throw new ObjectDisposedException(GetType().FullName);
return safeHandle.DangerousGetHandle(); return safeHandle.DangerousGetHandle();
} }
......
...@@ -11,7 +11,13 @@ namespace Godot ...@@ -11,7 +11,13 @@ namespace Godot
internal static IntPtr GetPtr(NodePath instance) internal static IntPtr GetPtr(NodePath instance)
{ {
return instance == null ? IntPtr.Zero : instance.ptr; if (instance == null)
return IntPtr.Zero;
if (instance.disposed)
throw new ObjectDisposedException(instance.GetType().FullName);
return instance.ptr;
} }
~NodePath() ~NodePath()
...@@ -49,7 +55,7 @@ namespace Godot ...@@ -49,7 +55,7 @@ namespace Godot
get { return ptr; } get { return ptr; }
} }
public NodePath() : this(string.Empty) {} public NodePath() : this(string.Empty) { }
public NodePath(string path) public NodePath(string path)
{ {
......
...@@ -30,7 +30,13 @@ namespace Godot ...@@ -30,7 +30,13 @@ namespace Godot
internal static IntPtr GetPtr(Object instance) internal static IntPtr GetPtr(Object instance)
{ {
return instance == null ? IntPtr.Zero : instance.ptr; if (instance == null)
return IntPtr.Zero;
if (instance.disposed)
throw new ObjectDisposedException(instance.GetType().FullName);
return instance.ptr;
} }
~Object() ~Object()
......
...@@ -11,7 +11,13 @@ namespace Godot ...@@ -11,7 +11,13 @@ namespace Godot
internal static IntPtr GetPtr(RID instance) internal static IntPtr GetPtr(RID instance)
{ {
return instance == null ? IntPtr.Zero : instance.ptr; if (instance == null)
return IntPtr.Zero;
if (instance.disposed)
throw new ObjectDisposedException(instance.GetType().FullName);
return instance.ptr;
} }
~RID() ~RID()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment