(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>
This commit is contained in:
Andy Shaw 2015-02-24 21:13:06 +01:00
parent 1edd16879c
commit 72ef272733
2 changed files with 14 additions and 0 deletions

View File

@ -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)

View File

@ -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);