Fix ksmserver flicker on logout with ARGB visuals

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1255031 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
v3.5.13-sru
tpearson 13 years ago
parent bed76819b9
commit 55c5a2f108

@ -533,7 +533,19 @@ KSMShutdownIPFeedback::KSMShutdownIPFeedback()
system("krootbacking &"); system("krootbacking &");
} }
resize(0, 0); // eliminate nasty flicker on first show
m_root.resize( kapp->desktop()->width(), kapp->desktop()->height() );
TQImage blendedImage = TQImage( kapp->desktop()->width(), kapp->desktop()->height(), 32 );
TQPainter p;
p.begin( &m_root );
blendedImage.setAlphaBuffer(false);
p.drawImage( 0, 0, blendedImage );
p.end();
setBackgroundPixmap( m_root );
setGeometry( TQApplication::desktop()->geometry() );
setBackgroundMode( TQWidget::NoBackground );
setShown(true); setShown(true);
} }
@ -563,19 +575,6 @@ void KSMShutdownIPFeedback::slotPaintEffect()
{ {
TQPixmap pm = m_rootPixmap; TQPixmap pm = m_rootPixmap;
if (mPixmapTimeout == 0) { if (mPixmapTimeout == 0) {
// eliminate nasty flicker on first show
m_root.resize( kapp->desktop()->width(), kapp->desktop()->height() );
TQImage blendedImage = TQImage( kapp->desktop()->width(), kapp->desktop()->height(), 32 );
TQPainter p;
p.begin( &m_root );
blendedImage.setAlphaBuffer(false);
p.drawImage( 0, 0, blendedImage );
p.end();
setBackgroundPixmap( m_root );
setGeometry( TQApplication::desktop()->geometry() );
setBackgroundMode( TQWidget::NoBackground );
if (TQPaintDevice::x11AppDepth() != 32) { if (TQPaintDevice::x11AppDepth() != 32) {
m_sharedRootPixmap->start(); m_sharedRootPixmap->start();
} }

Loading…
Cancel
Save