Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.7.1
-
None
-
Debian, GCC 6.2.1, Qt 5.7.1
Description
I'm using QGraphicsView with QOpenGLWidget as viewport. When using QOpenGLFramebufferObject::release() within QGraphicsItem::paint() the current OpenGL framebuffer is set to the system's default and not to the QOpenGLWidget's framebuffer.
QOpenGLWidgetPrivate::invokeUserPaint() sets a flag on QOpenGLContext before calling virtual QOpenGLWidget::paintGL(). QOpenGLContext::defaultFramebufferObject() then returns the QOpenGLWidget's framebuffer while in paintGL().
This initialization step seems to be missing when using QOpenGLWidget as viewport for QGraphicsView.