summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorShawn Rutledge <shawn.rutledge@digia.com>2015-09-10 20:39:10 +0200
committerShawn Rutledge <shawn.rutledge@theqtcompany.com>2015-09-24 20:15:35 +0000
commit61b608dfb578e873239eda957988a54ebe321c59 (patch)
tree5981e2a4ba259f098386b880bde9043a0cf4e330 /tests
parentd0ca16eae15e83a64a1e2a5b5fac53bb2bc919bb (diff)
QScreen manual test: don't crash when a QScreen is null
Need to survive having screens detached/reattached on X11. Task-number: QTBUG-42985 Change-Id: I81cf9721f0cb61a29180c60d44d588063266e651 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/manual/qscreen/main.cpp17
1 files changed, 13 insertions, 4 deletions
diff --git a/tests/manual/qscreen/main.cpp b/tests/manual/qscreen/main.cpp
index 8ed9cebfb4..298996a59b 100644
--- a/tests/manual/qscreen/main.cpp
+++ b/tests/manual/qscreen/main.cpp
@@ -131,10 +131,19 @@ static inline QString msgScreenChange(const QWidget *w, const QScreen *oldScreen
QString result;
const QRect geometry = w->geometry();
const QPoint pos = QCursor::pos();
- QTextStream(&result) << "Screen changed \"" << oldScreen->name() << "\" --> \""
- << newScreen->name() << "\" at " << pos.x() << ',' << pos.y() << " geometry: "
- << geometry.width() << 'x' << geometry.height() << forcesign << geometry.x()
- << geometry.y() << '.';
+ if (!newScreen) {
+ result = QLatin1String("Screen changed --> null");
+ } else if (!oldScreen) {
+ QTextStream(&result) << "Screen changed null --> \""
+ << newScreen->name() << "\" at " << pos.x() << ',' << pos.y() << " geometry: "
+ << geometry.width() << 'x' << geometry.height() << forcesign << geometry.x()
+ << geometry.y() << '.';
+ } else {
+ QTextStream(&result) << "Screen changed \"" << oldScreen->name() << "\" --> \""
+ << newScreen->name() << "\" at " << pos.x() << ',' << pos.y() << " geometry: "
+ << geometry.width() << 'x' << geometry.height() << forcesign << geometry.x()
+ << geometry.y() << '.';
+ }
return result;
}