respond to xrandr changes for *all* containments on the affected screen

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749729
This commit is contained in:
Aaron J. Seigo 2007-12-17 18:26:38 +00:00
parent 92e6a35a80
commit 291e3afae4

View File

@ -443,14 +443,19 @@ void Corona::containmentDestroyed(QObject* obj)
void Corona::screenResized(int screen) void Corona::screenResized(int screen)
{ {
bool desktopFound = false;
foreach (Containment *c, d->containments) { foreach (Containment *c, d->containments) {
if (c->screen() == screen) { if (c->screen() == screen) {
// trigger a relayout // trigger a relayout
c->setScreen(screen); c->setScreen(screen);
return; desktopFound = desktopFound || c->containmentType() == Containment::DesktopContainment;
} }
} }
if (desktopFound) {
return;
}
// a new screen appeared. neat. // a new screen appeared. neat.
// FIXME: apparently QDesktopWidget doesn't do the Right Thing when a new screen is plugged in // FIXME: apparently QDesktopWidget doesn't do the Right Thing when a new screen is plugged in
// at runtime. seems it gets confused and thinks it's all one big screen? need to // at runtime. seems it gets confused and thinks it's all one big screen? need to