mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-11 07:19:20 +00:00
Prevent dangling pointer
This commit is contained in:
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -60,6 +60,6 @@ namespace GraphicalUserInterface
|
||||
|
||||
Window::~Window()
|
||||
{
|
||||
delete this->mem;
|
||||
delete this->mem, this->mem = nullptr;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
Reference in New Issue
Block a user