summaryrefslogtreecommitdiffstats
path: root/kdm/kfrontend/themer/kdmitem.cpp
diff options
context:
space:
mode:
authorTimothy Pearson <kb9vqf@pearsoncomputing.net>2013-05-07 00:12:51 -0500
committerSlávek Banko <slavek.banko@axis.cz>2013-05-09 19:56:11 +0200
commit35fbe8f408dde2fa0efe2aba3f8ecc78565e6696 (patch)
treea12034bc9629cc55176732580139237c7afdf43c /kdm/kfrontend/themer/kdmitem.cpp
parent807a5445cad7b0de7c572c58cf7c86f265b6de66 (diff)
downloadtdebase-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.cpp13
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 );
+ }
}