From bfeaf27a3e41cd60ec7be4c1d88a3edd2c2a6d87 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Sat, 6 Jan 2018 19:05:34 -0300 Subject: Properly dispose of instance capture data, fixes #14795 --- servers/visual/visual_server_scene.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'servers/visual/visual_server_scene.cpp') diff --git a/servers/visual/visual_server_scene.cpp b/servers/visual/visual_server_scene.cpp index 8dbb765f1..8d8bbb881 100644 --- a/servers/visual/visual_server_scene.cpp +++ b/servers/visual/visual_server_scene.cpp @@ -659,7 +659,6 @@ void VisualServerScene::instance_set_use_lightmap(RID p_instance, RID p_lightmap Instance *instance = instance_owner.get(p_instance); ERR_FAIL_COND(!instance); - ERR_FAIL_COND(!is_geometry_instance(instance->base_type)); if (instance->lightmap_capture) { InstanceLightmapCaptureData *lightmap_capture = static_cast(((Instance *)instance->lightmap_capture)->base_data); @@ -3298,6 +3297,7 @@ bool VisualServerScene::free(RID p_rid) { Instance *instance = instance_owner.get(p_rid); + instance_set_use_lightmap(p_rid, RID(), RID()); instance_set_scenario(p_rid, RID()); instance_set_base(p_rid, RID()); instance_geometry_set_material_override(p_rid, RID()); -- cgit v1.2.3-70-g09d2