1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-19 14:31:59 +00:00

C#: Throw ObjectDisposedException from disposed wrapper classes

This commit is contained in:
Ignacio Etcheverry
2019-02-19 00:37:10 +01:00
parent 325efb60b7
commit efd5d4bcf9
5 changed files with 28 additions and 4 deletions

View File

@@ -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();
} }

View File

@@ -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();
} }

View File

@@ -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()

View File

@@ -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()

View File

@@ -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()