summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/auto/qopengl/tst_qopengl.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/auto/qopengl/tst_qopengl.cpp b/tests/auto/qopengl/tst_qopengl.cpp
index 173d1e4568..353391c543 100644
--- a/tests/auto/qopengl/tst_qopengl.cpp
+++ b/tests/auto/qopengl/tst_qopengl.cpp
@@ -53,6 +53,7 @@ private slots:
void sharedResourceCleanup();
void fboSimpleRendering();
void fboRendering();
+ void fboHandleNulledAfterContextDestroyed();
};
struct SharedResourceTracker
@@ -358,5 +359,31 @@ void tst_QOpenGL::fboRendering()
qt_opengl_check_test_pattern(fb);
}
+void tst_QOpenGL::fboHandleNulledAfterContextDestroyed()
+{
+ QWindow window;
+ window.setGeometry(0, 0, 10, 10);
+ window.create();
+
+ QOpenGLFramebufferObject *fbo = 0;
+
+ {
+ QOpenGLContext ctx;
+ ctx.create();
+
+ ctx.makeCurrent(&window);
+
+ if (!QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) {
+ QSKIP("QOpenGLFramebufferObject not supported on this platform", SkipSingle);
+ }
+
+ fbo = new QOpenGLFramebufferObject(128, 128);
+
+ QVERIFY(fbo->handle() != 0);
+ }
+
+ QCOMPARE(fbo->handle(), 0U);
+}
+
QTEST_MAIN(tst_QOpenGL)
#include "tst_qopengl.moc"