On Fri, Jul 22, 2011 at 02:49:54PM -0400, Owen Taylor wrote: > On Thu, 2011-07-21 at 00:24 +0300, Ville Syrjälä wrote: > > > I did actually have to see it live to figure out what was going on ... > > > but once I saw it, and thought about it a bit, I was able to avoid > > > digging out the debugger. > > > > > > What's going on is that for a window with a non-None background, the > > > copying between the parent pixmap and the composite pixmap that we do > > > isn't sufficient - all that copying is doing is making sure that things > > > _look_ right initially - it doesn't actually suppress expose event > > > generation and the background painting that happens during expose event > > > generation. > > > > The pointless expose events were supposed to be eliminated by another > > patch set [1]. At least my test app [2] manages to redirect/unredirect > > non-None windows w/o generating unnecessary expose events. > > Hmm, OK, I had those patches applied, but figured that the expose events > were being generated by some other path than Map/Unmap. It turns out > that they were being generated because my test Mutter code wasn't > ordering things correctly. > > With that fixed, I can't reproduce any flickering with Evince. It > redirects and unredirects seamlessly when I pop up a menu. (This is with > GTK+-3, but there shouldn't be any difference from GTK+-2 in this > regard.) > > So, I'm not sure what was happening in your testing but I'm pretty happy > with how things are working for me!
I suppose it's possible compiz does things in the wrong order as well. I never bothered to investigate the issue properly since compiz and GTK+ weren't my real target with these patches. -- Ville Syrjälä [email protected] http://www.sci.fi/~syrjala/ _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
