diff --git a/src/df/core/df_core.c b/src/df/core/df_core.c index dc50f562..fbf10fc5 100644 --- a/src/df/core/df_core.c +++ b/src/df/core/df_core.c @@ -6705,7 +6705,7 @@ df_core_begin_frame(Arena *arena, DF_CmdList *cmds, F32 dt) } //- rjf: clear members cache - if(df_state->member_cache_reggen_idx && !df_ctrl_targets_running()) + if(df_state->member_cache_reggen_idx != new_reggen_idx && !df_ctrl_targets_running()) { DF_RunLocalsCache *cache = &df_state->member_cache; arena_clear(cache->arena); diff --git a/src/eval/eval_parser.c b/src/eval/eval_parser.c index 364e61d4..c999fd5f 100644 --- a/src/eval/eval_parser.c +++ b/src/eval/eval_parser.c @@ -96,7 +96,7 @@ eval_string2num_map_insert(Arena *arena, EVAL_String2NumMap *map, String8 string { EVAL_String2NumMapNode *node = push_array(arena, EVAL_String2NumMapNode, 1); SLLQueuePush(map->slots[slot_idx].first, map->slots[slot_idx].last, node); - node->string = string; + node->string = push_str8_copy(arena, string); node->num = num; } }