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;
|
QString result;
|
||||||
const QRect geometry = w->geometry();
|
const QRect geometry = w->geometry();
|
||||||
const QPoint pos = QCursor::pos();
|
const QPoint pos = QCursor::pos();
|
||||||
QTextStream(&result) << "Screen changed \"" << oldScreen->name() << "\" --> \""
|
if (!newScreen) {
|
||||||
<< newScreen->name() << "\" at " << pos.x() << ',' << pos.y() << " geometry: "
|
result = QLatin1String("Screen changed --> null");
|
||||||
<< geometry.width() << 'x' << geometry.height() << forcesign << geometry.x()
|
} else if (!oldScreen) {
|
||||||
<< geometry.y() << '.';
|
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;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user