In function QWindow::destroy() the platformWindow is destroyed (QEglFSWindow in this case), but after that the QSurface destructor is called (qsurface.cpp:127), where access to the opengl context is performed (QOpenGLContext::currentContext()->doneCurrent()). Therefore the surface pointer is deleted earlier (gbm_surface_destroy) than the working with it (eglMakeCurrent) is finished. But the event QPlatformSurfaceEvent, that is sent before deleting platformWindow, isn't processed (qwindow.cpp:1665), though we can perform doneCurrent() in the handler of QPlatformSurfaceEvent. The full description with valgrind stacks on bugreports. Task-number: QTBUG-52399 Change-Id: I69035dfd8ba5b5eeec243bc0edd3f571dc9525f9 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com> |
||
|---|---|---|
| .. | ||
| accessible | ||
| animation | ||
| doc | ||
| image | ||
| itemmodels | ||
| kernel | ||
| math3d | ||
| opengl | ||
| painting | ||
| text | ||
| util | ||
| Qt5GuiConfigExtras.cmake.in | ||
| QtGui.dynlist | ||
| gui.pro | ||