Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.11
-
None
Description
Since deleteOrphanedTextures() is called from WaylandEglClientBuffer::toOpenGLTexture(), there will always be at least one texture remaining after all buffers have been deleted. If the context of that texture is deleted, the old texture will contain an invalid QContext pointer.
If then a new buffer is created in a new context, the next call to toOpenGLTexture() will cause the old texture to be deleted, resulting in an invalid memory read.