1) recursive mutexes are not acceptable. google around for decades-old criticisms and the story of how they came to be part of pthreads. <div><br></div><div>2) the zoom bug is almost certainly caused by memory corruption somewhere in libart_lpgl and/or libgnomecanvas. many hours have been spent on it, to no avail. post-3.0 we will be switching to a different canvas and the problem will either go away or manifest in a more obvious way,<br>
<br></div>