mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-07-17 10:08:08 +00:00
Fix multiple memory leaks and stale pooled allocations
* Fix Vec3/AABB pool reset logic
* resetPool()/clearPool() now reset poolPointer to 0
* Prevents endless pool growth, invalid temporary references,
and increasing memory usage
* Resolves the leaderboard-related crash mentioned in
Windows64_Minecraft.cpp
* Properly free old screens in Minecraft::setScreen()
* Added virtual destructor to Screen
* Screen destructor now cleans up GuiParticles and Buttons
* Previous screen is now deleted after screen transitions
* Screen::init() now clears old buttons/particles before re-init
* Fix GuiParticles memory leak
* Removed GuiParticle instances are now deleted in tick()
* Added GuiParticles destructor to free remaining particles
This commit is contained in:
@@ -504,9 +504,10 @@ LevelStorageSource *Minecraft::getLevelSource()
|
||||
|
||||
void Minecraft::setScreen(Screen *screen)
|
||||
{
|
||||
if (this->screen != nullptr)
|
||||
Screen *oldScreen = this->screen;
|
||||
if (oldScreen != nullptr)
|
||||
{
|
||||
this->screen->removed();
|
||||
oldScreen->removed();
|
||||
}
|
||||
|
||||
#ifdef _WINDOWS64
|
||||
|
||||
Reference in New Issue
Block a user