From 559d55f64f97f90e367bab549a385fc91398c817 Mon Sep 17 00:00:00 2001 From: Kai Uwe Broulik Date: Fri, 4 Aug 2023 18:29:45 +0200 Subject: [PATCH] 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 --- src/xdgshellwindow.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/xdgshellwindow.cpp b/src/xdgshellwindow.cpp index ec769b86ef..62eaec6e3e 100644 --- a/src/xdgshellwindow.cpp +++ b/src/xdgshellwindow.cpp @@ -1594,6 +1594,8 @@ XdgPopupWindow::XdgPopupWindow(XdgPopupInterface *shellSurface) void XdgPopupWindow::handleRoleDestroyed() { + disconnect(transientFor(), &Window::frameGeometryChanged, + this, &XdgPopupWindow::relayout); m_shellSurface->disconnect(this); XdgSurfaceWindow::handleRoleDestroyed();