diff options
author | Weng Xuetian <wengxt@gmail.com> | 2022-07-20 15:57:40 -0700 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-07-24 06:03:11 +0000 |
commit | 608579a2853ecfa4ef892aa202767788519254f5 (patch) | |
tree | 7e0a1b668cb35ae1ed548b6ab4268be2607ada6d /src/client/qwaylanddisplay_p.h | |
parent | 1a07779a2578e254bdbc1e4e76ffb4904e53b0aa (diff) | |
download | qtwayland-608579a2853ecfa4ef892aa202767788519254f5.tar.gz |
Only close popup in the the hierchary
Imagine following event sequences:
1. a tooltip is shown. activePopups = {tooltip}
2. user click menu bar to show the menu, QMenu::setVisible is called.
now activePopups(tooltip, menu}
3. tooltip visibility changed to false.
4. closePopups() close both tooltip and menu.
This is a common pattern under wayland that menu is shown as a invisible
state. This patch tries to memorize the surface hierchary used to create
the popup role. And only close those popups whose ancesotor is hidden.
Change-Id: I78aa0b4e32a5812603e003e756d8bcd202e94af4
Reviewed-by: David Edmundson <davidedmundson@kde.org>
(cherry picked from commit f8e3257e9b1e22d52e9c221c62b8d9b6dd1151a3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/client/qwaylanddisplay_p.h')
0 files changed, 0 insertions, 0 deletions