Keep Qt::Popup windows as internal pointer window once they leave window
A click outside a popup should close the popup and not be passed to the window at the pointer position. Thus we only update the internal pointer window if the internal pointer window does not represent a visible popup.
This commit is contained in:
parent
afd76b80ee
commit
296313b2fc
1 changed files with 2 additions and 1 deletions
|
@ -547,7 +547,8 @@ void InputRedirection::updatePointerInternalWindow()
|
||||||
if (waylandServer()) {
|
if (waylandServer()) {
|
||||||
bool found = false;
|
bool found = false;
|
||||||
const auto &internalClients = waylandServer()->internalClients();
|
const auto &internalClients = waylandServer()->internalClients();
|
||||||
if (!internalClients.isEmpty()) {
|
const bool change = m_pointerInternalWindow.isNull() || !(m_pointerInternalWindow->flags().testFlag(Qt::Popup) && m_pointerInternalWindow->isVisible());
|
||||||
|
if (!internalClients.isEmpty() && change) {
|
||||||
auto it = internalClients.end();
|
auto it = internalClients.end();
|
||||||
do {
|
do {
|
||||||
it--;
|
it--;
|
||||||
|
|
Loading…
Reference in a new issue