summaryrefslogtreecommitdiffstats
path: root/src/multimediawidgets
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-14 03:02:36 +0200
committerQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2019-05-14 03:02:36 +0200
commit7ef21f7ed206749252fbd03f673a8588890828b1 (patch)
treecfba547a521bc5f5c2ccbf829a1f0f0830620fee /src/multimediawidgets
parent268d78ca745bf7d54545e51a4f22e2fa24a8675c (diff)
parent333aecfd4190b067f29332d3a5087530d92d59b3 (diff)
Merge remote-tracking branch 'origin/5.12' into 5.13
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)