summaryrefslogtreecommitdiffstats
path: root/tests/auto/qglthreads
diff options
context:
space:
mode:
authorJani Hautakangas <jani.hautakangas@nokia.com>2011-01-11 13:26:22 (GMT)
committerJani Hautakangas <jani.hautakangas@nokia.com>2011-01-12 08:10:47 (GMT)
commite49868217e29f13dba28a2fe199d82268655b9fb (patch)
treea34a9dc0cbf602c55f1402595374d90f78c4b40d /tests/auto/qglthreads
parenta5aab5cc5cdc9e5adfab0114fec9e154340729aa (diff)
downloadQt-e49868217e29f13dba28a2fe199d82268655b9fb.zip
Qt-e49868217e29f13dba28a2fe199d82268655b9fb.tar.gz
Qt-e49868217e29f13dba28a2fe199d82268655b9fb.tar.bz2
Fix qglthreads test crash on Symbian
Use less GPU memory to make tests pass and skip threaded rendering since eventually tries to access main RWindow from secondary thread, which is not allowed on Symbian Task-number: QTBUG-13525 Reviewed-by: TRUSTME
Diffstat (limited to 'tests/auto/qglthreads')
-rw-r--r--tests/auto/qglthreads/tst_qglthreads.cpp20
1 files changed, 18 insertions, 2 deletions
diff --git a/tests/auto/qglthreads/tst_qglthreads.cpp b/tests/auto/qglthreads/tst_qglthreads.cpp
index 50152d1..0bcc4f6 100644
--- a/tests/auto/qglthreads/tst_qglthreads.cpp
+++ b/tests/auto/qglthreads/tst_qglthreads.cpp
@@ -51,9 +51,13 @@
#ifdef Q_OS_SYMBIAN
#include <unistd.h> // for usleep
+#define RUNNING_TIME 2000 // save GPU mem by running shorter time.
+#else
+#define RUNNING_TIME 5000
#endif
-#define RUNNING_TIME 5000
+
+
tst_QGLThreads::tst_QGLThreads(QObject *parent)
: QObject(parent)
@@ -205,7 +209,15 @@ public:
QTime time;
time.start();
while (time.elapsed() < RUNNING_TIME) {
- QImage image(400, 300, QImage::Format_RGB32);
+ int width = 400;
+ int height = 300;
+#ifdef Q_OS_SYMBIAN
+ // GPU mem is very scarce resource on Symbian currently.
+ // That's why we create only small textures.
+ width = 50;
+ height = 20;
+#else
+ QImage image(width, height, QImage::Format_RGB32);
QPainter p(&image);
p.fillRect(image.rect(), QColor(rand() % 256, rand() % 256, rand() % 256));
p.setPen(Qt::red);
@@ -434,6 +446,10 @@ void tst_QGLThreads::renderInThread()
QSKIP("OpenGL threading tests are currently disabled on mac as they were causing reboots", SkipAll);
#endif
+#ifdef Q_OS_SYMBIAN
+ QSKIP("OpenGL threading tests are disabled on Symbian as accessing RWindow from a secondary thread is not supported", SkipAll);
+#endif
+
QFETCH(bool, resize);
QFETCH(bool, update);