diff options
| author | Marc Mutz <marc.mutz@kdab.com> | 2019-05-14 20:42:01 +0200 |
|---|---|---|
| committer | Marc Mutz <marc.mutz@kdab.com> | 2019-07-25 14:17:51 +0000 |
| commit | 082f10c9eb12972efb7f194e49eb2b11928e1337 (patch) | |
| tree | 3ad94b9fad913e1664c4f142f13a5792ff06df97 /examples/opengl/qopenglwindow/background_renderer.h | |
| parent | 7303218e42ea03a8e163d57935b01472de76748a (diff) | |
QOpenGLWindow example: use std::unique_ptr instead of QScopedPointer
QScopedPointer is scheduled for deprecation, and can't decide whether
it wants to be a scoped, or a unique pointer.
The use of a unique_ptr members requires that the destructor be
out-of-line, since the payload classes are only forward-declared in
the header file.
Change-Id: Id0dcdde52cb3adc30d3051d2eed1d24c76154921
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'examples/opengl/qopenglwindow/background_renderer.h')
| -rw-r--r-- | examples/opengl/qopenglwindow/background_renderer.h | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/examples/opengl/qopenglwindow/background_renderer.h b/examples/opengl/qopenglwindow/background_renderer.h index d99b7ddbeb8..0e3caf59816 100644 --- a/examples/opengl/qopenglwindow/background_renderer.h +++ b/examples/opengl/qopenglwindow/background_renderer.h @@ -62,11 +62,14 @@ #include <QOpenGLShaderProgram> #include <QOpenGLFunctions> +#include <memory> + class FragmentToy : public QObject, protected QOpenGLFunctions { Q_OBJECT public: - FragmentToy(const QString &fragmentSource, QObject *parent = 0); + explicit FragmentToy(const QString &fragmentSource, QObject *parent = nullptr); + ~FragmentToy(); void draw(const QSize &windowSize); @@ -79,9 +82,9 @@ private: QString m_fragment_file; QDateTime m_fragment_file_last_modified; - QScopedPointer<QOpenGLShaderProgram> m_program; - QScopedPointer<QOpenGLShader> m_vertex_shader; - QScopedPointer<QOpenGLShader> m_fragment_shader; + std::unique_ptr<QOpenGLShaderProgram> m_program; + std::unique_ptr<QOpenGLShader> m_vertex_shader; + std::unique_ptr<QOpenGLShader> m_fragment_shader; QOpenGLVertexArrayObject m_vao; QOpenGLBuffer m_vertex_buffer; GLuint m_vertex_coord_pos; |
