We can only paint a component without doublebuffering when all of it's
ancestors are also double buffering disabled. Otherwise the screen and
the backbuffer get out of sync and we get massive flickering. See the
bugreport
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28027
for an example and why I
This fixes a problem with Swing painting and the JViewport. When running
in backingstore scroll mode (the default now), sometimes it fails to
update the backingstore correctly. That happens (for instance) when you
select something in a list inside a JViewport. Then the selection gets
painted into t