summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-18 03:02:36 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-18 03:02:36 +0200
commitafca8928ce8e4113a224e57fa30a3b4bc5a2db47 (patch)
treed53331b50197b96694d2f9aa7c22a9e787f6f5e4 /src/multimediawidgets
parent26767a8ebe355f55a7fd5aaa9ec947dea1b6ce29 (diff)
parent7ef21f7ed206749252fbd03f673a8588890828b1 (diff)
Merge remote-tracking branch 'origin/5.13' into dev
Diffstat (limited to 'src/multimediawidgets')
-rw-r--r--src/multimediawidgets/qgraphicsvideoitem.cpp14
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)