diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-18 03:02:36 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-05-18 03:02:36 +0200 |
commit | afca8928ce8e4113a224e57fa30a3b4bc5a2db47 (patch) | |
tree | d53331b50197b96694d2f9aa7c22a9e787f6f5e4 /src/multimediawidgets | |
parent | 26767a8ebe355f55a7fd5aaa9ec947dea1b6ce29 (diff) | |
parent | 7ef21f7ed206749252fbd03f673a8588890828b1 (diff) |
Merge remote-tracking branch 'origin/5.13' into dev
Change-Id: I82d63ba32a0c9f8b883d00ef1bd68df3a10da96c
Diffstat (limited to 'src/multimediawidgets')
-rw-r--r-- | src/multimediawidgets/qgraphicsvideoitem.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/multimediawidgets/qgraphicsvideoitem.cpp b/src/multimediawidgets/qgraphicsvideoitem.cpp index 002fc2cc2..38f5c0e5b 100644 --- a/src/multimediawidgets/qgraphicsvideoitem.cpp +++ b/src/multimediawidgets/qgraphicsvideoitem.cpp @@ -376,11 +376,15 @@ void QGraphicsVideoItem::paint( if (widget) connect(widget, SIGNAL(destroyed()), d->surface, SLOT(viewportDestroyed())); - d->surface->setGLContext(const_cast<QGLContext *>(QGLContext::currentContext())); - if (d->surface->supportedShaderTypes() & QPainterVideoSurface::GlslShader) { - d->surface->setShaderType(QPainterVideoSurface::GlslShader); - } else { - d->surface->setShaderType(QPainterVideoSurface::FragmentProgramShader); + if (painter->paintEngine()->type() == QPaintEngine::OpenGL + || painter->paintEngine()->type() == QPaintEngine::OpenGL2) + { + d->surface->setGLContext(const_cast<QGLContext *>(QGLContext::currentContext())); + if (d->surface->supportedShaderTypes() & QPainterVideoSurface::GlslShader) { + d->surface->setShaderType(QPainterVideoSurface::GlslShader); + } else { + d->surface->setShaderType(QPainterVideoSurface::FragmentProgramShader); + } } #endif if (d->rendererControl && d->rendererControl->surface() != d->surface) |