XdgPopupWindow: Disconnect relayout when role gets destroyed

Otherwise we will still react on a frameGeometryChanged signal
and try to relayout the popup when its transient parent was
already set to null leading to a crash.

BUG: 472532
This commit is contained in:
Kai Uwe Broulik 2023-08-04 18:29:45 +02:00
parent be6be22bae
commit 559d55f64f

View file

@ -1594,6 +1594,8 @@ XdgPopupWindow::XdgPopupWindow(XdgPopupInterface *shellSurface)
void XdgPopupWindow::handleRoleDestroyed()
{
disconnect(transientFor(), &Window::frameGeometryChanged,
this, &XdgPopupWindow::relayout);
m_shellSurface->disconnect(this);
XdgSurfaceWindow::handleRoleDestroyed();