Windows QPA: Accept foreign windows when checking for wheel receivers

After change 14efcaa3921687129d4dca9b7d5794668a329cd6, foreign
windows no longer have a corresponding QWindowsWindow. This should
not block wheel events when checking for blocking modal windows.

Amends change 14efcaa3921687129d4dca9b7d5794668a329cd6.

Task-number: QTBUG-54430
Change-Id: I1ac87445844946bafc214024e27da08c4f884d79
Reviewed-by: Tim Blechmann <tim@klingt.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Friedemann Kleint 2016-06-30 11:14:22 +02:00
parent 5dc739ba9b
commit 145d8462e3

View File

@ -393,6 +393,8 @@ static bool isValidWheelReceiver(QWindow *candidate)
{
if (candidate) {
const QWindow *toplevel = QWindowsWindow::topLevelOf(candidate);
if (toplevel->type() == Qt::ForeignWindow)
return true;
if (const QWindowsWindow *ww = QWindowsWindow::windowsWindowOf(toplevel))
return !ww->testFlag(QWindowsWindow::BlockedByModal);
}