Added equivalent to tst_QGL::destroyFBOAfterContext() in tst_QOpenGL.
authorSamuel Rødal <samuel.rodal@nokia.com>
Wed, 7 Sep 2011 07:50:03 +0000 (09:50 +0200)
committerPaul Olav Tvete <paul.tvete@nokia.com>
Thu, 8 Sep 2011 08:48:48 +0000 (10:48 +0200)
The more the merrier.

Change-Id: I401ed97600a890c38cb4d5dbe0578d6bcf68e909
Reviewed-on: http://codereview.qt-project.org/4322
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
tests/auto/qopengl/tst_qopengl.cpp

index 173d1e4..353391c 100644 (file)
@@ -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"