From 60f65d30e2146ec72b9ec63bf1f8306c9852d7a9 Mon Sep 17 00:00:00 2001 From: Ryan Fleury Date: Thu, 26 Sep 2024 16:24:47 -0700 Subject: [PATCH] populate entity deletions more urgently in watch viiew --- src/raddbg/raddbg_views.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/raddbg/raddbg_views.c b/src/raddbg/raddbg_views.c index 383ed92a..94c7ee5c 100644 --- a/src/raddbg/raddbg_views.c +++ b/src/raddbg/raddbg_views.c @@ -1621,6 +1621,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo taken = 1; state_dirty = 1; snap_to_cursor = 1; + RD_EntityList entities_to_remove = {0}; RD_WatchViewPoint next_cursor_pt = {0}; for(S64 y = selection_tbl.min.y; y <= selection_tbl.max.y; y += 1) { @@ -1644,7 +1645,7 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo RD_Entity *entity = collection_info.entity; if(!rd_entity_is_nil(entity)) { - rd_cmd(RD_CmdKind_RemoveEntity, .entity = rd_handle_from_entity(entity)); + rd_entity_list_push(scratch.arena, &entities_to_remove, entity); U64 deleted_id = collection_info.key.child_id; U64 deleted_num = collection_info.block->expand_view_rule_info->expr_expand_num_from_id(deleted_id, collection_info.block->expand_view_rule_info_user_data); if(deleted_num != 0) @@ -1722,6 +1723,10 @@ rd_watch_view_build(RD_WatchViewState *ewv, RD_WatchViewFlags flags, String8 roo #endif } } + for(RD_EntityNode *n = entities_to_remove.first; n != 0; n = n->next) + { + rd_entity_mark_for_deletion(n->entity); + } ewv->cursor = ewv->mark = ewv->next_cursor = ewv->next_mark = next_cursor_pt; }