diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/quick/textureprovider/etcprovider.cpp | 8 | ||||
-rw-r--r-- | examples/quick/textureprovider/etcprovider.h | 4 |
2 files changed, 7 insertions, 5 deletions
diff --git a/examples/quick/textureprovider/etcprovider.cpp b/examples/quick/textureprovider/etcprovider.cpp index c713cf1ffd..de8eb12366 100644 --- a/examples/quick/textureprovider/etcprovider.cpp +++ b/examples/quick/textureprovider/etcprovider.cpp @@ -98,7 +98,7 @@ unsigned short getPaddedHeight(ETCHeader *pHeader) EtcTexture::EtcTexture() : m_texture_id(0), m_uploaded(false) { - + initializeOpenGLFunctions(); } EtcTexture::~EtcTexture() @@ -109,8 +109,10 @@ EtcTexture::~EtcTexture() int EtcTexture::textureId() const { - if (m_texture_id == 0) - glGenTextures(1, &const_cast<EtcTexture *>(this)->m_texture_id); + if (m_texture_id == 0) { + EtcTexture *texture = const_cast<EtcTexture*>(this); + texture->glGenTextures(1, &texture->m_texture_id); + } return m_texture_id; } diff --git a/examples/quick/textureprovider/etcprovider.h b/examples/quick/textureprovider/etcprovider.h index 75903963e4..44d5d6f53e 100644 --- a/examples/quick/textureprovider/etcprovider.h +++ b/examples/quick/textureprovider/etcprovider.h @@ -51,7 +51,7 @@ #ifndef ETCPROVIDER_H #define ETCPROVIDER_H -#include <qopengl.h> +#include <QOpenGLFunctions> #include <QQuickImageProvider> #include <QtQuick/QSGTexture> #include <QUrl> @@ -71,7 +71,7 @@ private: QUrl m_baseUrl; }; -class EtcTexture : public QSGTexture +class EtcTexture : public QSGTexture, protected QOpenGLFunctions { Q_OBJECT public: |