Check whether current context can be obtained when deleting textures.
Add a warning in that case. Task-number: QTBUG-41966 Change-Id: I491ee9e13c9504040ab789951656983a736d9203 Reviewed-by: Yoann Lopes <yoann.lopes@theqtcompany.com>
This commit is contained in:
@@ -184,8 +184,12 @@ D3DPresentEngine::~D3DPresentEngine()
|
||||
m_egl->destroySurface(m_eglDisplay, m_eglSurface);
|
||||
m_eglSurface = NULL;
|
||||
}
|
||||
if (m_glTexture)
|
||||
QOpenGLContext::currentContext()->functions()->glDeleteTextures(1, &m_glTexture);
|
||||
if (m_glTexture) {
|
||||
if (QOpenGLContext *current = QOpenGLContext::currentContext())
|
||||
current->functions()->glDeleteTextures(1, &m_glTexture);
|
||||
else
|
||||
qWarning() << "D3DPresentEngine: Cannot obtain GL context, unable to delete textures";
|
||||
}
|
||||
|
||||
delete m_glContext;
|
||||
delete m_offscreenSurface;
|
||||
|
||||
@@ -227,8 +227,12 @@ QSGVideoMaterial_YUV420::QSGVideoMaterial_YUV420(const QVideoSurfaceFormat &form
|
||||
|
||||
QSGVideoMaterial_YUV420::~QSGVideoMaterial_YUV420()
|
||||
{
|
||||
if (!m_textureSize.isEmpty())
|
||||
QOpenGLContext::currentContext()->functions()->glDeleteTextures(Num_Texture_IDs, m_textureIds);
|
||||
if (!m_textureSize.isEmpty()) {
|
||||
if (QOpenGLContext *current = QOpenGLContext::currentContext())
|
||||
current->functions()->glDeleteTextures(Num_Texture_IDs, m_textureIds);
|
||||
else
|
||||
qWarning() << "QSGVideoMaterial_YUV420: Cannot obtain GL context, unable to delete textures";
|
||||
}
|
||||
}
|
||||
|
||||
void QSGVideoMaterial_YUV420::bind()
|
||||
|
||||
Reference in New Issue
Block a user