diff --git a/ftshelpers.cc b/ftshelpers.cc index 0d775282..c1a8f08f 100644 --- a/ftshelpers.cc +++ b/ftshelpers.cc @@ -399,11 +399,6 @@ bool isCJKChar( ushort ch ) return false; } -void FTSResultsRequestRunnable::run() -{ - r.run(); -} - void FTSResultsRequest::checkArticles( QVector< uint32_t > const & offsets, QStringList const & words, QRegExp const & searchRegexp ) diff --git a/ftshelpers.hh b/ftshelpers.hh index f8392d09..6d0fa29a 100644 --- a/ftshelpers.hh +++ b/ftshelpers.hh @@ -65,28 +65,6 @@ void makeFTSIndex( BtreeIndexing::BtreeDictionary * dict, QAtomicInt & isCancell bool isCJKChar( ushort ch ); -class FTSResultsRequest; - -class FTSResultsRequestRunnable : public QRunnable -{ - FTSResultsRequest & r; - QSemaphore & hasExited; - -public: - - FTSResultsRequestRunnable( FTSResultsRequest & r_, - QSemaphore & hasExited_ ) : r( r_ ), - hasExited( hasExited_ ) - {} - - ~FTSResultsRequestRunnable() - { - hasExited.release(); - } - - virtual void run(); -}; - class FTSResultsRequest : public Dictionary::DataRequest { BtreeIndexing::BtreeDictionary & dict; @@ -102,7 +80,6 @@ class FTSResultsRequest : public Dictionary::DataRequest int wordsInIndex; QAtomicInt isCancelled; - QSemaphore hasExited; QList< FTS::FtsHeadword > * foundHeadwords; @@ -149,11 +126,10 @@ public: searchString = gd::toQString( Folding::applyDiacriticsOnly( gd::toWString( searchString_ ) ) ); foundHeadwords = new QList< FTS::FtsHeadword >; - QThreadPool::globalInstance()->start( - new FTSResultsRequestRunnable( *this, hasExited ), -100 ); + QThreadPool::globalInstance()->start( [ this ]() { this->run(); }, -100 ); } - void run(); // Run from another thread by DslResourceRequestRunnable + void run(); virtual void cancel() { @@ -165,7 +141,6 @@ public: isCancelled.ref(); if( foundHeadwords ) delete foundHeadwords; - hasExited.acquire(); } };