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>
This commit is contained in:
parent
d0ca16eae1
commit
61b608dfb5
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user