From 2973df584978d9aae6f164ce0204179c8a28b3ae Mon Sep 17 00:00:00 2001 From: 2lag <96544487+2lag@users.noreply.github.com> Date: Sat, 8 Aug 2026 17:33:36 +0200 Subject: console, textbox changes, some other shit --- src/util/allocator.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/util/allocator.h') diff --git a/src/util/allocator.h b/src/util/allocator.h index 63fc94a..5fc5aa6 100644 --- a/src/util/allocator.h +++ b/src/util/allocator.h @@ -312,14 +312,16 @@ struct LIST { if( idx >= size ) return; - if constexpr( !__is_trivially_destructible(T) ) { - data[idx].~T(); - memset( &data[idx], 0, sizeof(T) ); - } - - for( U32 i = idx; i < size - 1; i++ ) + for( U32 i = idx; i + 1 < size; ++i ) data[i] = data[i + 1]; + U32 last = size - 1; + + if constexpr( !__is_trivially_destructible(T) ) + data[last].~T(); + + memset( &data[last], 0, sizeof(T) ); + if( --size < capacity / 4 ) shrink(); } -- cgit v1.2.3