11
0
Files
plasma5-workspace/0004-Avoid-connecting-to-screen-changed-signals-twice.patch
Fabian Vogt 45aa4bd75c - Backport several commits for better multiscreen handling:
* 0001-taskmanagerrulesrc-Add-Rewrite-Rule-for-Google-chrom.patch
  * 0002-make-sure-all-outputs-are-known.patch
  * 0003-Sync-app-config-in-sync-with-applets-config.patch
  * 0004-Avoid-connecting-to-screen-changed-signals-twice.patch
  * 0005-Load-screenpool-at-the-same-time-as-we-connect-to-sc.patch
  * kde#372099,kde#371858,kde#371991,kde#371819,kde#371734
  * boo#1003438

OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/plasma5-workspace?expand=0&rev=276
2016-11-10 12:59:08 +00:00

50 lines
1.6 KiB
Diff

From 6248a975791a71465f06e8e403fcf5326326958d Mon Sep 17 00:00:00 2001
From: David Edmundson <kde@davidedmundson.co.uk>
Date: Thu, 10 Nov 2016 10:28:16 +0000
Subject: [PATCH 4/5] Avoid connecting to screen changed signals twice
Summary:
load() can be called multiple times; either from setShell or
loadLookAndFeelDefaultLayout. We still only want addOutput once when a
screen is added
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3320
CCBUG:372099
CCBUG:371858
CBUG:371991
CCBUG:371819
CCBUG:371734
---
shell/shellcorona.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp
index 2e6dda7..0e926dd 100644
--- a/shell/shellcorona.cpp
+++ b/shell/shellcorona.cpp
@@ -675,9 +675,9 @@ void ShellCorona::load()
addOutput(screen);
}
}
- connect(qGuiApp, &QGuiApplication::screenAdded, this, &ShellCorona::addOutput);
- connect(qGuiApp, &QGuiApplication::primaryScreenChanged, this, &ShellCorona::primaryOutputChanged);
- connect(qGuiApp, &QGuiApplication::screenRemoved, this, &ShellCorona::screenRemoved);
+ connect(qGuiApp, &QGuiApplication::screenAdded, this, &ShellCorona::addOutput, Qt::UniqueConnection);
+ connect(qGuiApp, &QGuiApplication::primaryScreenChanged, this, &ShellCorona::primaryOutputChanged, Qt::UniqueConnection);
+ connect(qGuiApp, &QGuiApplication::screenRemoved, this, &ShellCorona::screenRemoved, Qt::UniqueConnection);
if (!m_waitingPanels.isEmpty()) {
m_waitingPanelsTimer.start();
--
2.10.1