summaryrefslogtreecommitdiffstats
path: root/src/gui/opengl/qopenglshaderprogram.cpp
diff options
context:
space:
mode:
authorSean Harmer <sean.harmer@kdab.com>2012-05-02 10:10:39 +0100
committerQt by Nokia <qt-info@nokia.com>2012-05-02 11:36:36 +0200
commitb17814e6ffcd048da7562d62ecad1bc38db7d980 (patch)
tree8146f16e5d7a3d518da573b07121d46a5b78cdf8 /src/gui/opengl/qopenglshaderprogram.cpp
parentc73ddb0c0eed091a64b560ab6c453cf8160f4ee4 (diff)
Allow creation of QOpenGLShaderProgram without a current context
This change prevents the qWarning() in QOpenGLFunctions from being triggered when creating a QOpenGLShaderProgram object without a current QOpenGLContext. This is a common case especially when the shader program is a member variable of a class. It now relies upon the QOpenGLShaderProgram::init() function to resolve the GL function pointers when the shader program is first used which of course should be done with an active context. Change-Id: Ib7dc345593f2a70d72ef8f650151cc90001058ca Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/gui/opengl/qopenglshaderprogram.cpp')
-rw-r--r--src/gui/opengl/qopenglshaderprogram.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp
index 8ee2928a1f..c0899e5a41 100644
--- a/src/gui/opengl/qopenglshaderprogram.cpp
+++ b/src/gui/opengl/qopenglshaderprogram.cpp
@@ -510,7 +510,7 @@ class QOpenGLShaderProgramPrivate : public QObjectPrivate
{
Q_DECLARE_PUBLIC(QOpenGLShaderProgram)
public:
- QOpenGLShaderProgramPrivate(QOpenGLContext *ctx)
+ QOpenGLShaderProgramPrivate()
: programGuard(0)
, linked(false)
, inited(false)
@@ -518,7 +518,7 @@ public:
, geometryVertexCount(64)
, geometryInputType(0)
, geometryOutputType(0)
- , glfuncs(new QOpenGLFunctions(ctx))
+ , glfuncs(new QOpenGLFunctions)
{
}
~QOpenGLShaderProgramPrivate();
@@ -574,7 +574,7 @@ bool QOpenGLShaderProgramPrivate::hasShader(QOpenGLShader::ShaderType type) cons
\sa addShader()
*/
QOpenGLShaderProgram::QOpenGLShaderProgram(QObject *parent)
- : QObject(*new QOpenGLShaderProgramPrivate(QOpenGLContext::currentContext()), parent)
+ : QObject(*new QOpenGLShaderProgramPrivate, parent)
{
}