| 158 | } |
| 159 | |
| 160 | void FramePlaybackObject::finalize() |
| 161 | { |
| 162 | /* 1) execute in mThread_p context */ |
| 163 | if( mThread_p && (mThread_p != QThread::currentThread()) ) |
| 164 | { |
| 165 | /* if thread is finished, it means we call this function for the second time so we can leave */ |
| 166 | if( !mThread_p->isFinished() ) |
| 167 | { |
| 168 | /* we need to call piStop() */ |
| 169 | QMetaObject::invokeMethod(this, "finalize", |
| 170 | Qt::BlockingQueuedConnection); |
| 171 | /* 3) stop thread */ |
| 172 | mThread_p->quit(); |
| 173 | if(!mThread_p->wait()) { |
| 174 | qDebug() << "can't stop thread"; |
| 175 | } |
| 176 | } |
| 177 | return; |
| 178 | } |
| 179 | |
| 180 | /* 2) call piStop in mThread context */ |
| 181 | return piStop(); |
| 182 | } |
| 183 | |
| 184 | void FramePlaybackObject::startPlaybackForward() |
| 185 | { |
nothing calls this directly
no outgoing calls
no test coverage detected