rhi: Fix memory leak
The leak can be reproduced by running the test project from QTBUG-63557 with asan, although that report is about yet another leak. [ChangeLog][gui][QRhiGles2] Fixed a memory leak in QRhiGles2 Task-number: QTBUG-63557 Change-Id: Ic4d346abb36a5666feb3ceb881865b029f5a6945 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> (cherry picked from commit 1a63217021f35d09c92457fcad9d513f8f90bc4d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
d77722a799
commit
90fe6301ba
@ -4134,6 +4134,9 @@ QGles2Buffer::~QGles2Buffer()
|
||||
|
||||
void QGles2Buffer::destroy()
|
||||
{
|
||||
delete[] data;
|
||||
data = nullptr;
|
||||
|
||||
if (!buffer)
|
||||
return;
|
||||
|
||||
@ -4141,10 +4144,7 @@ void QGles2Buffer::destroy()
|
||||
e.type = QRhiGles2::DeferredReleaseEntry::Buffer;
|
||||
|
||||
e.buffer.buffer = buffer;
|
||||
|
||||
buffer = 0;
|
||||
delete[] data;
|
||||
data = nullptr;
|
||||
|
||||
QRHI_RES_RHI(QRhiGles2);
|
||||
rhiD->releaseQueue.append(e);
|
||||
@ -4168,6 +4168,7 @@ bool QGles2Buffer::create()
|
||||
qWarning("Uniform buffer: multiple usages specified, this is not supported by the OpenGL backend");
|
||||
return false;
|
||||
}
|
||||
delete[] data;
|
||||
data = new char[nonZeroSize];
|
||||
QRHI_PROF_F(newBuffer(this, uint(nonZeroSize), 0, 1));
|
||||
return true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user