Priority: P2: Important
Affects Version/s: 5.14.2, 6.0.2
Fix Version/s: None
We use Qt for palettes and modal dialogs inside Adobe Illustrator on macOS, i.e. with AA_PluginApplication.
While upgrading from Qt 5.4, we bumped into a regression caused by QTBUG-45768 introduced in Qt 5.7:
a) Every single keydown generates a beep in modal dialogs
b) In some cases dialog rejection with the Escape key is handled twice
This was solved for non-AA_PluginApplication use-cases in
But in our AA_PluginApplication case, all keys are still propagated in keyDown().
When stepped thru handleKeyEvent() in qnsview_keys.mm, I noticed that QWindowSystemInterface::handleExtendedKeyEvent() returns whether the key has been consumed.
But the return value is discarded and the call is followed by "accepted = QWindowSystemInterface::flushWindowSystemEvents();".
But this seems to always return false because QWindowSystemInterfacePrivate::windowSystemEventQueue is empty.
Thus I believe handleKeyEvent() should propagate the value returned by handleExtendedKeyEvent().
I am not sure what it should do with the return value of flushWindowSystemEvents().
I am providing patch files for Qt 5.14.2 and 6.0.2, where both return values are or-ed.