When opening the bookmarks or identity arrow panels for the first time, or enlarging the bookmarks panel with "Show all the bookmarks folders", there is a black flicker where the panel should be transparent.
Created attachment 531239 [details] [diff] [review]
shape before drawing
I wrote this when looking at bug 635897, but this is not just for broken window managers.
We shouldn't be painting black into the window while it is still visible (or has just become visible but hasn't yet been shaped), and this may actually speed up painting the visible portion, because I assume the behavior from painting a region that is still shaped out is undefined.
I thought we cleared the window to black to clear out the malloc gunk from our buffer. With this patch, what happens when you have a panel background with alpha 0.6 (or something thats not low enough to trigger bring cleared by Xshape)?
This patch shouldn't change what's drawn to our buffer. ctx here is drawing to the window.
The patch doesn't change what happens when 0 < alpha < 1 (though treating 1/255 as alpha == 1 does seem a bad idea and gives black edges).
Mozilla/5.0 (X11; Linux i686; rv:6.0) Gecko/20100101 Firefox/6.0 - beta 2
Mozilla/5.0 (X11; Linux i686; rv:8.0a1) Gecko/20110719 Firefox/8.0a1
I can no longer see any black flickers when enlarging the bookmarks panel.
Setting status to Verified Fixed.