Skip to content

Commit 138e9cd

Browse files
committed
Merge branch 'main' of https://github.com/csprance/gecs
2 parents 4b6921a + 2f4f2d2 commit 138e9cd

2 files changed

Lines changed: 14 additions & 10 deletions

File tree

addons/gecs/debug/gecs_editor_debugger_tab.gd

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,7 @@ func entity_removed(ent: int, path: NodePath) -> void:
947947
var child = root.get_first_child()
948948
while child:
949949
if child.get_meta("entity_id", null) == ent:
950-
root.remove_child(child)
950+
child.free()
951951
break
952952
child = child.get_next()
953953

@@ -1084,7 +1084,7 @@ func system_last_run_data(system_id: int, system_name: String, last_run_data: Di
10841084
var prev_child = existing.get_first_child()
10851085
while prev_child:
10861086
var next_child = prev_child.get_next()
1087-
existing.remove_child(prev_child)
1087+
prev_child.free()
10881088
prev_child = next_child
10891089
# Create nested rows for key info
10901090
var ent_count = last_run_data.get("entity_count", null)
@@ -1157,7 +1157,7 @@ func entity_component_added(ent: int, comp: int, comp_path: String, data: Dictio
11571157
var prev = existing_comp_item.get_first_child()
11581158
while prev:
11591159
var nxt = prev.get_next()
1160-
existing_comp_item.remove_child(prev)
1160+
prev.free()
11611161
prev = nxt
11621162
# Update title/path with icon
11631163
var icon = ICON_FLAG if _is_flag_component(final_data) else ICON_COMPONENT
@@ -1213,7 +1213,7 @@ func entity_component_removed(ent: int, comp: int):
12131213
var comp_child = entity_item.get_first_child()
12141214
while comp_child:
12151215
if comp_child.has_meta("component_id") and comp_child.get_meta("component_id") == comp:
1216-
entity_item.remove_child(comp_child)
1216+
comp_child.free()
12171217
break
12181218
comp_child = comp_child.get_next()
12191219
# Update entity counts
@@ -1335,7 +1335,7 @@ func entity_relationship_added(ent: int, rel: int, rel_data: Dictionary):
13351335
var prev = existing_rel_item.get_first_child()
13361336
while prev:
13371337
var nxt = prev.get_next()
1338-
existing_rel_item.remove_child(prev)
1338+
prev.free()
13391339
prev = nxt
13401340
_update_relationship_item(existing_rel_item, rel_data)
13411341
else:
@@ -1414,7 +1414,7 @@ func entity_relationship_removed(ent: int, rel: int):
14141414
var rel_child = entity_item.get_first_child()
14151415
while rel_child:
14161416
if rel_child.has_meta("relationship_id") and rel_child.get_meta("relationship_id") == rel:
1417-
entity_item.remove_child(rel_child)
1417+
rel_child.free()
14181418
break
14191419
rel_child = rel_child.get_next()
14201420
# Update entity counts

addons/gecs/ecs/world.gd

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -431,10 +431,14 @@ func disable_entity(entity) -> Entity:
431431
entity_disabled.emit(entity)
432432
_worldLogger.debug("disable_entity Disabling Entity: ", entity)
433433

434-
entity.component_added.disconnect(_on_entity_component_added)
435-
entity.component_removed.disconnect(_on_entity_component_removed)
436-
entity.relationship_added.disconnect(_on_entity_relationship_added)
437-
entity.relationship_removed.disconnect(_on_entity_relationship_removed)
434+
if entity.component_added.is_connected(_on_entity_component_added):
435+
entity.component_added.disconnect(_on_entity_component_added)
436+
if entity.component_removed.is_connected(_on_entity_component_removed):
437+
entity.component_removed.disconnect(_on_entity_component_removed)
438+
if entity.relationship_added.is_connected(_on_entity_relationship_added):
439+
entity.relationship_added.disconnect(_on_entity_relationship_added)
440+
if entity.relationship_removed.is_connected(_on_entity_relationship_removed):
441+
entity.relationship_removed.disconnect(_on_entity_relationship_removed)
438442
entity.on_disable()
439443
entity.set_process(false)
440444
entity.set_physics_process(false)

0 commit comments

Comments
 (0)