quicksilver/Quicksilver — pull request #1133 by pjrobertson (2012-09-22 10:35:51+00:00)
Title: Crash Reporter fixes

I figured if everyone else was pushing to the QS repo why couldn't I? ;-)

Looking through the crash reports for ß70, we're STILL getting multithreading crashes :(
One which I've singled out was that the catalog was trying to be saved whilst it was being scanned, so I've fixed that.

The other is quiet strange. Since I moved the `if(isScanning)` up a level to `scanAndCache` in the previous release, a new crash has come in where `scannedObjects` is being run on to separate threads.
My only thought is that the second thread to run `scanAndCache:` is still seeing `isScanning == FALSE`, before the first thread has had time to change it to `isScanning = TRUE`.
Adding the check back into `scannedObjects` just ensures we're checking again before we actually do any scanning.