
the old way fired off a new (very short lived) thread for each message received, and if two happened really really quickly, they'd both lock on the mutex and the order would be undefined this avoids that. thanks to oOo et al for pestering me and sending in logs :)