Dear Developers,
The UI thread is not the appropriate place to be running long-running tasks. Setting the cursor to the "wait" cursor doesn't make running something in the UI thread OK - it just means that the cursor will let you know that the application is supposed to be completely unresponsive.
Don't forget, if you run a long-running task in the UI thread, Windows will think your application is "Not Responding."
Please, remember to make sure you can keep on checking your message queue. An application full of grayed-out controls beats the "hall-of-mirrors" generated by an application ignoring repaint requests...
Thanks,
Xenoveritas
P.S. That means you, OpenOffice.org. Running crap in the UI thread is bad. Not bothering to set the cursor to the "wait" cursor is also bad.
P.P.S. As for you, Firefox, running all chrome JavaScript in the UI thread may make threading issues easier, but it's still bad.