Client: Close popups on xdg_popup::popup_done

Change-Id: I6d3b1ec5c22e6d07ed87948074d886cc9aa126ef
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
This commit is contained in:
Johan Klokkhammer Helsing 2016-11-16 14:43:20 +01:00 committed by Paul Olav Tvete
parent 9fc25b4a60
commit 882f20bbf4
2 changed files with 10 additions and 0 deletions

View File

@ -45,6 +45,7 @@ QWaylandXdgPopup::QWaylandXdgPopup(struct ::xdg_popup *popup, QWaylandWindow *wi
: QWaylandShellSurface(window)
, QtWayland::xdg_popup(popup)
, m_extendedWindow(nullptr)
, m_window(window)
{
if (window->display()->windowExtension())
m_extendedWindow = new QWaylandExtendedSurface(window);
@ -62,6 +63,11 @@ void QWaylandXdgPopup::setType(Qt::WindowType type, QWaylandWindow *transientPar
Q_UNUSED(transientParent);
}
void QWaylandXdgPopup::xdg_popup_popup_done()
{
m_window->window()->close();
}
}
QT_END_NAMESPACE

View File

@ -70,8 +70,12 @@ public:
void setType(Qt::WindowType type, QWaylandWindow *transientParent) override;
protected:
void xdg_popup_popup_done() override;
private:
QWaylandExtendedSurface *m_extendedWindow;
QWaylandWindow *m_window;
};
QT_END_NAMESPACE