From 1c9a50141d128a02150d0adca3684f957e3e994f Mon Sep 17 00:00:00 2001 From: tpearson Date: Mon, 29 Mar 2010 23:34:07 +0000 Subject: Fixed pager background loading failure on inactive desktop and high CPU usage on Desktop 1 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1108873 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kicker/applets/minipager/pagerbutton.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'kicker/applets') diff --git a/kicker/applets/minipager/pagerbutton.cpp b/kicker/applets/minipager/pagerbutton.cpp index 06bd6ab6e..c17e0e1cb 100644 --- a/kicker/applets/minipager/pagerbutton.cpp +++ b/kicker/applets/minipager/pagerbutton.cpp @@ -206,6 +206,8 @@ void KMiniPagerButton::backgroundChanged() void KMiniPagerButton::loadBgPixmap() { + bool retval; + if (m_pager->bgType() != PagerSettings::EnumBackgroundType::BgLive) return; // not needed @@ -257,7 +259,13 @@ void KMiniPagerButton::loadBgPixmap() connect(s_commonSharedPixmap, SIGNAL(done(bool)), SLOT(backgroundLoaded(bool))); } - s_commonSharedPixmap->loadFromShared(QString("DESKTOP1")); + retval = s_commonSharedPixmap->loadFromShared(QString("DESKTOP1")); + if (retval == false) { + QDataStream args( data, IO_WriteOnly ); + args << 1; // Argument is 1 (true) + client->send(kdesktop_name, "KBackgroundIface", "setExport(int)", data); + retval = s_commonSharedPixmap->loadFromShared(QString("DESKTOP1")); + } } else { @@ -267,7 +275,13 @@ void KMiniPagerButton::loadBgPixmap() connect(m_sharedPixmap, SIGNAL(done(bool)), SLOT(backgroundLoaded(bool))); } - m_sharedPixmap->loadFromShared(QString("DESKTOP%1").arg(m_desktop)); + retval = m_sharedPixmap->loadFromShared(QString("DESKTOP%1").arg(m_desktop)); + if (retval == false) { + QDataStream args( data, IO_WriteOnly ); + args << 1; + client->send(kdesktop_name, "KBackgroundIface", "setExport(int)", data); + retval = m_sharedPixmap->loadFromShared(QString("DESKTOP%1").arg(m_desktop)); + } } } -- cgit v1.2.1