浏览代码

Remove vsgdnative loader on exit

Marcin Zawiejski 6 年之前
父节点
当前提交
7860b74b0f
共有 1 个文件被更改,包括 5 次插入5 次删除
  1. 5 5
      modules/gdnative/videodecoder/register_types.cpp

+ 5 - 5
modules/gdnative/videodecoder/register_types.cpp

@@ -33,18 +33,18 @@
 #include "core/class_db.h"
 #include "core/class_db.h"
 #include "video_stream_gdnative.h"
 #include "video_stream_gdnative.h"
 
 
-static ResourceFormatLoaderVideoStreamGDNative *resource_loader_vsgdnative = NULL;
+static Ref<ResourceFormatLoaderVideoStreamGDNative> resource_loader_vsgdnative;
 
 
 void register_videodecoder_types() {
 void register_videodecoder_types() {
 
 
-	resource_loader_vsgdnative = memnew(ResourceFormatLoaderVideoStreamGDNative);
+	resource_loader_vsgdnative.instance();
 	ResourceLoader::add_resource_format_loader(resource_loader_vsgdnative, true);
 	ResourceLoader::add_resource_format_loader(resource_loader_vsgdnative, true);
+
 	ClassDB::register_class<VideoStreamGDNative>();
 	ClassDB::register_class<VideoStreamGDNative>();
 }
 }
 
 
 void unregister_videodecoder_types() {
 void unregister_videodecoder_types() {
 
 
-	if (resource_loader_vsgdnative) {
-		memdelete(resource_loader_vsgdnative);
-	}
+	ResourceLoader::remove_resource_format_loader(resource_loader_vsgdnative);
+	resource_loader_vsgdnative.unref();
 }
 }