From a3cf9b0a3cdf5ced4a12e44240c84ef8696a222b Mon Sep 17 00:00:00 2001 From: Hugo Parente Lima Date: Tue, 18 Jan 2011 17:22:03 -0200 Subject: Fix bug#623 - "QGLWidget.bindTexture(QPixmap, GLenum, GLenum) is missing" --- CMakeLists.txt | 1 + PySide/CMakeLists.txt | 4 +++- PySide/QtOpenGL/typesystem_opengl.xml | 1 - PySide/global.h.in | 1 + tests/QtOpenGL/CMakeLists.txt | 1 + tests/QtOpenGL/qglwidget_test.py | 18 ++++++++++++++++++ 6 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/QtOpenGL/qglwidget_test.py diff --git a/CMakeLists.txt b/CMakeLists.txt index 856ed6a9f..c7582d03a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,7 @@ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Macros/ find_package(GeneratorRunner 0.6.3 REQUIRED) find_package(Shiboken 1.0.0 REQUIRED) find_package(Qt4 4.5.0 REQUIRED) +find_file(GL_H "gl.h" PATH_SUFFIXES "GL") include(FindQt4Extra) set(XVFB_EXEC "") diff --git a/PySide/CMakeLists.txt b/PySide/CMakeLists.txt index 35baf3c57..573bd8a6b 100644 --- a/PySide/CMakeLists.txt +++ b/PySide/CMakeLists.txt @@ -21,7 +21,9 @@ HAS_QT_MODULE(QT_QTWEBKIT_FOUND QtWebKit) HAS_QT_MODULE(QT_QTSVG_FOUND QtSvg) HAS_QT_MODULE(QT_QTXML_FOUND QtXml) HAS_QT_MODULE(QT_QTTEST_FOUND QtTest) -HAS_QT_MODULE(QT_QTOPENGL_FOUND QtOpenGL) +if (GL_H) + HAS_QT_MODULE(QT_QTOPENGL_FOUND QtOpenGL) +endif() HAS_QT_MODULE(QT_QTSQL_FOUND QtSql) if(QT_QTDESIGNER_FOUND) HAS_QT_MODULE(QT_QTUITOOLS_FOUND QtUiTools) diff --git a/PySide/QtOpenGL/typesystem_opengl.xml b/PySide/QtOpenGL/typesystem_opengl.xml index 86a6d7b63..f58d84940 100644 --- a/PySide/QtOpenGL/typesystem_opengl.xml +++ b/PySide/QtOpenGL/typesystem_opengl.xml @@ -20,7 +20,6 @@ --> - diff --git a/PySide/global.h.in b/PySide/global.h.in index 0e76e4681..88817b80a 100644 --- a/PySide/global.h.in +++ b/PySide/global.h.in @@ -1490,6 +1490,7 @@ QT_END_HEADER /* For compatibility with OpenGL v1.0 */ #define GL_LOGIC_OP GL_INDEX_LOGIC_OP #define GL_TEXTURE_COMPONENTS GL_TEXTURE_INTERNAL_FORMAT +#include <@GL_H@> #include #endif // QT_NO_OPENGL diff --git a/tests/QtOpenGL/CMakeLists.txt b/tests/QtOpenGL/CMakeLists.txt index 3064edfbc..7c7098535 100644 --- a/tests/QtOpenGL/CMakeLists.txt +++ b/tests/QtOpenGL/CMakeLists.txt @@ -1,3 +1,4 @@ if(${QTVERSION} VERSION_GREATER 4.6.9) PYSIDE_TEST(qglbuffer_test.py) endif() +PYSIDE_TEST(qglwidget_test.py) diff --git a/tests/QtOpenGL/qglwidget_test.py b/tests/QtOpenGL/qglwidget_test.py new file mode 100644 index 000000000..515b8f52b --- /dev/null +++ b/tests/QtOpenGL/qglwidget_test.py @@ -0,0 +1,18 @@ +import unittest +from PySide.QtGui import * +from PySide.QtOpenGL import * + +class TestQGLWidget (unittest.TestCase): + def testIt(self): + """Just test if the bindTexture(*, GLenum, GLint) methods overloads exists""" + app = QApplication([]) + img = QImage() + w = QGLWidget() + a = w.bindTexture(img, 0, 0) # ok if it throws nothing.. :-) + + + + + +if __name__ == "__main__": + unittest.main() -- cgit v1.2.3