From 42c86bba9d46d8d16ffd6c90ec34857eccc23df4 Mon Sep 17 00:00:00 2001 From: David Faure Date: Fri, 20 Jul 2012 20:52:44 +0200 Subject: Remove winEventFilter, replaced with installNativeEventFilter. No reason to keep a virtual method for Windows when all other similar methods (macEvent and x11Event) have been removed, and when installNativeEventFilter provides a much nicer solution (no need to derive from QApplication). Change-Id: Ia2a7960e320fcbd04cef91f467900861dbb377c1 Reviewed-by: Lars Knoll --- src/corelib/kernel/qcoreapplication.cpp | 36 ----------------------------- src/corelib/kernel/qcoreapplication.h | 5 ---- src/corelib/kernel/qcoreapplication_win.cpp | 15 ------------ src/corelib/kernel/qeventdispatcher_win.cpp | 6 ++--- 4 files changed, 3 insertions(+), 59 deletions(-) (limited to 'src/corelib') diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp index 5ffd94b068..58d8957812 100644 --- a/src/corelib/kernel/qcoreapplication.cpp +++ b/src/corelib/kernel/qcoreapplication.cpp @@ -2138,42 +2138,6 @@ void QCoreApplication::removeLibraryPath(const QString &path) #endif //QT_NO_LIBRARY -/*! - Sends \a message through the event filters that were set by - installNativeEventFilter(). This function returns true as soon as an - event filter returns true, and false otherwise to indicate that - the processing of the event should continue. - - Subclasses of QAbstractEventDispatcher \e must call this function - for \e all messages received from the system to ensure - compatibility with any extensions that may be used in the - application. - - Note that the type of \a message is platform dependent. See - QAbstractNativeEventFilter for details. - - \sa installNativeEventFilter() - \since 5.0 - - \internal - This method only exists for the Windows event dispatcher to call the winEventFilter virtual. - Every other platform can just use QAbstractNativeEventFilter::filterNativeEvent directly. -*/ -bool QCoreApplication::filterNativeEvent(const QByteArray &eventType, void *message, long *result) -{ - if (result) - *result = 0; -#ifdef Q_OS_WIN - if (winEventFilter(reinterpret_cast(message), result)) - return true; -#endif - QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance(); - if (dispatcher) - return dispatcher->filterNativeEvent(eventType, message, result); - return false; -} - - /*! Installs an event filter \a filterObj for all native events received by the application in the main thread. diff --git a/src/corelib/kernel/qcoreapplication.h b/src/corelib/kernel/qcoreapplication.h index 549b6f135d..b791c9168a 100644 --- a/src/corelib/kernel/qcoreapplication.h +++ b/src/corelib/kernel/qcoreapplication.h @@ -152,17 +152,12 @@ public: static void flush(); -#if defined(Q_OS_WIN) - virtual bool winEventFilter(MSG *message, long *result); -#endif - #if defined(Q_OS_UNIX) static void watchUnixSignal(int signal, bool watch); #endif void installNativeEventFilter(QAbstractNativeEventFilter *filterObj); void removeNativeEventFilter(QAbstractNativeEventFilter *filterObj); - bool filterNativeEvent(const QByteArray &eventType, void *message, long *result); static bool isQuitLockEnabled(); static void setQuitLockEnabled(bool enabled); diff --git a/src/corelib/kernel/qcoreapplication_win.cpp b/src/corelib/kernel/qcoreapplication_win.cpp index e42411917f..bba27272f9 100644 --- a/src/corelib/kernel/qcoreapplication_win.cpp +++ b/src/corelib/kernel/qcoreapplication_win.cpp @@ -157,21 +157,6 @@ void qWinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParam, Q_UNUSED(prevInstance); } -/*! - The message procedure calls this function for every message - received. Reimplement this function if you want to process window - messages \a msg that are not processed by Qt. If you don't want - the event to be processed by Qt, then return true and set \a result - to the value that the window procedure should return. Otherwise - return false. -*/ -bool QCoreApplication::winEventFilter(MSG *msg, long *result) // Windows event filter -{ - Q_UNUSED(msg); - Q_UNUSED(result); - return false; -} - void QCoreApplicationPrivate::removePostedTimerEvent(QObject *object, int timerId) { QThreadData *data = object->d_func()->threadData; diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index e5cc627edb..baacfa6a80 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -353,13 +353,13 @@ LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPA msg.message = message; msg.wParam = wp; msg.lParam = lp; - QCoreApplication *app = QCoreApplication::instance(); + QAbstractEventDispatcher* dispatcher = QAbstractEventDispatcher::instance(); long result; - if (!app) { + if (!dispatcher) { if (message == WM_TIMER) KillTimer(hwnd, wp); return 0; - } else if (app->filterNativeEvent(QByteArrayLiteral("windows_dispatcher_MSG"), &msg, &result)) { + } else if (dispatcher->filterNativeEvent(QByteArrayLiteral("windows_dispatcher_MSG"), &msg, &result)) { return result; } -- cgit v1.2.3