From cd97c049b57ce31d57111162a75f76403b92278b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= Date: Mon, 25 Sep 2017 21:10:41 +0200 Subject: [PATCH] Fix regression concerning popup handling for wl_shell_surface Regression introduced due to making popup a member variable and this is not ready in the init method. So connect to the rescue. Fixes failing PointerInputTest. --- shell_client.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/shell_client.cpp b/shell_client.cpp index 71a18349c9..282af776ae 100644 --- a/shell_client.cpp +++ b/shell_client.cpp @@ -228,8 +228,12 @@ void ShellClient::init() connect(s, &SurfaceInterface::destroyed, this, &ShellClient::destroyClient); if (m_shellSurface) { initSurface(m_shellSurface); - // TODO: verify grab serial - m_hasPopupGrab = m_shellSurface->isPopup(); + auto setPopup = [this] { + // TODO: verify grab serial + m_hasPopupGrab = m_shellSurface->isPopup(); + }; + connect(m_shellSurface, &ShellSurfaceInterface::popupChanged, this, setPopup); + setPopup(); } else if (m_xdgShellSurface) { initSurface(m_xdgShellSurface);