From 1bc2d7d3b7c3bfc9bbfe2bfcd01ff261b955354f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Fri, 1 Mar 2013 21:08:16 +0100 Subject: [PATCH 1/3] Only prefer current tabgroup if it's shown BUG: 315956 FIXED-IN:4.10.2 --- activation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/activation.cpp b/activation.cpp index a3c050cd5f..8646f4886e 100644 --- a/activation.cpp +++ b/activation.cpp @@ -458,7 +458,7 @@ bool Workspace::activateNextClient(Client* c) Client* get_focus = NULL; // precedence on keeping the current tabgroup active. to the user that's the same window - if (c && c->tabGroup()) { + if (c && c->tabGroup() && c->isShown(false)) { if (c == c->tabGroup()->current()) c->tabGroup()->activateNext(); get_focus = c->tabGroup()->current(); From c0f3895ba71e2550e2364775e712df73973502e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sat, 2 Mar 2013 22:27:20 +0100 Subject: [PATCH 2/3] Map NULL_UUID activity to ALL activities REVIEW: 109274 BUG: 314830 FIXED-IN: 4.10.2 --- client.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/client.cpp b/client.cpp index 5fb6dcb87c..e16a1fe7e4 100644 --- a/client.cpp +++ b/client.cpp @@ -1518,12 +1518,16 @@ void Client::setOnActivity(const QString &activity, bool enable) /** * set exactly which activities this client is on */ +#define NULL_UUID "00000000-0000-0000-0000-000000000000" void Client::setOnActivities(QStringList newActivitiesList) { QString joinedActivitiesList = newActivitiesList.join(","); joinedActivitiesList = rules()->checkActivity(joinedActivitiesList, false); newActivitiesList = joinedActivitiesList.split(',', QString::SkipEmptyParts); + if (newActivitiesList.contains(NULL_UUID)) + newActivitiesList.clear(); // turn into "all" + QStringList allActivities = workspace()->activityList(); if ( newActivitiesList.isEmpty() || (newActivitiesList.count() > 1 && newActivitiesList.count() == allActivities.count()) || @@ -2380,6 +2384,12 @@ void Client::checkActivities() } newActivitiesList = QString(prop).split(','); + + if (newActivitiesList.contains(NULL_UUID)) { + setOnAllActivities(true); + return; + } + if (newActivitiesList == activityList) return; //expected change, it's ok. From ad521412a03d85b078e9d8a9b26686933706eb3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20L=C3=BCbking?= Date: Sun, 3 Mar 2013 18:54:01 +0100 Subject: [PATCH 3/3] update previews after de/installing a deco CCBUG: 310613 REVIEW: 109266 FIXED-IN: 4.10.2 --- kcmkwin/kwindecoration/kwindecoration.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kcmkwin/kwindecoration/kwindecoration.cpp b/kcmkwin/kwindecoration/kwindecoration.cpp index 9052b743eb..a42384573d 100644 --- a/kcmkwin/kwindecoration/kwindecoration.cpp +++ b/kcmkwin/kwindecoration/kwindecoration.cpp @@ -364,6 +364,8 @@ void KWinDecorationModule::slotGHNSClicked() if (proxyIndex.isValid()) m_ui->decorationList->rootObject()->setProperty("currentIndex", proxyIndex.row()); } + m_lastPreviewWidth = 0; + updatePreviews(); } } delete downloadDialog;