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:
parent
9fc25b4a60
commit
882f20bbf4
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user