aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2017-05-19 12:00:05 +0200
committerAlexandru Croitor <alexandru.croitor@qt.io>2017-05-19 12:32:56 +0000
commit4ec9cfa3c6b895c0cf50227c189cfa542de88b64 (patch)
tree9d8d7f1fb82aae2727ae62da11a5a62459d7bce0
parent58f937f45fb693018e9735344c3b92faa121eb17 (diff)
Fix "GLint"-like typedefs to be resolved by shiboken on macOS
On macOS the GL integer types are typedefed to C++11 fixed width integer types, like int32_t. Add these types to typesystem_core_common.xml as primitive types, so that OpenGL function bindings are properly generated. For conversion purposes, once the generator writes the binding C++ code, the fixed width integer types get resolved to simple types like "int", and thus the primitive type conversion template for "int" is used. Change-Id: Ie41f5fb3fbc300c34ea777b875a57cff558d79df Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--PySide2/QtCore/typesystem_core_common.xml10
-rw-r--r--tests/QtGui/qopenglwindow_test.py1
2 files changed, 10 insertions, 1 deletions
diff --git a/PySide2/QtCore/typesystem_core_common.xml b/PySide2/QtCore/typesystem_core_common.xml
index c5b951f04..be570bd60 100644
--- a/PySide2/QtCore/typesystem_core_common.xml
+++ b/PySide2/QtCore/typesystem_core_common.xml
@@ -209,6 +209,16 @@
<!-- FIXME APIExtractor or shiboken do not support multiple includes by primitive type -->
<include file-name="signalmanager.h" location="global"/>
</primitive-type>
+
+ <!-- Among other use cases, these types are necessary for OpenGL "GLint"-like typedefs on macOS.
+ -->
+ <primitive-type name="int32_t" />
+ <primitive-type name="int16_t" />
+ <primitive-type name="int8_t" />
+ <primitive-type name="uint32_t" />
+ <primitive-type name="uint16_t" />
+ <primitive-type name="uint8_t" />
+
<primitive-type name="bool" target-lang-api-name="PyBool">
<conversion-rule>
<native-to-target>
diff --git a/tests/QtGui/qopenglwindow_test.py b/tests/QtGui/qopenglwindow_test.py
index 0eb57728f..2d11a0238 100644
--- a/tests/QtGui/qopenglwindow_test.py
+++ b/tests/QtGui/qopenglwindow_test.py
@@ -93,7 +93,6 @@ class OpenGLWindow(QOpenGLWindow):
class QOpenGLWindowTest(UsesQApplication):
# On macOS, glClear(), glViewport() are rejected due to GLbitfield/GLint not being resolved properly
- @unittest.skipIf(sys.platform == 'darwin', "unsupported platform")
def test(self):
openGlWindow = OpenGLWindow()
openGlWindow.resize(640, 480)