diff --git a/src/libcamera/thread.cpp b/src/libcamera/thread.cpp index 029a0e8fd..18ebd16a7 100644 --- a/src/libcamera/thread.cpp +++ b/src/libcamera/thread.cpp @@ -439,11 +439,11 @@ void Thread::dispatchMessages() Object *receiver = msg->receiver_; ASSERT(data_ == receiver->thread()->data_); + receiver->pendingMessages_--; + locker.unlock(); receiver->message(msg.get()); locker.lock(); - - receiver->pendingMessages_--; } }