diff options
Diffstat (limited to 'src/gui/opengl/qopenglshaderprogram.cpp')
-rw-r--r-- | src/gui/opengl/qopenglshaderprogram.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/gui/opengl/qopenglshaderprogram.cpp b/src/gui/opengl/qopenglshaderprogram.cpp index 69b4fc9858..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) { } @@ -594,6 +594,7 @@ bool QOpenGLShaderProgram::init() QOpenGLContext *context = const_cast<QOpenGLContext *>(QOpenGLContext::currentContext()); if (!context) return false; + d->glfuncs->initializeGLFunctions(); GLuint program = d->glfuncs->glCreateProgram(); if (!program) { qWarning() << "QOpenGLShaderProgram: could not create shader program"; |