diff options
author | Morten Sorvig <morten.sorvig@nokia.com> | 2011-06-09 11:18:27 +0200 |
---|---|---|
committer | Morten Sorvig <morten.sorvig@nokia.com> | 2011-06-09 11:19:12 +0200 |
commit | e3410908a2f81309dd31cc7389443623c3af61d2 (patch) | |
tree | 910046daf8d824ea6480fff5c2386c5115038afa /src/gui | |
parent | 0a4c2eae4bd5fcbf1ac3d91e7870def7e8b4a66b (diff) |
Add QEventDispatcherMac.
Create it directly in QGuiApplication for now,
later on we'll move it to the cocoa plugin.
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/kernel.pri | 8 | ||||
-rw-r--r-- | src/gui/kernel/qeventdispatcher_qpa.cpp | 2 | ||||
-rw-r--r-- | src/gui/kernel/qguiapplication.cpp | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/gui/kernel/kernel.pri b/src/gui/kernel/kernel.pri index 7d3140143e..f166e4ffeb 100644 --- a/src/gui/kernel/kernel.pri +++ b/src/gui/kernel/kernel.pri @@ -90,4 +90,12 @@ qpa { } } +mac { + HEADERS += \ + kernel/qeventdispatcher_mac_p.h + OBJECTIVE_SOURCES += \ + kernel/qeventdispatcher_mac.mm + LIBS += -framework CoreFoundation -framework Cocoa -framework Carbon +} + win32:HEADERS+=kernel/qwindowdefs_win.h diff --git a/src/gui/kernel/qeventdispatcher_qpa.cpp b/src/gui/kernel/qeventdispatcher_qpa.cpp index b3f41bf2c4..1a67fee4cd 100644 --- a/src/gui/kernel/qeventdispatcher_qpa.cpp +++ b/src/gui/kernel/qeventdispatcher_qpa.cpp @@ -111,12 +111,14 @@ bool QEventDispatcherQPA::processEvents(QEventLoop::ProcessEventsFlags flags) delete event; } +#ifdef Q_OS_MAC // (inverted inheritance on mac: QEventDispatcherMac calls QEventDispatcherQPA) if (!d->interrupt) { if (EVENTDISPATCHERBASE::processEvents(flags)) { EVENTDISPATCHERBASE::processEvents(flags); return true; } } +#endif return (nevents > 0); } diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp index 468e8c3bfd..81124473bd 100644 --- a/src/gui/kernel/qguiapplication.cpp +++ b/src/gui/kernel/qguiapplication.cpp @@ -50,6 +50,9 @@ #include "qeventdispatcher_glib_qpa_p.h" #endif #include "qeventdispatcher_qpa_p.h" +#ifdef Q_OS_MAC +#include "qeventdispatcher_mac_p.h" +#endif #include <QtCore/QAbstractEventDispatcher> #include <QtCore/private/qcoreapplication_p.h> @@ -245,7 +248,11 @@ void QGuiApplicationPrivate::createEventDispatcher() eventDispatcher = new QPAEventDispatcherGlib(q); else #endif - eventDispatcher = new QEventDispatcherQPA(q); +#ifdef Q_OS_MAC + eventDispatcher = new QEventDispatcherMac(q); +#else + eventDispatcher = new QEventDispatcherQPA(q); +#endif } void QGuiApplicationPrivate::init() |