Client: Use QWindowSystemInterface::handleCloseEvent() to close xdg-toplevel

QWindow::close() will close a window regardless whether it's blocked by
a modal dialog. On the other hand,
QWindowSystemInterface::handleCloseEvent() will do nothing if a close
event is sent to an xdg-toplevel window with a modal dialog.

Pick-to: 6.7
Change-Id: I5f18d38d4fdbb5748687ee3537035172df916de9
Reviewed-by: Kai Uwe Broulik <kde@privat.broulik.de>
Reviewed-by: David Redondo <qt@david-redondo.de>
This commit is contained in:
Vlad Zahorodnii 2024-04-03 23:44:33 +03:00
parent f3418491f2
commit c8451104de

View File

@ -169,7 +169,7 @@ void QWaylandXdgSurface::Toplevel::xdg_toplevel_configure(int32_t width, int32_t
void QWaylandXdgSurface::Toplevel::xdg_toplevel_close() void QWaylandXdgSurface::Toplevel::xdg_toplevel_close()
{ {
m_xdgSurface->m_window->window()->close(); QWindowSystemInterface::handleCloseEvent(m_xdgSurface->m_window->window());
} }
void QWaylandXdgSurface::Toplevel::requestWindowFlags(Qt::WindowFlags flags) void QWaylandXdgSurface::Toplevel::requestWindowFlags(Qt::WindowFlags flags)