main : Allocate rombuffer objects on stack

* Less messy, decreases chances of memory leaks

* Underlying implementation of qbytearray uses heap (hopefully?)

Signed-off-by: Madhav Kanbur <abcdjdj@gmail.com>
This commit is contained in:
Madhav Kanbur
2021-01-14 18:55:34 +05:30
parent 114fb0cba2
commit 63c58eba9a

View File

@ -1645,14 +1645,12 @@ void MainWindow::onOpenFileArchive()
return;
}
QByteArray *romBuffer = new QByteArray();
QString romFileName = pickAndExtractFileFromArchive(archiveFileName, romBuffer);
QByteArray romBuffer;
QString romFileName = pickAndExtractFileFromArchive(archiveFileName, &romBuffer);
if(!romFileName.isEmpty())
{
loadROM(romBuffer, archiveFileName, romFileName);
loadROM(&romBuffer, archiveFileName, romFileName);
}
delete romBuffer;
}
QString MainWindow::pickAndExtractFileFromArchive(QString archiveFileName, QByteArray *romBuffer)
@ -1753,14 +1751,13 @@ void MainWindow::onClickRecentFile()
{
// Archives
QString archiveFileName = fileName;
QByteArray *romBuffer = new QByteArray;
QString romFileName = MainWindow::pickAndExtractFileFromArchive(archiveFileName, romBuffer);
QByteArray romBuffer;
QString romFileName = MainWindow::pickAndExtractFileFromArchive(archiveFileName, &romBuffer);
if(!romFileName.isEmpty())
{
emuThread->emuPause();
loadROM(romBuffer, archiveFileName, romFileName);
loadROM(&romBuffer, archiveFileName, romFileName);
}
delete romBuffer;
}
}