diff --git a/panda/src/event/asyncFuture.cxx b/panda/src/event/asyncFuture.cxx index 6828213942..b1c8ce0fc3 100644 --- a/panda/src/event/asyncFuture.cxx +++ b/panda/src/event/asyncFuture.cxx @@ -315,6 +315,11 @@ wake_task(AsyncTask *task) { task->_state = AsyncTask::S_servicing; return; + case AsyncTask::S_active: + // It could have already been activated, such as by a cancel() which then + // indirectly caused the awaiting future to be cancelled. Do nothing. + return; + case AsyncTask::S_inactive: // Schedule it immediately. nassertv(task->_manager == nullptr);