Commit the following patch from Bug 1499:

tdebase: fix kdesktop resize bug
pull/2/head
Timothy Pearson 10 years ago
parent d9227036c7
commit 4d21a120d2

@ -118,6 +118,7 @@ KBackgroundManager::KBackgroundManager(TQWidget *desktop, KWinModule* twinModule
/*CrossFade's config*/ /*CrossFade's config*/
m_crossTimer = new TQTimer(this); m_crossTimer = new TQTimer(this);
connect(m_crossTimer, TQT_SIGNAL(timeout()), TQT_SLOT(slotCrossFadeTimeout())); connect(m_crossTimer, TQT_SIGNAL(timeout()), TQT_SLOT(slotCrossFadeTimeout()));
resizingDesktop = true;
/*Ends here*/ /*Ends here*/
@ -351,6 +352,7 @@ void KBackgroundManager::slotChangeNumberOfDesktops(int num)
*/ */
void KBackgroundManager::slotChangeDesktop(int desk) void KBackgroundManager::slotChangeDesktop(int desk)
{ {
resizingDesktop = true;
TQSize s(m_pKwinmodule->numberOfViewports(m_pKwinmodule->currentDesktop())); TQSize s(m_pKwinmodule->numberOfViewports(m_pKwinmodule->currentDesktop()));
m_numberOfViewports = s.width() * s.height(); m_numberOfViewports = s.width() * s.height();
if (m_numberOfViewports < 1) { if (m_numberOfViewports < 1) {
@ -646,7 +648,7 @@ void KBackgroundManager::slotImageDone(int desk)
if (current) if (current)
{ {
//START //START
if (m_Renderer[effectiveDesktop()]->renderer(0)->crossFadeBg() && !m_Renderer[effectiveDesktop()]->renderer(0)->usingCrossXml()){ if (m_Renderer[effectiveDesktop()]->renderer(0)->crossFadeBg() && !m_Renderer[effectiveDesktop()]->renderer(0)->usingCrossXml() && !resizingDesktop) {
int mode = m_Renderer[effectiveDesktop()]->renderer(0)->wallpaperMode(); int mode = m_Renderer[effectiveDesktop()]->renderer(0)->wallpaperMode();
width = TQApplication::desktop()->screenGeometry().width(); width = TQApplication::desktop()->screenGeometry().width();
height = TQApplication::desktop()->screenGeometry().height(); height = TQApplication::desktop()->screenGeometry().height();
@ -700,6 +702,8 @@ void KBackgroundManager::slotImageDone(int desk)
r->saveCacheFile(); r->saveCacheFile();
r->cleanup(); r->cleanup();
} }
resizingDesktop = false;
} }
@ -1004,6 +1008,7 @@ void KBackgroundManager::repaintBackground()
void KBackgroundManager::desktopResized() void KBackgroundManager::desktopResized()
{ {
resizingDesktop = true;
for (unsigned i=0; i<m_Renderer.size(); i++) for (unsigned i=0; i<m_Renderer.size(); i++)
{ {
KVirtualBGRenderer * r = m_Renderer[i]; KVirtualBGRenderer * r = m_Renderer[i];
@ -1025,8 +1030,12 @@ void KBackgroundManager::desktopResized()
#endif #endif
m_Hash = 0; m_Hash = 0;
if( m_pDesktop ) if( m_pDesktop ) {
m_pDesktop->resize( kapp->desktop()->geometry().size()); m_pDesktop->resize( kapp->desktop()->geometry().size());
if (m_Renderer[effectiveDesktop()]->renderer(0)->usingCrossXml()){
m_Renderer[effectiveDesktop()]->renderer(0)->changeWallpaper();
}
}
// Repaint desktop // Repaint desktop
slotChangeDesktop(0); slotChangeDesktop(0);
repaintBackground(); repaintBackground();

@ -142,6 +142,7 @@ private:
int fadeDesk; int fadeDesk;
TQTime mBenchmark; TQTime mBenchmark;
bool crossInit; bool crossInit;
bool resizingDesktop; // is True if desktop is resizing
}; };
#endif // __BGMANAGER_H__ #endif // __BGMANAGER_H__

Loading…
Cancel
Save