mirror of
https://github.com/GabsPuNs/Project-Zenith-Main.git
synced 2026-05-30 06:35:24 +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:
@@ -23,6 +23,18 @@ Screen::Screen() // 4J added
|
||||
clickedButton = nullptr;
|
||||
}
|
||||
|
||||
Screen::~Screen()
|
||||
{
|
||||
delete particles;
|
||||
particles = nullptr;
|
||||
|
||||
for (Button *button : buttons)
|
||||
{
|
||||
delete button;
|
||||
}
|
||||
buttons.clear();
|
||||
}
|
||||
|
||||
void Screen::render(int xm, int ym, float a)
|
||||
{
|
||||
for (Button* button : buttons)
|
||||
|
||||
Reference in New Issue
Block a user