shell: avoid crash after waking up from sleep

The panel was removed by a timer, which can cause null QScreen pointer.

BUG: 455328
FIXED-IN: 5.25.3

(cherry picked from ffadcb3428)
wilder-5.26
Fushan Wen 4 years ago
parent 5fdf2cf128
commit 0742227e82
No known key found for this signature in database
GPG Key ID: 2E48D1487C91DCAA
  1. 15
      shell/panelview.cpp

@ -839,13 +839,16 @@ void PanelView::resizeEvent(QResizeEvent *ev)
{
updateEnabledBorders();
// don't setGeometry() to make really sure we aren't doing a resize loop
const QPoint pos = geometryByDistance(m_distance).topLeft();
setPosition(pos);
if (m_shellSurface) {
m_shellSurface->setPosition(pos);
if (m_screenToFollow) {
const QPoint pos = geometryByDistance(m_distance).topLeft();
setPosition(pos);
if (m_shellSurface) {
m_shellSurface->setPosition(pos);
}
m_strutsTimer.start(STRUTSTIMERDELAY);
Q_EMIT m_corona->availableScreenRegionChanged();
}
m_strutsTimer.start(STRUTSTIMERDELAY);
Q_EMIT m_corona->availableScreenRegionChanged();
PlasmaQuick::ContainmentView::resizeEvent(ev);
}

Loading…
Cancel
Save