QEventDispatcherWin32: Check for WM_QT_SOCKETNOTIFIER on internal window only

Restrict the checking to the internal window handle to prevent it being
thrown off by other WM_USER messages used by applications.

Complements change 124b9a6ff8.

Task-number: QTBUG-62083
Change-Id: Ifb1b00e4ff70cb7e53873943e46cea0d72ff6257
Reviewed-by: Alex Trotsenko <alex1973tr@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Friedemann Kleint 2017-07-24 09:35:12 +02:00
parent 8f32e34734
commit 7c2850cd8f

View File

@ -207,7 +207,8 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA
// in the queue. WM_QT_ACTIVATENOTIFIERS will be posted again as a result of
// event processing.
MSG msg;
if (!PeekMessage(&msg, 0, WM_QT_SOCKETNOTIFIER, WM_QT_SOCKETNOTIFIER, PM_NOREMOVE)
if (!PeekMessage(&msg, d->internalHwnd,
WM_QT_SOCKETNOTIFIER, WM_QT_SOCKETNOTIFIER, PM_NOREMOVE)
&& d->queuedSocketEvents.isEmpty()) {
// register all socket notifiers
for (QSFDict::iterator it = d->active_fd.begin(), end = d->active_fd.end();