From kde-commits Tue Feb 24 20:31:26 2009 From: Ambroz Bizjak Date: Tue, 24 Feb 2009 20:31:26 +0000 To: kde-commits Subject: branches/KDE/4.2/kdelibs/plasma Message-Id: <1235507486.326355.13587.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=123550749520817 SVN commit 931127 by abizjak: backport revision 931126 Fix bug 184930. The containment's screen can change after it is initially created, so make sure it is changed in the view as well. M +8 -0 view.cpp M +1 -0 view.h --- branches/KDE/4.2/kdelibs/plasma/view.cpp #931126:931127 @@ -86,6 +86,12 @@ containment = 0; } + void containmentScreenChanged(int wasScreen, int newScreen, Plasma::Containment *containment) + { + lastScreen = newScreen; + lastDesktop = this->containment->desktop(); + } + void initGraphicsView() { q->setFrameShape(QFrame::NoFrame); @@ -196,6 +202,7 @@ if (d->containment) { disconnect(d->containment, SIGNAL(destroyed(QObject*)), this, SLOT(containmentDestroyed())); disconnect(d->containment, SIGNAL(geometryChanged()), this, SLOT(updateSceneRect())); + disconnect(d->containment, SIGNAL(screenChanged(int, int, Plasma::Containment *)), this, SLOT(containmentScreenChanged(int, int, Plasma::Containment *))); d->containment->removeAssociatedWidget(this); } @@ -247,6 +254,7 @@ d->updateSceneRect(); connect(containment, SIGNAL(destroyed(QObject*)), this, SLOT(containmentDestroyed())); connect(containment, SIGNAL(geometryChanged()), this, SLOT(updateSceneRect())); + connect(containment, SIGNAL(screenChanged(int, int, Plasma::Containment *)), this, SLOT(containmentScreenChanged(int, int, Plasma::Containment *))); } Containment *View::containment() const --- branches/KDE/4.2/kdelibs/plasma/view.h #931126:931127 @@ -197,6 +197,7 @@ Q_PRIVATE_SLOT(d, void updateSceneRect()) Q_PRIVATE_SLOT(d, void containmentDestroyed()) + Q_PRIVATE_SLOT(d, void containmentScreenChanged(int, int, Plasma::Containment *)) friend class ViewPrivate; };