Browse Source

-Fixed post-import script-reload buf, fixes #1683

Juan Linietsky 10 years ago
parent
commit
b66b86b05e
3 changed files with 14 additions and 3 deletions
  1. 4 0
      core/reference.cpp
  2. 1 0
      core/reference.h
  3. 9 3
      tools/editor/io_plugins/editor_scene_import_plugin.cpp

+ 4 - 0
core/reference.cpp

@@ -59,6 +59,10 @@ void Reference::_bind_methods() {
 	ObjectTypeDB::bind_method(_MD("unreference"),&Reference::unreference);
 }
 
+int Reference::reference_get_count() const {
+	return refcount.get();
+}
+
 void Reference::reference(){
 
 	refcount.ref();

+ 1 - 0
core/reference.h

@@ -53,6 +53,7 @@ public:
 	bool init_ref();
 	void reference();
 	bool unreference();
+	int reference_get_count() const;
 
 	Reference();
 	~Reference();

+ 9 - 3
tools/editor/io_plugins/editor_scene_import_plugin.cpp

@@ -714,7 +714,8 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
 	}
 
 
-	Ref<EditorScenePostImport> pi;
+
+
 
 	if (script_path->get_text()!="") {
 		Ref<Script> scr = ResourceLoader::load(script_path->get_text());
@@ -724,7 +725,7 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
 			return;
 		}
 
-		pi = Ref<EditorScenePostImport>( memnew( EditorScenePostImport ) );
+		Ref<EditorScenePostImport> pi = Ref<EditorScenePostImport>( memnew( EditorScenePostImport ) );
 		pi->set_script(scr.get_ref_ptr());
 		if (!pi->get_script_instance()) {
 
@@ -732,6 +733,8 @@ void EditorSceneImportDialog::_import(bool p_and_open) {
 			error_dialog->popup_centered(Size2(200,100));
 			return;
 		}
+
+		print_line("PI REFERENCES "+itos(scr->reference_get_count()));
 	}
 
 
@@ -2726,7 +2729,7 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
 	Ref<EditorScenePostImport>  post_import_script;
 
 	if (post_import_script_path!="") {
-		post_import_script_path = EditorImportPlugin::expand_source_path(post_import_script_path);
+		post_import_script_path = post_import_script_path;
 		Ref<Script> scr = ResourceLoader::load(post_import_script_path);
 		if (!scr.is_valid()) {
 			EditorNode::add_io_error("Couldn't load post-import script: '"+post_import_script_path);
@@ -2748,8 +2751,11 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
 			EditorNode::add_io_error("Error running Post-Import script: '"+post_import_script_path);
 			return err;
 		}
+
+
 	}
 
+
 	/// IMPORT IMAGES