Nathan Weinberg wrote a good article in a blog at Microsoft, about a “fix” for a problem with Adobe Photoshop. You can (and if you use Photoshop, you should) read it here:
How To Fix The Photoshop Clipboard (Sept 5, 2007)
It was an interesting read for me, confirming some things I’ve suspected. I’ve always assumed that Photoshop keeps its own, separate clipboard for internal copy/paste (just call it a “hunch”, after years of support questions…) But it seems that you can get into a bind where Photoshop doesn’t update its internal clipboard when the external one changes. The user copies something from somewhere, and pastes it into Photoshop.. and gets something that he copied WITHIN Photoshop, half an hour ago. Of course, users hate that.
Developers never seem to learn: don’t try to be too cute with the clipboard. When the user wants to paste, go and get the clipboard contents and paste it. Don’t try to monitor the clipboard to see if you like it, or if it has newer data than your internal buffer. If the user wants to paste, just paste from the clipboard. Smoke and mirror tricks will always end badly, when you try to account for anyting and everything that could be happening to the clipboard.
Of course, this is likely due to blind faith in the clipboard notification process. It probably worked great in the lab though!