summaryrefslogtreecommitdiffstats
path: root/kdesktop/bgmanager.cc
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-05-06 21:35:54 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-05-06 21:35:54 +0000
commit4b06331086ba155155239d9e9a174a2dbc48c899 (patch)
treec203753dbde58faa1f2f07d16f91ab458ba129c0 /kdesktop/bgmanager.cc
parent09699fd899efc9ba7a1bb1a1b3f3172ef9b6fc19 (diff)
downloadtdebase-4b06331086ba155155239d9e9a174a2dbc48c899.tar.gz
tdebase-4b06331086ba155155239d9e9a174a2dbc48c899.zip
Repaired background update problems on desktop resize/background configuration change
Added initial framework for panel icon size configuration git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1123766 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesktop/bgmanager.cc')
-rw-r--r--kdesktop/bgmanager.cc21
1 files changed, 19 insertions, 2 deletions
diff --git a/kdesktop/bgmanager.cc b/kdesktop/bgmanager.cc
index 7a9fe5fd5..c3317708c 100644
--- a/kdesktop/bgmanager.cc
+++ b/kdesktop/bgmanager.cc
@@ -243,6 +243,16 @@ void KBackgroundManager::configure()
// Repaint desktop
slotChangeDesktop(0);
+
+ // Redraw all desktops so that applications relying on exported data, e.g. kpager, continue to work properly
+ QSize s(m_pKwinmodule->numberOfViewports(m_pKwinmodule->currentDesktop()));
+ m_numberOfViewports = s.width() * s.height();
+ if (m_numberOfViewports < 1) {
+ m_numberOfViewports = 1;
+ }
+ for (unsigned j=0;j<(m_pKwinmodule->numberOfDesktops() * m_numberOfViewports);j++) {
+ renderBackground(j);
+ }
}
@@ -947,8 +957,15 @@ void KBackgroundManager::desktopResized()
slotChangeDesktop(0);
repaintBackground();
- // Signal KWin that the usable desktop area has probably changed...
- // Use the DCOP signal kDestopResized
+ // Redraw all desktops so that applications relying on exported data, e.g. kpager, continue to work properly
+ QSize s(m_pKwinmodule->numberOfViewports(m_pKwinmodule->currentDesktop()));
+ m_numberOfViewports = s.width() * s.height();
+ if (m_numberOfViewports < 1) {
+ m_numberOfViewports = 1;
+ }
+ for (unsigned j=0;j<(m_pKwinmodule->numberOfDesktops() * m_numberOfViewports);j++) {
+ renderBackground(j);
+ }
}
// DCOP exported