diff options
author | Olivier Goffart <ogoffart@trolltech.com> | 2009-12-15 09:47:54 (GMT) |
---|---|---|
committer | Olivier Goffart <ogoffart@trolltech.com> | 2009-12-15 09:47:54 (GMT) |
commit | fcf91a2d527b393a366c997dd225c076afe34718 (patch) | |
tree | 0c8027b9f1059a5c63e777838fb4bf45b72293fc /src/corelib/kernel/qeventdispatcher_win.cpp | |
parent | efa48b0a5dba8c8c93612e534d04b5b04629b75c (diff) | |
parent | 1a867a3c692e375565618532b8ca686dab7e7d5e (diff) | |
download | Qt-fcf91a2d527b393a366c997dd225c076afe34718.zip Qt-fcf91a2d527b393a366c997dd225c076afe34718.tar.gz Qt-fcf91a2d527b393a366c997dd225c076afe34718.tar.bz2 |
Merge commit 'origin/4.6'
Conflicts:
src/corelib/io/qfsfileengine.cpp
src/network/access/qnetworkrequest.cpp
tests/auto/qgraphicswidget/tst_qgraphicswidget.cpp
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_win.cpp')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_win.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index 115049f..693ed25 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -524,7 +524,11 @@ LRESULT CALLBACK qt_GetMessageHook(int code, WPARAM wp, LPARAM lp) } } } +#ifdef Q_OS_WINCE + return 0; +#else return CallNextHookEx(0, code, wp, lp); +#endif } static HWND qt_create_internal_window(const QEventDispatcherWin32 *eventDispatcher) @@ -651,11 +655,13 @@ void QEventDispatcherWin32::createInternalHwnd() return; d->internalHwnd = qt_create_internal_window(this); +#ifndef Q_OS_WINCE // setup GetMessage hook needed to drive our posted events d->getMessageHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC) qt_GetMessageHook, NULL, GetCurrentThreadId()); if (!d->getMessageHook) { qFatal("Qt: INTERNALL ERROR: failed to install GetMessage hook"); } +#endif // register all socket notifiers QList<int> sockets = (d->sn_read.keys().toSet() @@ -746,6 +752,11 @@ bool QEventDispatcherWin32::processEvents(QEventLoop::ProcessEventsFlags flags) } } if (haveMessage) { +#ifdef Q_OS_WINCE + // WinCE doesn't support hooks at all, so we have to call this by hand :( + (void) qt_GetMessageHook(0, PM_REMOVE, (LPARAM) &msg); +#endif + if (d->internalHwnd == msg.hwnd && msg.message == WM_QT_SENDPOSTEDEVENTS) { if (seenWM_QT_SENDPOSTEDEVENTS) { // when calling processEvents() "manually", we only want to send posted @@ -1082,9 +1093,11 @@ void QEventDispatcherWin32::closingDown() d->timerVec.clear(); d->timerDict.clear(); +#ifndef Q_OS_WINCE if (d->getMessageHook) UnhookWindowsHookEx(d->getMessageHook); d->getMessageHook = 0; +#endif } bool QEventDispatcherWin32::event(QEvent *e) |