summaryrefslogtreecommitdiffstats
path: root/kdesktop/desktop.cc
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-07-08 19:47:41 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2011-07-08 19:47:41 +0000
commit20957d880f050d82c71939cb750c54a6dcfd70f4 (patch)
treed513e74daa32b26688133f2f87f0646df82fe2bc /kdesktop/desktop.cc
parent6171b5113040c768f68b673ec0e8ae2f82c64391 (diff)
downloadtdebase-20957d880f050d82c71939cb750c54a6dcfd70f4.tar.gz
tdebase-20957d880f050d82c71939cb750c54a6dcfd70f4.zip
Revert patch r1227273 due to a desktop drag-and-drop bug it introduced
This temporarily reintroduces bug 456 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1240473 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kdesktop/desktop.cc')
-rw-r--r--kdesktop/desktop.cc32
1 files changed, 20 insertions, 12 deletions
diff --git a/kdesktop/desktop.cc b/kdesktop/desktop.cc
index 1b047bd66..a3ddff56f 100644
--- a/kdesktop/desktop.cc
+++ b/kdesktop/desktop.cc
@@ -20,6 +20,7 @@
#include "desktop.h"
#include "krootwm.h"
+#include "bgmanager.h"
#include "bgsettings.h"
#include "startupid.h"
#include "kdiconview.h"
@@ -196,6 +197,7 @@ KDesktop::KDesktop( bool x_root_hack, bool wait_for_kded ) :
m_pIconView = 0;
m_pRootWidget = 0;
+ bgMgr = 0;
initRoot();
TQTimer::singleShot(0, this, TQT_SLOT( slotStart() ));
@@ -216,6 +218,8 @@ KDesktop::initRoot()
if ( !m_bDesktopEnabled && !m_pRootWidget )
{
hide();
+ delete bgMgr;
+ bgMgr = 0;
if ( m_pIconView )
m_pIconView->saveIconPositions();
delete m_pIconView;
@@ -239,9 +243,9 @@ KDesktop::initRoot()
// Geert Jansen: backgroundmanager belongs here
// TODO tell KBackgroundManager if we change widget()
- bgMgr.initializeManager( m_pIconView, m_pKwinmodule );
- bgMgr.setExport(1);
- connect( &bgMgr, TQT_SIGNAL( initDone()), TQT_SLOT( backgroundInitDone()));
+ bgMgr = new KBackgroundManager( m_pIconView, m_pKwinmodule );
+ bgMgr->setExport(1);
+ connect( bgMgr, TQT_SIGNAL( initDone()), TQT_SLOT( backgroundInitDone()));
if (!m_bInit)
{
delete KRootWm::self();
@@ -252,6 +256,8 @@ KDesktop::initRoot()
}
else if (m_bDesktopEnabled && !m_pIconView)
{
+ delete bgMgr;
+ bgMgr = 0;
delete m_pRootWidget;
m_pRootWidget = 0;
m_pIconView = new KDIconView( this, 0 );
@@ -278,9 +284,9 @@ KDesktop::initRoot()
// Geert Jansen: backgroundmanager belongs here
// TODO tell KBackgroundManager if we change widget()
- bgMgr.initializeManager( m_pIconView, m_pKwinmodule );
- bgMgr.setExport(1);
- connect( &bgMgr, TQT_SIGNAL( initDone()), TQT_SLOT( backgroundInitDone()));
+ bgMgr = new KBackgroundManager( m_pIconView, m_pKwinmodule );
+ bgMgr->setExport(1);
+ connect( bgMgr, TQT_SIGNAL( initDone()), TQT_SLOT( backgroundInitDone()));
// make sure it is initialized before we first call updateWorkArea()
m_pIconView->initConfig( m_bInit );
@@ -430,6 +436,8 @@ KDesktop::~KDesktop()
{
delete m_miniCli;
m_miniCli = 0; // see #120382
+ delete bgMgr;
+ bgMgr = 0;
delete startup_id;
}
@@ -929,11 +937,11 @@ void KDesktop::handleColorDropEvent(TQDropEvent * e)
TQColor c;
KColorDrag::decode(e, c);
switch (result) {
- case 1: bgMgr.setColor(c, true); break;
- case 2: bgMgr.setColor(c, false); break;
+ case 1: bgMgr->setColor(c, true); break;
+ case 2: bgMgr->setColor(c, false); break;
default: return;
}
- bgMgr.setWallpaper(0,0);
+ bgMgr->setWallpaper(0,0);
}
void KDesktop::handleImageDropEvent(TQDropEvent * e)
@@ -985,7 +993,7 @@ void KDesktop::handleImageDropEvent(TQDropEvent * e)
KTempFile tmpFile(KGlobal::dirs()->saveLocation("wallpaper"), ".png");
i.save(tmpFile.name(), "PNG");
kdDebug(1204) << "KDesktop::contentsDropEvent " << tmpFile.name() << endl;
- bgMgr.setWallpaper(tmpFile.name());
+ bgMgr->setWallpaper(tmpFile.name());
}
}
@@ -994,7 +1002,7 @@ void KDesktop::slotNewWallpaper(const KURL &url)
// This is called when a file containing an image is dropped
// (called by KonqOperations)
if ( url.isLocalFile() )
- bgMgr.setWallpaper( url.path() );
+ bgMgr->setWallpaper( url.path() );
else
{
// Figure out extension
@@ -1006,7 +1014,7 @@ void KDesktop::slotNewWallpaper(const KURL &url)
KURL localURL; localURL.setPath( tmpFile.name() );
// We pass 0 as parent window because passing the desktop is not a good idea
KIO::NetAccess::file_copy( url, localURL, -1, true /*overwrite*/ );
- bgMgr.setWallpaper( localURL.path() );
+ bgMgr->setWallpaper( localURL.path() );
}
}