Prevent ending up in a state where focus is perpetually grabbed.
authorSamuel Rødal <samuel.rodal@nokia.com>
Wed, 13 Jun 2012 15:05:52 +0000 (17:05 +0200)
committerQt by Nokia <qt-info@nokia.com>
Mon, 18 Jun 2012 19:58:30 +0000 (21:58 +0200)
commit7967cb4f4860df436dc2e7e21c4eaca6a9b05f70
tree7ea97e7dd0f56900d8b1304e22d2c6b659d08c36
parent3c8eb404877df9c967d81fa9df7d718c538fb407
Prevent ending up in a state where focus is perpetually grabbed.

Mouse / enter / leave / key events etc are all blocked when a window has
the blockedByModalWindow flag set. The problem appears if a QWindow is
created and only later directly or indirectly parented to a modal window
that's currently showing. Since the decision on whether a window should
be blocked or not is based on its parent / transient parent chain, we
need to reevaluate the blocked status each time the parent or transient
parent of a window changes.

Task-number: QTBUG-26112
Change-Id: Ida6b118b556fe26d17fa86335a0fe7baddc7eaf8
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
src/gui/kernel/qguiapplication.cpp
src/gui/kernel/qguiapplication_p.h
src/gui/kernel/qwindow.cpp