diff --git a/src/connectivity/ice_transport.cpp b/src/connectivity/ice_transport.cpp index b025934d09d948c49214ef047a92968c82585158..3c56dad51785848fe2bd80d438c2fca3a035ecc0 100644 --- a/src/connectivity/ice_transport.cpp +++ b/src/connectivity/ice_transport.cpp @@ -89,9 +89,9 @@ public: ~IceLock() { unlock(); } - void lock() { pj_grp_lock_acquire(lk_); } + void lock() { if (lk_) pj_grp_lock_acquire(lk_); } - void unlock() { pj_grp_lock_release(lk_); } + void unlock() { if (lk_) pj_grp_lock_release(lk_); } }; class IceTransport::Impl @@ -1176,6 +1176,8 @@ IceTransport::isStarted() const bool IceTransport::isRunning() const { + if (!pimpl_->icest_) + return false; IceLock lk(pimpl_->icest_); return pimpl_->_isRunning(); }