Fix crash duplicating local-to-scene resources

This commit is contained in:
Pedro J. Estébanez 2020-11-18 23:45:30 +01:00
parent a3a3b02bed
commit e99cf6bfe5

View file

@ -147,8 +147,8 @@ Ref<Resource> Resource::duplicate_for_local_scene(Node *p_for_scene, Map<Ref<Res
List<PropertyInfo> plist; List<PropertyInfo> plist;
get_property_list(&plist); get_property_list(&plist);
Resource *r = Object::cast_to<Resource>(ClassDB::instance(get_class())); Ref<Resource> r = Object::cast_to<Resource>(ClassDB::instance(get_class()));
ERR_FAIL_COND_V(!r, Ref<Resource>()); ERR_FAIL_COND_V(r.is_null(), Ref<Resource>());
r->local_scene = p_for_scene; r->local_scene = p_for_scene;
@ -175,9 +175,7 @@ Ref<Resource> Resource::duplicate_for_local_scene(Node *p_for_scene, Map<Ref<Res
r->set(E->get().name, p); r->set(E->get().name, p);
} }
RES res = Ref<Resource>(r); return r;
return res;
} }
void Resource::configure_for_local_scene(Node *p_for_scene, Map<Ref<Resource>, Ref<Resource>> &remap_cache) { void Resource::configure_for_local_scene(Node *p_for_scene, Map<Ref<Resource>, Ref<Resource>> &remap_cache) {