[Development] QWinEventNotifier does not handle kernel events when dragging GUI window. This is a bug?

bradley.hughes at nokia.com bradley.hughes at nokia.com
Wed Dec 14 13:02:51 CET 2011


On 14 Dec, 2011, at 09:46 , ext Denis wrote:
[snip]
> Tell me, what it is: OS Windows feature or bug notifier?

This is a Windows "feature" you could say. You will see this behavior whenever Windows runs a local event loop: moving or resizing a window with the mouse, opening the application menu, showing native dialogs, probably others.

> And can it somehow be solved without resorting to the creation of additional threads?

It's hard to say, to be honest. There are several things we could try, but I can't guarantee that they would work.

Have a look at the history of the Windows event dispatcher in Qt 4.8. All of the work here forms the base for the event dispatcher in Qt 5. Some of the ideas to ensure that Qt's posted events are always sent might be able to help solve this problem. 

http://qt.gitorious.org/qt/qt/blobs/history/4.8/src/corelib/kernel/qeventdispatcher_win.cpp

Some commits that are worth noting:

http://qt.gitorious.org/qt/qt/commit/31f1ff91028dd7f90925d5b3737e4d88b5fb07aa
http://qt.gitorious.org/qt/qt/commit/f21d183b26ea824fadb7c54a3ba9cdf66d99b726
http://qt.gitorious.org/qt/qt/commit/7196045b78b33cf135683d5c0b4e164f95231791

Finally, for convenience, here's the current history for the Windows event dispatcher in Qt 5:

http://qt.gitorious.org/qt/qtbase/blobs/history/master/src/corelib/kernel/qeventdispatcher_win.cpp

Good luck :)

--
Bradley T. Hughes
bradley.hughes at nokia.com







More information about the Development mailing list