Use SafeRelease and SafeDelete to make sure released objects are NULL and will cause proper errors if referenced again.

TRAC #23617

Signed-off-by: Nicolas Capens
Signed-off-by: Shannon Woods
Author: Geoff Lang
diff --git a/src/common/angleutils.h b/src/common/angleutils.h
index c7ae27b..91400cc 100644
--- a/src/common/angleutils.h
+++ b/src/common/angleutils.h
@@ -42,6 +42,20 @@
     }
 }
 
+template <typename T>
+void SafeDelete(T*& resource)
+{
+    delete resource;
+    resource = NULL;
+}
+
+template <typename T>
+void SafeDeleteArray(T*& resource)
+{
+    delete[] resource;
+    resource = NULL;
+}
+
 #if defined(_MSC_VER)
 #define snprintf _snprintf
 #endif