diff -r 56cd8111b7f7 -r 41300fa6a67c src/3rdparty/phonon/ds9/videorenderer_soft.cpp --- a/src/3rdparty/phonon/ds9/videorenderer_soft.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/3rdparty/phonon/ds9/videorenderer_soft.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -661,7 +661,10 @@ #ifndef QT_NO_OPENGL - if (painter.paintEngine() && painter.paintEngine()->type() == QPaintEngine::OpenGL && checkGLPrograms()) { + if (painter.paintEngine() && + (painter.paintEngine()->type() == QPaintEngine::OpenGL || painter.paintEngine()->type() == QPaintEngine::OpenGL2) + && checkGLPrograms()) { + //for now we only support YUV (both YV12 and YUY2) updateTexture(); @@ -673,6 +676,7 @@ } //let's draw the texture + painter.beginNativePainting(); //Let's pass the other arguments const Program prog = (m_inputPin->connectedType().subtype == MEDIASUBTYPE_YV12) ? YV12toRGB : YUY2toRGB; @@ -722,6 +726,7 @@ glDisableClientState(GL_VERTEX_ARRAY); glDisable(GL_FRAGMENT_PROGRAM_ARB); + painter.endNativePainting(); return; } else #endif