Details
-
Bug
-
Resolution: Done
-
P4: Low
-
5.10.1
-
None
-
Windows 10 64-bit
Visual Studio 2015 Update 3
Qt 5.10.1
-
a0a22037cdacbf51a2db560ff902a5a341561b15 (qtbase/5.11. 23.4.2018,5.11)
Description
When registering native event filters on Windows - each mouse and keyboard event is duplicated. Othe the other hand, some events like WM_CHAR are "swallowed". I see the following output in logging for every event (left mouse button clicked, then one character typed):
WM_LBUTTONDOWN
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_LBUTTONUP
WM_KEYDOWN
WM_KEYDOWN
WM_KEYUP
WM_KEYUP
While plain C WinAPI message loop logging results in:
WM_LBUTTONDOWN
WM_LBUTTONUP
WM_KEYDOWN
WM_CHAR
WM_KEYUP
The test project (find attached) is a basic QML project using Visual Studio 2015 32-bit for building. It creates single blank ApplicationWindow and registers object of class inheriting from QAbstractNativeEventFilter using QApplication::installNativeEventFilter.
The issue is serious since we have some 3rd party components that depend on correct handling of native windows events and the current message loop seems messed up...
Attachments
Issue Links
- is duplicated by
-
QTBUG-42183 QWidget::nativeEvents doesn't receive WM_KEY* messages
-
- Open
-
- relates to
-
QTBUG-69687 Running an event loop with ExcludeUserInputEvents still passes input events to QWidget::nativeEvent() instead of queueing as in Qt 4
-
- Closed
-
-
QTBUG-69074 The implemented nativeEvent message is not match as sent
-
- Closed
-