diff options
author | Andy Shaw <andy.shaw@digia.com> | 2015-02-24 21:13:06 +0100 |
---|---|---|
committer | Andy Shaw <andy.shaw@digia.com> | 2015-03-09 12:29:43 +0000 |
commit | 72ef272733d9b91c991233d826054cccb926db2d (patch) | |
tree | df57e2229b8ddc2765d4b09d386f38e026840ec1 /src | |
parent | 1edd16879c238d36d75843be3b54bb20925eeedc (diff) |
(Re)introduce loopLevel into QThread
This function used to reside in QEventLoop in Qt 3 and was deprecated in
Qt 4. However this is useful for those who want to know how many event
loops are running within the thread so we just make it possible to get at
the already available variable.
Change-Id: Ia6a7d94ff443a1d1577633363694bc2fa8eca7e4
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/thread/qthread.cpp | 13 | ||||
-rw-r--r-- | src/corelib/thread/qthread.h | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/corelib/thread/qthread.cpp b/src/corelib/thread/qthread.cpp index f119828e8e..acee337642 100644 --- a/src/corelib/thread/qthread.cpp +++ b/src/corelib/thread/qthread.cpp @@ -711,6 +711,19 @@ QThread::Priority QThread::priority() const \sa terminate() */ +/*! + Returns the current event loop level for the thread. + + \note This can only be called within the thread itself, i.e. when + it is the current thread. +*/ + +int QThread::loopLevel() const +{ + Q_D(const QThread); + return d->data->eventLoops.size(); +} + #else // QT_NO_THREAD QThread::QThread(QObject *parent) diff --git a/src/corelib/thread/qthread.h b/src/corelib/thread/qthread.h index 72d8f5a5f8..58755b9625 100644 --- a/src/corelib/thread/qthread.h +++ b/src/corelib/thread/qthread.h @@ -90,6 +90,7 @@ public: void setEventDispatcher(QAbstractEventDispatcher *eventDispatcher); bool event(QEvent *event) Q_DECL_OVERRIDE; + int loopLevel() const; public Q_SLOTS: void start(Priority = InheritPriority); |