diff --git a/modules/web/html/editor/resource_importer_html_template_data.cpp b/modules/web/html/editor/resource_importer_html_template_data.cpp
index 54d0cb5ca9..12a3506fa0 100644
--- a/modules/web/html/editor/resource_importer_html_template_data.cpp
+++ b/modules/web/html/editor/resource_importer_html_template_data.cpp
@@ -74,9 +74,9 @@ void ResourceImporterHTMLTemplateData::get_import_options(List *r_
Error ResourceImporterHTMLTemplateData::import(const String &p_source_file, const String &p_save_path, const RBMap &p_options, List *r_platform_variants, List *r_gen_files, Variant *r_metadata) {
Ref template_data;
template_data.instance();
-
+
Error err = template_data->load_from_file(p_source_file);
-
+
if (err != OK) {
return err;
}
@@ -94,10 +94,16 @@ ResourceImporterHTMLTemplateData::~ResourceImporterHTMLTemplateData() {
void HTMLTemplateDataEditorPlugin::edit(Object *p_object) {
Ref f = Ref(Object::cast_to(p_object));
-
+
if (f.is_valid()) {
+ String path = f->get_path();
+
+ if (path.empty()) {
+ return;
+ }
+
EditorPlugin *ep = EditorNode::get_singleton()->get_editor_by_name("Text");
-
+
if (ep) {
ep->call("open_file", f->get_path());
}
@@ -105,7 +111,15 @@ void HTMLTemplateDataEditorPlugin::edit(Object *p_object) {
}
bool HTMLTemplateDataEditorPlugin::handles(Object *p_object) const {
- return p_object->is_class("HTMLTemplateData");
+ Ref f = Ref(Object::cast_to(p_object));
+
+ if (f.is_valid()) {
+ String path = f->get_path();
+
+ return !path.empty();
+ }
+
+ return false;
}
HTMLTemplateDataEditorPlugin::HTMLTemplateDataEditorPlugin(EditorNode *p_node) {