--- a/src/dvdnav.c 2009-11-08 16:58:25.000000000 +0300 +++ b/src/dvdnav.c 2009-11-08 16:58:52.000000000 +0300 @@ -180,12 +180,13 @@ pthread_mutex_unlock(&this->vm_lock); return DVDNAV_STATUS_ERR; } + pthread_mutex_unlock(&this->vm_lock); + #ifdef LOG_DEBUG fprintf(MSG_OUT, "libdvdnav: clearing dvdnav\n"); #endif result = dvdnav_clear(this); - pthread_mutex_unlock(&this->vm_lock); return result; }