Created attachment 521211 [details]
Build identifier: Mozilla/5.0 (Windows NT 5.1; rv:2.0) Gecko/20100101 Firefox/4.0
After unlocking the screen, the canvas element has artefacts from Windows's screen.
1.Go to http://ratemydrawings.com/bebraw/copyclip/copyclip.html
2.Lock the screen (START+L)
3.Unlock the screen
3.The canvas is painted with artefacts from Windows's window
3.The canvas is painted without artefacts
On Windows XP, locking the screen throws away VRAM, which means we lose the pixel data.
We could fix this in the short term by re-uploading the canvas image after it's been lost, but once we start using GPU acceleration for canvas drawing on XP, that won't work anymore. Unless we periodically "back up" the canvas image when idle, or something like that, but that won't always work and sounds like more effort than it's worth.
We should be re-uploading when we reset the layer manager because of a screen lock, so this shouldn't be happening! Can anyone reproduce this bug?
Created attachment 588804 [details] [diff] [review]
Properly re-upload after clearing mTexture
Not everyone can reproduce this bug probably, because a lot of drivers clear textures when created.
But we fail to upload properly after we detect no texture being present. When the surface is dirty we'll try to update, but bail after we create the missing texture. If the surface isn't dirty we won't re-upload at all.
This patch should fix that bug.