Safeguard QScreen::refreshRate against buggy platform behavior
Change-Id: I891bd5272db76e8562f6722b633cc0fdaac5f7a2 Task-number: QTBUG-43853 Reviewed-by: Robin Burchell <robin.burchell@viroteck.net>bb10
parent
bdbcf6704f
commit
6338b1421e
|
|
@ -2578,9 +2578,14 @@ void QGuiApplicationPrivate::reportRefreshRateChange(QWindowSystemInterfacePriva
|
|||
return;
|
||||
|
||||
QScreen *s = e->screen.data();
|
||||
s->d_func()->refreshRate = e->rate;
|
||||
|
||||
emit s->refreshRateChanged(s->refreshRate());
|
||||
qreal rate = e->rate;
|
||||
// safeguard ourselves against buggy platform behavior...
|
||||
if (rate < 1.0)
|
||||
rate = 60.0;
|
||||
if (!qFuzzyCompare(s->d_func()->refreshRate, rate)) {
|
||||
s->d_func()->refreshRate = rate;
|
||||
emit s->refreshRateChanged(s->refreshRate());
|
||||
}
|
||||
}
|
||||
|
||||
void QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent *e)
|
||||
|
|
|
|||
|
|
@ -64,6 +64,9 @@ public:
|
|||
availableGeometry = platformScreen->availableGeometry();
|
||||
logicalDpi = platformScreen->logicalDpi();
|
||||
refreshRate = platformScreen->refreshRate();
|
||||
// safeguard ourselves against buggy platform behavior...
|
||||
if (refreshRate < 1.0)
|
||||
refreshRate = 60.0;
|
||||
|
||||
updatePrimaryOrientation();
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue