diff options
author | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-10-16 04:48:59 (GMT) |
---|---|---|
committer | Rhys Weatherley <rhys.weatherley@nokia.com> | 2009-10-16 04:54:26 (GMT) |
commit | fbe6a9aaae0c6de017af08150678bf2001284178 (patch) | |
tree | 0ccf66e75756c2b790ab83f06599bf277bd940de /src/opengl | |
parent | 2eb373a68367a6511e12d60034e920345431bcc8 (diff) | |
download | Qt-fbe6a9aaae0c6de017af08150678bf2001284178.zip Qt-fbe6a9aaae0c6de017af08150678bf2001284178.tar.gz Qt-fbe6a9aaae0c6de017af08150678bf2001284178.tar.bz2 |
Recognize transformed screens when looking for a QGLScreen
If the QWS_DISPLAY is specified as "Transformed:powervr:...",
then we will encounter QScreen::TransformedClass rather than
QScreen::ProxyClass when searching for the QGLScreen. This change
makes the code search for both.
Task-number: QT-2261
Reviewed-by: Sarah Smith
Back port of 8e4fa6e87f74cfb3457e8270a361cf30ca7d3593
Diffstat (limited to 'src/opengl')
-rw-r--r-- | src/opengl/qegl_qws.cpp | 3 | ||||
-rw-r--r-- | src/opengl/qgl_qws.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/opengl/qegl_qws.cpp b/src/opengl/qegl_qws.cpp index 8d1c8b0..f0433bb 100644 --- a/src/opengl/qegl_qws.cpp +++ b/src/opengl/qegl_qws.cpp @@ -65,7 +65,8 @@ static QGLScreen *glScreenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast<QProxyScreen *>(screen)->screen(); } if (screen->classId() == QScreen::GLClass) diff --git a/src/opengl/qgl_qws.cpp b/src/opengl/qgl_qws.cpp index 4058b66..dd578b2 100644 --- a/src/opengl/qgl_qws.cpp +++ b/src/opengl/qgl_qws.cpp @@ -72,7 +72,8 @@ static QGLScreen *glScreenForDevice(QPaintDevice *device) screenNumber = 0; screen = screen->subScreens()[screenNumber]; } - while (screen->classId() == QScreen::ProxyClass) { + while (screen->classId() == QScreen::ProxyClass || + screen->classId() == QScreen::TransformedClass) { screen = static_cast<QProxyScreen *>(screen)->screen(); } if (screen->classId() == QScreen::GLClass) |