diff options
author | Jørgen Lind <jorgen.lind@nokia.com> | 2010-07-15 16:57:07 +0200 |
---|---|---|
committer | Jørgen Lind <jorgen.lind@nokia.com> | 2010-07-20 09:35:34 +0200 |
commit | d9b023b5d38d858f29e7095aeb25a84f09a19c13 (patch) | |
tree | 565f6cb1ba2224142ee80bcf426a5df5e2fad34a /src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp | |
parent | e97e3616a33ed93283157514c6b208e071aca8be (diff) |
Eventloop integration in Lighthouse
This is exprimental and does not work with the glib eventloop.
Diffstat (limited to 'src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp')
-rw-r--r-- | src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp b/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp new file mode 100644 index 0000000000..467b5b5004 --- /dev/null +++ b/src/plugins/platforms/openkode/qopenkodeeventloopintegration.cpp @@ -0,0 +1,29 @@ +#include "qopenkodeeventloopintegration.h" + +#include <KD/kd.h> + +#include <QtCore/QDebug> + +QOpenKODEEventLoopIntegration::QOpenKODEEventLoopIntegration() +{ + m_kdThread = kdThreadSelf(); +} + +void QOpenKODEEventLoopIntegration::processEvents(qint64 msec) +{ + if (msec == 0) + msec = -1; + const KDEvent *event = kdWaitEvent(msec*1000); + if (event) { + kdDefaultEvent(event); + while ((event = kdWaitEvent(0)) != 0) { + kdDefaultEvent(event); + } + } +} + +void QOpenKODEEventLoopIntegration::wakeup() +{ + KDEvent *event = kdCreateEvent(); + kdPostThreadEvent(event,m_kdThread); +} |