Prevent dangling pointer

This commit is contained in:
Alex
2023-03-14 06:24:02 +02:00
parent 855384aead
commit d7c9b7ab02
23 changed files with 91 additions and 90 deletions

View File

@ -636,11 +636,11 @@ namespace GraphicalUserInterface
GUI::~GUI()
{
delete this->mem;
delete this->BackBuffer;
delete this->DesktopBuffer;
delete this->OverlayBuffer;
delete this->CursorBuffer;
delete this->mem, this->mem = nullptr;
delete this->BackBuffer, this->BackBuffer = nullptr;
delete this->DesktopBuffer, this->DesktopBuffer = nullptr;
delete this->OverlayBuffer, this->OverlayBuffer = nullptr;
delete this->CursorBuffer, this->CursorBuffer = nullptr;
Display->DeleteBuffer(200);
for (size_t i = 0; i < this->Windows.size(); i++)
this->Windows.remove(i);

View File

@ -57,7 +57,8 @@ namespace GraphicalUserInterface
LastHeight = ((Window *)this->ParentWindow)->GetPosition().Height;
this->mem->FreePages(this->Buffer->Data, TO_PAGES(this->Buffer->Size));
delete this->Buffer;
this->Buffer->Data = nullptr;
delete this->Buffer, this->Buffer = nullptr;
this->Buffer = new ScreenBitmap;
this->Buffer->Width = LastWidth;

View File

@ -117,8 +117,8 @@ namespace GraphicalUserInterface
WidgetCollection::~WidgetCollection()
{
delete this->mem;
delete this->Buffer;
delete this->CurrentFont;
delete this->mem, this->mem = nullptr;
delete this->Buffer, this->Buffer = nullptr;
delete this->CurrentFont, this->CurrentFont = nullptr;
}
}

View File

@ -60,6 +60,6 @@ namespace GraphicalUserInterface
Window::~Window()
{
delete this->mem;
delete this->mem, this->mem = nullptr;
}
}

View File

@ -15,7 +15,8 @@ namespace GraphicalUserInterface
{
// TODO: Optimize this
this->mem->FreePages(this->Buffer->Data, TO_PAGES(this->Buffer->Size));
delete this->Buffer;
this->Buffer->Data = nullptr;
delete this->Buffer, this->Buffer = nullptr;
this->Buffer = new ScreenBitmap;
this->Buffer->Width = e->Resize.Width;