diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-05-06 21:35:54 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-05-06 21:35:54 +0000 |
commit | 4b06331086ba155155239d9e9a174a2dbc48c899 (patch) | |
tree | c203753dbde58faa1f2f07d16f91ab458ba129c0 /kdesktop/bgmanager.cc | |
parent | 09699fd899efc9ba7a1bb1a1b3f3172ef9b6fc19 (diff) | |
download | tdebase-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.cc | 21 |
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 |