http://bugs.winehq.org/show_bug.cgi?id=31566
--- Comment #6 from Erich Hoover erich.e.hoover@gmail.com --- Created attachment 49035 --> http://bugs.winehq.org/attachment.cgi?id=49035 Flip the order of a very critical set of locks
I finally took some time to look into this again. It looks like what happens is that there's two threads, and at the time of the lock conflict this is what the situation looks like: ==Thread 1== csRenderLock ... other code ... filter.csFilter ==Thread 2== filter.csFilter csRenderLock
So, the attached patch changes the lock order on "Thread 2" since there's no code in between the two locks to care about the lock order.