Hello community,

here is the log from the commit of package QMPlay2 for openSUSE:Factory checked 
in at 2016-01-01 19:48:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/QMPlay2 (Old)
 and      /work/SRC/openSUSE:Factory/.QMPlay2.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "QMPlay2"

Changes:
--------
--- /work/SRC/openSUSE:Factory/QMPlay2/QMPlay2.changes  2015-12-21 
12:07:26.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.QMPlay2.new/QMPlay2.changes     2016-01-01 
19:51:04.000000000 +0100
@@ -1,0 +2,16 @@
+Mon Dec 28 19:28:38 UTC 2015 - [email protected]
+
+- Update to 15.12.25:
+  * KF5 Breeze style fixes in full screen;
+  * OpenGL 2 bugfix.
+- New requirements recommended by upstream.
+- Removed QMPlay2-Qt51.diff.
+
+-------------------------------------------------------------------
+Tue Dec 22 18:30:12 UTC 2015 - [email protected]
+
+- Added QMPlay2-Qt51.diff to fix openSUSE 13.1' default Qt 5.1
+  build issue.
+- Fixed translations absence.
+
+-------------------------------------------------------------------

Old:
----
  QMPlay2-src-15.12.06.tar.xz

New:
----
  QMPlay2-src-15.12.25.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ QMPlay2.spec ++++++
--- /var/tmp/diff_new_pack.1MWu0j/_old  2016-01-01 19:51:05.000000000 +0100
+++ /var/tmp/diff_new_pack.1MWu0j/_new  2016-01-01 19:51:05.000000000 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           QMPlay2
-Version:        15.12.06
+Version:        15.12.25
 Release:        0
 Summary:        A Qt based media player, streamer and downloader
 License:        LGPL-3.0+
@@ -26,6 +26,9 @@
 Source:         
http://kent.dl.sourceforge.net/project/zaps166/QMPlay2/QMPlay2-src-%{version}.tar.xz
 
 BuildRequires:  libXv-devel
+%if 0%{?suse_version} > 1310
+BuildRequires:  libqt5-linguist
+%endif
 BuildRequires:  portaudio-devel
 BuildRequires:  pkgconfig(Qt5DBus)
 BuildRequires:  pkgconfig(Qt5Network)
@@ -39,7 +42,9 @@
 BuildRequires:  pkgconfig(libavutil)
 BuildRequires:  pkgconfig(libcddb)
 BuildRequires:  pkgconfig(libcdio)
+BuildRequires:  pkgconfig(libgme)
 BuildRequires:  pkgconfig(libpulse)
+BuildRequires:  pkgconfig(libsidplayfp)
 BuildRequires:  pkgconfig(libswresample)
 BuildRequires:  pkgconfig(libswscale)
 BuildRequires:  pkgconfig(libva)

++++++ QMPlay2-src-15.12.06.tar.xz -> QMPlay2-src-15.12.25.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/ChangeLog 
new/QMPlay2-src-15.12.25/ChangeLog
--- old/QMPlay2-src-15.12.06/ChangeLog  2015-12-06 20:42:38.000000000 +0100
+++ new/QMPlay2-src-15.12.25/ChangeLog  2015-12-25 22:11:25.000000000 +0100
@@ -1,3 +1,8 @@
+Changes in QMPlay2 build 15.12.25:
+       - KF5 Breeze style fixes in full screen,
+       - Qt5 <= 5.2 compilation fixes,
+       - OpenGL 2 bugfix,
+
 Changes in QMPlay2 build 15.12.06:
        - support for HEVC, VP8 and VP9 decoding in VA-API (depending on FFmpeg 
version),
        - setting priorities of decoders and A/V outputs is now more convenient,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/README.md 
new/QMPlay2-src-15.12.25/README.md
--- old/QMPlay2-src-15.12.06/README.md  2015-12-05 22:57:36.000000000 +0100
+++ new/QMPlay2-src-15.12.25/README.md  2015-12-06 23:46:39.000000000 +0100
@@ -1,4 +1,4 @@
-#QMPlay2 - QT Media Player 2
+#QMPlay2 - Qt Media Player 2
 
 >QMPlay2 is a video and audio player. It can play all formats supported by 
 >FFmpeg, libmodplug (including J2B and SFX). It also supports Audio CD, raw 
 >files, Rayman 2 music and chiptunes. It contains YouTube and Prostopleer 
 >browser.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/Main.cpp 
new/QMPlay2-src-15.12.25/src/gui/Main.cpp
--- old/QMPlay2-src-15.12.06/src/gui/Main.cpp   2015-12-04 02:16:58.000000000 
+0100
+++ new/QMPlay2-src-15.12.25/src/gui/Main.cpp   2015-12-25 18:33:56.000000000 
+0100
@@ -55,7 +55,7 @@
                defaultModules << "OpenGL 2" << "DirectDraw";
 #elif defined Q_OS_ANDROID
        if ( type == "videoWriters" )
-               defaultModules << "QPainter";
+               defaultModules << "QPainter" << "OpenGL 2";
 #endif
        QStringList availableModules;
        const QString moduleType = type.mid( 0, typeLen );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoDock.cpp 
new/QMPlay2-src-15.12.25/src/gui/VideoDock.cpp
--- old/QMPlay2-src-15.12.06/src/gui/VideoDock.cpp      2015-12-03 
01:20:08.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/gui/VideoDock.cpp      2015-12-25 
22:10:31.000000000 +0100
@@ -7,6 +7,7 @@
 #include <Functions.hpp>
 #include <SubsDec.hpp>
 
+#include <QApplication>
 #include <QMouseEvent>
 #include <QFileInfo>
 #include <QMimeData>
@@ -60,6 +61,9 @@
        connect( &iDW, SIGNAL( resized( int, int ) ), this, SLOT( resizedIDW( 
int, int ) ) );
        connect( this, SIGNAL( visibilityChanged( bool ) ), this, SLOT( 
visibilityChanged( bool ) ) );
        connect( &QMPlay2Core, SIGNAL( dockVideo( QWidget * ) ), &iDW, SLOT( 
setWidget( QWidget * ) ) );
+
+       if ( ( isBreeze = qApp->style()->objectName() == "breeze" ) )
+               setStyle( &commonStyle );
 }
 
 void VideoDock::fullScreen( bool b )
@@ -72,7 +76,8 @@
                setFeatures( DockWidget::NoDockWidgetFeatures );
                setFloating( false );
 
-               setStyle( &commonStyle );
+               if ( !isBreeze )
+                       setStyle( &commonStyle );
        }
        else
        {
@@ -91,7 +96,8 @@
                setFeatures( DockWidget::AllDockWidgetFeatures );
                setFloating( is_floating );
 
-               setStyle( NULL );
+               if ( !isBreeze )
+                       setStyle( NULL );
        }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoDock.hpp 
new/QMPlay2-src-15.12.25/src/gui/VideoDock.hpp
--- old/QMPlay2-src-15.12.06/src/gui/VideoDock.hpp      2015-10-17 
20:25:48.000000000 +0200
+++ new/QMPlay2-src-15.12.25/src/gui/VideoDock.hpp      2015-12-25 
22:10:23.000000000 +0100
@@ -47,7 +47,7 @@
        QMenu *popupMenu;
        QCommonStyle commonStyle;
        int pixels;
-       bool canPopup, is_floating;
+       bool canPopup, is_floating, isBreeze;
        double touchZoom;
 private slots:
        void popup( const QPoint & );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/QMPlay2-src-15.12.06/src/gui/VideoThr.cpp 
new/QMPlay2-src-15.12.25/src/gui/VideoThr.cpp
--- old/QMPlay2-src-15.12.06/src/gui/VideoThr.cpp       2015-11-29 
15:58:40.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/gui/VideoThr.cpp       2015-12-23 
01:05:53.000000000 +0100
@@ -476,6 +476,9 @@
 }
 
 #if defined(Q_WS_X11) || defined(X11_EXTRAS)
+       #ifdef X11_EXTRAS
+               #include <QGuiApplication>
+       #endif
        #include <QX11Info>
        #include <X11/Xlib.h>
 #endif
@@ -483,7 +486,7 @@
 void VideoThr::write_slot( const QByteArray &frame )
 {
 #ifdef X11_EXTRAS
-       if ( QX11Info::isPlatformX11() )
+       if ( QGuiApplication::platformName() == "xcb" )
 #endif
 #if defined(Q_WS_X11) || defined(X11_EXTRAS)
                XResetScreenSaver( QX11Info::display() );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.cpp 
new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.cpp
--- old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.cpp      
2015-12-02 21:30:24.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.cpp      
2015-12-25 19:36:48.000000000 +0100
@@ -3,12 +3,10 @@
 #include <QMPlay2_OSD.hpp>
 #include <Functions.hpp>
 
-#ifndef USE_NEW_OPENGL_API
-       #include <QGLShaderProgram>
-#else
-       #include <QOpenGLShaderProgram>
+#ifdef USE_NEW_OPENGL_API
        #include <QOpenGLContext>
 #endif
+
 #include <QPainter>
 
 #if !defined OPENGL_ES2 && !defined Q_OS_MAC
@@ -131,12 +129,13 @@
 Drawable::Drawable( OpenGL2Writer &writer ) :
 #endif
        isOK( true ), paused( false ),
-       shaderProgramYCbCr( NULL ), shaderProgramOSD( NULL ),
 #ifndef OPENGL_ES2
+       supportsShaders( false ), canCreateNonPowerOfTwoTextures( false ),
        glActiveTexture( NULL ),
 #endif
        writer( writer ),
-       hasImage( false )
+       hasImage( false ),
+       texCoordYCbCrLoc( -1 ), positionYCbCrLoc( -1 ), texCoordOSDLoc( -1 ), 
positionOSDLoc( -1 )
 {
        grabGesture( Qt::PinchGesture );
        setMouseTracking( true );
@@ -160,15 +159,41 @@
 }
 
 #ifndef USE_NEW_OPENGL_API
-bool Drawable::init()
+bool Drawable::testGL()
 {
        makeCurrent();
        if ( ( isOK = isValid() ) )
-               glInit();
+       {
+#ifndef OPENGL_ES2
+               initGLProc();
+               if ( !canCreateNonPowerOfTwoTextures || !supportsShaders || 
!glActiveTexture )
+               {
+                       showOpenGLMissingFeaturesMessage();
+                       isOK = false;
+               }
+               /* Reset variables */
+               supportsShaders = canCreateNonPowerOfTwoTextures = false;
+               glActiveTexture = NULL;
+#endif
+       }
        doneCurrent();
        return isOK;
 }
 #endif
+
+#ifndef OPENGL_ES2
+void Drawable::initGLProc()
+{
+       const char *glExtensions = ( const char * )glGetString( GL_EXTENSIONS );
+       if ( glExtensions )
+       {
+               supportsShaders = !!strstr( glExtensions, 
"GL_ARB_vertex_shader" ) && !!strstr( glExtensions, "GL_ARB_fragment_shader" ) 
&& !!strstr( glExtensions, "GL_ARB_shader_objects" );
+               canCreateNonPowerOfTwoTextures = !!strstr( glExtensions, 
"GL_ARB_texture_non_power_of_two" );
+       }
+       glActiveTexture = ( GLActiveTexture )context()->getProcAddress( 
"glActiveTexture" );
+}
+#endif
+
 void Drawable::clr()
 {
        hasImage = false;
@@ -199,6 +224,23 @@
 }
 #endif
 
+#ifndef OPENGL_ES2
+void Drawable::showOpenGLMissingFeaturesMessage()
+{
+       fprintf
+       (
+               stderr,
+               "GL_ARB_texture_non_power_of_two : %s\n"
+               "Vertex & fragment shader: %s\n"
+               "glActiveTexture: %s\n",
+               canCreateNonPowerOfTwoTextures ? "yes" : "no",
+               supportsShaders ? "yes" : "no",
+               glActiveTexture ? "yes" : "no"
+       );
+       QMPlay2Core.logError( "OpenGL 2 :: " + tr( "Sterownik musi obsługiwać 
multiteksturowanie, shadery oraz tekstury o dowolnym rozmiarze" ), true, true );
+}
+#endif
+
 void Drawable::initializeGL()
 {
        int glMajor = 0, glMinor = 0;
@@ -223,65 +265,39 @@
                glVer = "2";
 
 #ifndef OPENGL_ES2
-       bool supportsShaders = false, canCreateNonPowerOfTwoTextures = false;
-       const char *glExtensions = ( const char * )glGetString( GL_EXTENSIONS );
-       if ( glExtensions )
+       initGLProc();
+#ifndef USE_NEW_OPENGL_API
+       if ( !glActiveTexture ) //Be sure that "glActiveTexture" has valid 
pointer (don't check "supportsShaders" here)!
+#else
+       if ( !glActiveTexture || !canCreateNonPowerOfTwoTextures || 
!supportsShaders ) //"testGL()" doesn't work with "USE_NEW_OPENGL_API", so 
check features here!
+#endif
        {
-               supportsShaders = !!strstr( glExtensions, 
"GL_ARB_vertex_shader" ) && !!strstr( glExtensions, "GL_ARB_fragment_shader" ) 
&& !!strstr( glExtensions, "GL_ARB_shader_objects" );
-               canCreateNonPowerOfTwoTextures = !!strstr( glExtensions, 
"GL_ARB_texture_non_power_of_two" );
-       }
-       glActiveTexture = ( GLActiveTexture )context()->getProcAddress( 
"glActiveTexture" );
-
-       if
-       (
-               !canCreateNonPowerOfTwoTextures ||
-               !supportsShaders                ||
-               !glActiveTexture
-       )
-       {
-               /*
-                * If shader programs are already exists, new context was 
created without shaders support...
-                * So the GPU/driver supports this feature and this is 
workaround for this strange behaviour.
-               */
-               if ( shaderProgramYCbCr && shaderProgramOSD && !supportsShaders 
)
-                       fprintf( stderr, "Shaders are already created and now 
they are not supported... Initialization is ignored.\n" );
-               else
-               {
-                       fprintf
-                       (
-                               stderr,
-                               "GL_ARB_texture_non_power_of_two : %s\n"
-                               "Vertex & fragment shader: %s\n"
-                               "glActiveTexture: %s\n",
-                               canCreateNonPowerOfTwoTextures ? "yes" : "no",
-                               supportsShaders ? "yes" : "no",
-                               glActiveTexture ? "yes" : "no"
-                       );
-                       QMPlay2Core.logError( "OpenGL 2 :: " + tr( "Sterownik 
musi obsługiwać multiteksturowanie, shadery oraz tekstury o dowolnym rozmiarze" 
), true, true );
-                       isOK = false;
-               }
+               showOpenGLMissingFeaturesMessage();
+               isOK = false;
                return;
        }
 #endif
 
-       delete shaderProgramYCbCr;
-       delete shaderProgramOSD;
-       shaderProgramYCbCr = new QGLShaderProgram( this );
-       shaderProgramOSD = new QGLShaderProgram( this );
-
-       /* YCbCr shader, use hue only when OpenGL/OpenGL|ES version >= 3.0, 
because it can be slow on old hardware and/or buggy drivers and may increase 
CPU usage! */
-       shaderProgramYCbCr->addShaderFromSourceCode( QGLShader::Vertex, 
QString( vShaderYCbCrSrc ).arg( precisionStr ) );
-       shaderProgramYCbCr->addShaderFromSourceCode( QGLShader::Fragment, 
QString( fShaderYCbCrSrc ).arg( precisionStr ).arg( (glMajor * 10 + glMinor >= 
30) ? fShaderYCbCrHueSrc : "" ) );
-       if ( shaderProgramYCbCr->bind() )
-       {
-               texCoordYCbCrLoc = shaderProgramYCbCr->attributeLocation( 
"aTexCoord" );
-               positionYCbCrLoc = shaderProgramYCbCr->attributeLocation( 
"vPosition" );
-
-               shaderProgramYCbCr->setUniformValue( "Ytex", 0 );
-               shaderProgramYCbCr->setUniformValue( "Utex", 1 );
-               shaderProgramYCbCr->setUniformValue( "Vtex", 2 );
-
-               shaderProgramYCbCr->release();
+       /* YCbCr shader */
+       if ( shaderProgramYCbCr.shaders().isEmpty() )
+       {
+               shaderProgramYCbCr.addShaderFromSourceCode( QGLShader::Vertex, 
QString( vShaderYCbCrSrc ).arg( precisionStr ) );
+               /* Use hue only when OpenGL/OpenGL|ES version >= 3.0, because 
it can be slow on old hardware and/or buggy drivers and may increase CPU usage! 
*/
+               shaderProgramYCbCr.addShaderFromSourceCode( 
QGLShader::Fragment, QString( fShaderYCbCrSrc ).arg( precisionStr ).arg( 
(glMajor * 10 + glMinor >= 30) ? fShaderYCbCrHueSrc : "" ) );
+       }
+       if ( shaderProgramYCbCr.bind() )
+       {
+               const qint32 newTexCoordLoc = 
shaderProgramYCbCr.attributeLocation( "aTexCoord" );
+               const qint32 newPositionLoc = 
shaderProgramYCbCr.attributeLocation( "vPosition" );
+               if ( newTexCoordLoc != newPositionLoc ) //If new locations are 
invalid, just leave them untouched...
+               {
+                       texCoordYCbCrLoc = newTexCoordLoc;
+                       positionYCbCrLoc = newPositionLoc;
+               }
+               shaderProgramYCbCr.setUniformValue( "Ytex", 0 );
+               shaderProgramYCbCr.setUniformValue( "Utex", 1 );
+               shaderProgramYCbCr.setUniformValue( "Vtex", 2 );
+               shaderProgramYCbCr.release();
        }
        else
        {
@@ -291,16 +307,22 @@
        }
 
        /* OSD shader */
-       shaderProgramOSD->addShaderFromSourceCode( QGLShader::Vertex, QString( 
vShaderOSDSrc ).arg( precisionStr ) );
-       shaderProgramOSD->addShaderFromSourceCode( QGLShader::Fragment, 
QString( fShaderOSDSrc ).arg( precisionStr ) );
-       if ( shaderProgramOSD->bind() )
+       if ( shaderProgramOSD.shaders().isEmpty() )
        {
-               texCoordOSDLoc = shaderProgramOSD->attributeLocation( 
"aTexCoord" );
-               positionOSDLoc = shaderProgramOSD->attributeLocation( 
"vPosition" );
-
-               shaderProgramOSD->setUniformValue( "tex", 3 );
-
-               shaderProgramOSD->release();
+               shaderProgramOSD.addShaderFromSourceCode( QGLShader::Vertex, 
QString( vShaderOSDSrc ).arg( precisionStr ) );
+               shaderProgramOSD.addShaderFromSourceCode( QGLShader::Fragment, 
QString( fShaderOSDSrc ).arg( precisionStr ) );
+       }
+       if ( shaderProgramOSD.bind() )
+       {
+               const qint32 newTexCoordLoc = 
shaderProgramYCbCr.attributeLocation( "aTexCoord" );
+               const qint32 newPositionLoc = 
shaderProgramYCbCr.attributeLocation( "vPosition" );
+               if ( newTexCoordLoc != newPositionLoc ) //If new locations are 
invalid, just leave them untouched...
+               {
+                       texCoordOSDLoc = newTexCoordLoc;
+                       positionOSDLoc = newPositionLoc;
+               }
+               shaderProgramOSD.setUniformValue( "tex", 3 );
+               shaderProgramOSD.release();
        }
        else
        {
@@ -414,23 +436,23 @@
                hasImage = true;
        }
 
-       shaderProgramYCbCr->setAttributeArray( positionYCbCrLoc, verticesYCbCr[ 
writer.flip ], 2 );
-       shaderProgramYCbCr->setAttributeArray( texCoordYCbCrLoc, texCoordYCbCr, 
2 );
-       shaderProgramYCbCr->enableAttributeArray( positionYCbCrLoc );
-       shaderProgramYCbCr->enableAttributeArray( texCoordYCbCrLoc );
+       shaderProgramYCbCr.setAttributeArray( positionYCbCrLoc, verticesYCbCr[ 
writer.flip ], 2 );
+       shaderProgramYCbCr.setAttributeArray( texCoordYCbCrLoc, texCoordYCbCr, 
2 );
+       shaderProgramYCbCr.enableAttributeArray( positionYCbCrLoc );
+       shaderProgramYCbCr.enableAttributeArray( texCoordYCbCrLoc );
 
-       shaderProgramYCbCr->bind();
+       shaderProgramYCbCr.bind();
        if ( doReset )
        {
-               shaderProgramYCbCr->setUniformValue( "scale", W / ( float 
)width(), H / ( float )height() );
-               shaderProgramYCbCr->setUniformValue( "videoEq", Brightness, 
Contrast, Saturation, Hue );
+               shaderProgramYCbCr.setUniformValue( "scale", W / ( float 
)width(), H / ( float )height() );
+               shaderProgramYCbCr.setUniformValue( "videoEq", Brightness, 
Contrast, Saturation, Hue );
                doReset = !resetDone;
        }
        glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
-       shaderProgramYCbCr->release();
+       shaderProgramYCbCr.release();
 
-       shaderProgramYCbCr->disableAttributeArray( texCoordYCbCrLoc );
-       shaderProgramYCbCr->disableAttributeArray( positionYCbCrLoc );
+       shaderProgramYCbCr.disableAttributeArray( texCoordYCbCrLoc );
+       shaderProgramYCbCr.disableAttributeArray( positionYCbCrLoc );
 
        glActiveTexture( GL_TEXTURE3 );
 
@@ -467,19 +489,19 @@
                        right - 1.0f, -top    + 1.0f,
                };
 
-               shaderProgramOSD->setAttributeArray( positionOSDLoc, 
verticesOSD, 2 );
-               shaderProgramOSD->setAttributeArray( texCoordOSDLoc, 
texCoordOSD, 2 );
-               shaderProgramOSD->enableAttributeArray( positionOSDLoc );
-               shaderProgramOSD->enableAttributeArray( texCoordOSDLoc );
+               shaderProgramOSD.setAttributeArray( positionOSDLoc, 
verticesOSD, 2 );
+               shaderProgramOSD.setAttributeArray( texCoordOSDLoc, 
texCoordOSD, 2 );
+               shaderProgramOSD.enableAttributeArray( positionOSDLoc );
+               shaderProgramOSD.enableAttributeArray( texCoordOSDLoc );
 
                glEnable( GL_BLEND );
-               shaderProgramOSD->bind();
+               shaderProgramOSD.bind();
                glDrawArrays( GL_TRIANGLE_STRIP, 0, 4 );
-               shaderProgramOSD->release();
+               shaderProgramOSD.release();
                glDisable( GL_BLEND );
 
-               shaderProgramOSD->disableAttributeArray( texCoordOSDLoc );
-               shaderProgramOSD->disableAttributeArray( positionOSDLoc );
+               shaderProgramOSD.disableAttributeArray( texCoordOSDLoc );
+               shaderProgramOSD.disableAttributeArray( positionOSDLoc );
        }
        osd_mutex.unlock();
 
@@ -633,7 +655,7 @@
        fmt.setDepth( false );
        fmt.setStencil( false );
        drawable = new Drawable( *this, fmt );
-       return drawable->init();
+       return drawable->testGL();
 #else
        drawable = new Drawable( *this );
        return true;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.hpp 
new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.hpp
--- old/QMPlay2-src-15.12.06/src/modules/OpenGL2/OpenGL2Writer.hpp      
2015-11-29 22:23:12.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/modules/OpenGL2/OpenGL2Writer.hpp      
2015-12-25 18:01:48.000000000 +0100
@@ -3,11 +3,12 @@
 
 #ifndef USE_NEW_OPENGL_API
        #include <QGLWidget>
+       #include <QGLShaderProgram>
 #else
        #include <QOpenGLWidget>
+       #include <QOpenGLShaderProgram>
 #endif
 
-class QGLShaderProgram;
 class OpenGL2Writer;
 class QMPlay2_OSD;
 
@@ -20,11 +21,15 @@
 public:
 #ifndef USE_NEW_OPENGL_API
        Drawable( OpenGL2Writer &, const QGLFormat & );
-       bool init();
+       bool testGL();
 #else
        Drawable( OpenGL2Writer & );
 #endif
 
+#ifndef OPENGL_ES2
+       void initGLProc();
+#endif
+
        void clr();
 
        void resizeEvent( QResizeEvent * );
@@ -40,6 +45,10 @@
        void resetClearCounter();
 #endif
 private:
+#ifndef OPENGL_ES2
+       void showOpenGLMissingFeaturesMessage();
+#endif
+
        void initializeGL();
 #ifndef USE_NEW_OPENGL_API
        void resizeGL( int w, int h );
@@ -51,8 +60,9 @@
 #endif
        bool event( QEvent * );
 
-       QGLShaderProgram *shaderProgramYCbCr, *shaderProgramOSD;
+       QGLShaderProgram shaderProgramYCbCr, shaderProgramOSD;
 #ifndef OPENGL_ES2
+       bool supportsShaders, canCreateNonPowerOfTwoTextures;
        GLActiveTexture glActiveTexture;
 #endif
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/QMPlay2-src-15.12.06/src/qmplay2/headers/Functions.hpp 
new/QMPlay2-src-15.12.25/src/qmplay2/headers/Functions.hpp
--- old/QMPlay2-src-15.12.06/src/qmplay2/headers/Functions.hpp  2015-12-03 
20:21:58.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/qmplay2/headers/Functions.hpp  2015-12-20 
21:18:28.000000000 +0100
@@ -70,11 +70,7 @@
 #else
                timespec now;
                clock_gettime(
-               #ifdef CLOCK_MONOTONIC_RAW
-                       CLOCK_MONOTONIC_RAW,
-               #else
                        CLOCK_MONOTONIC,
-               #endif
                        &now
                );
                return now.tv_sec + ( now.tv_nsec / 1000000000.0 );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/QMPlay2-src-15.12.06/src/qmplay2/headers/QMPlay2Core.hpp 
new/QMPlay2-src-15.12.25/src/qmplay2/headers/QMPlay2Core.hpp
--- old/QMPlay2-src-15.12.06/src/qmplay2/headers/QMPlay2Core.hpp        
2015-12-05 23:49:07.000000000 +0100
+++ new/QMPlay2-src-15.12.25/src/qmplay2/headers/QMPlay2Core.hpp        
2015-12-25 17:07:10.000000000 +0100
@@ -1,7 +1,7 @@
 #ifndef QMPLAY2CORE_HPP
 #define QMPLAY2CORE_HPP
 
-#define QMPlay2Version "15.12.06"
+#define QMPlay2Version "15.12.25"
 
 #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || (__x86_64) || 
defined(__x86_64__) || defined(__amd64) || defined(_M_X64)
        #define QMPLAY2_CPU_X86
@@ -104,7 +104,11 @@
        }
        inline bool isWorking()
        {
+#if QT_VERSION < 0x050000
                return working > 0;
+#else
+               return working.load() > 0; //For Qt5 <= 5.2
+#endif
        }
 private slots:
        void restoreCursorSlot();


Reply via email to