diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-05-07 00:12:51 -0500 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-05-09 19:56:11 +0200 |
commit | 35fbe8f408dde2fa0efe2aba3f8ecc78565e6696 (patch) | |
tree | a12034bc9629cc55176732580139237c7afdf43c /kdm/kfrontend/themer/kdmitem.cpp | |
parent | 807a5445cad7b0de7c572c58cf7c86f265b6de66 (diff) | |
download | tdebase-35fbe8f408dde2fa0efe2aba3f8ecc78565e6696.tar.gz tdebase-35fbe8f408dde2fa0efe2aba3f8ecc78565e6696.zip |
Fix TDM hang in certain circumstances when themed greeter is deleted
This resolves Bug 1453
Resolve themed greeter drawing inconsistencies between composited and non-composited mode
(cherry picked from commit 3421d01bb00aaf52883a4d21eade96e9c663e05d)
Diffstat (limited to 'kdm/kfrontend/themer/kdmitem.cpp')
-rw-r--r-- | kdm/kfrontend/themer/kdmitem.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/kdm/kfrontend/themer/kdmitem.cpp b/kdm/kfrontend/themer/kdmitem.cpp index 1c859d101..e7cb11244 100644 --- a/kdm/kfrontend/themer/kdmitem.cpp +++ b/kdm/kfrontend/themer/kdmitem.cpp @@ -286,17 +286,18 @@ KdmItem::setGeometry( const TQRect &newGeometry, bool force ) void KdmItem::paint( TQPainter *p, const TQRect &rect ) { - if (isHidden()) + if (isHidden()) { return; + } if (myWidget || (myLayoutItem && myLayoutItem->widget())) { - // KListView because it's missing a Q_OBJECT' + // KListView because it's missing a Q_OBJECT // FIXME: This is a nice idea in theory, but in practice it is // very confusing for the user not to see the empty list box // delineated from the rest of the greeter. // Maybe set a darker version of the background instead of an exact copy? if ( myWidget && myWidget->isA( "KListView" ) ) { - if ((_compositor.isEmpty()) || (!argb_visual_available)) { + if (!argb_visual_available) { // Software blend only (no compositing support) TQPixmap copy( myWidget->size() ); kdDebug() << myWidget->geometry() << " " << area << " " << myWidget->size() << endl; @@ -371,13 +372,15 @@ KdmItem::paint( TQPainter *p, const TQRect &rect ) p->drawRect( area ); #endif - if (myLayoutItem) + if (myLayoutItem) { return; + } // Dispatch paint events to children TQValueList<KdmItem *>::Iterator it; - for (it = m_children.begin(); it != m_children.end(); ++it) + for (it = m_children.begin(); it != m_children.end(); ++it) { (*it)->paint( p, rect ); + } } |