11
0

Accepting request 450080 from home:Vogtinator:plasma59

Update to Plasma 5.9 Beta

OBS-URL: https://build.opensuse.org/request/show/450080
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks5/plasma5-workspace?expand=0&rev=284
This commit is contained in:
Hrvoje Senjan
2017-01-13 16:51:22 +00:00
committed by Git OBS Bridge
parent 07f420d1df
commit ac2103e7f4
8 changed files with 58 additions and 155 deletions

View File

@@ -1,34 +1,30 @@
diff --git a/startkde/startkde.cmake b/startkde/startkde.cmake
index 91c8a3c..0c658bd 100644
index b7af60b..7ae5f1d 100644
--- a/startkde/startkde.cmake
+++ b/startkde/startkde.cmake
@@ -20,14 +20,14 @@ unset DYLD_FORCE_FLAT_NAMESPACE
# in case we have been started with full pathname spec without being in PATH
bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
if [ -n "$bindir" ]; then
- qbindir=`qtpaths --binaries-dir`
- qdbus=$qbindir/qdbus
+ qbindir=`/usr/bin/qtpaths --binaries-dir`
+ qdbus=$qbindir/qdbus-qt5
case $PATH in
$bindir|$bindir:*|*:$bindir|*:$bindir:*) ;;
*) PATH=$bindir:$PATH; export PATH;;
esac
else
- qdbus=qdbus
+ qdbus=qdbus-qt5
@@ -292,7 +292,7 @@ if test $? -ne 0; then
exit 1
fi
# Check if a KDE session already is running and whether it's possible to connect to X
@@ -291,9 +291,9 @@ export XDG_DATA_DIRS
if $qdbus >/dev/null 2>/dev/null; then
: # ok
else
- echo 'startkde: Could not start D-Bus. Can you call qdbus?' 1>&2
+ echo 'startkde: Could not start D-Bus. Can you call qdbus-qt5?' 1>&2
test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
- xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus?"
+ xmessage -geometry 500x100 "Could not start D-Bus. Can you call qdbus-qt5?"
exit 1
fi
-qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
+qdbus-qt5 org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
# finally, give the session control to the session manager
# see kdebase/ksmserver for the description of the rest of the startup sequence
@@ -325,13 +325,13 @@ if test x"$wait_drkonqi"x = x"true"x ; then
# wait for remaining drkonqi instances with timeout (in seconds)
wait_drkonqi_timeout=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Timeout --default 900`
wait_drkonqi_counter=0
- while qdbus | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
+ while qdbus-qt5 | grep "^[^w]*org.kde.drkonqi" > /dev/null ; do
sleep 5
wait_drkonqi_counter=$((wait_drkonqi_counter+5))
if test "$wait_drkonqi_counter" -ge "$wait_drkonqi_timeout" ; then
# ask remaining drkonqis to die in a graceful way
- qdbus | grep 'org.kde.drkonqi-' | while read address ; do
- qdbus "$address" "/MainApplication" "quit"
+ qdbus-qt5 | grep 'org.kde.drkonqi-' | while read address ; do
+ qdbus-qt5 "$address" "/MainApplication" "quit"
done
break
fi

View File

@@ -1,74 +0,0 @@
From b3e531cf5930e33bad023ef13c1d4bf3079eca4e Mon Sep 17 00:00:00 2001
From: Marco Martin <notmart@gmail.com>
Date: Tue, 10 Jan 2017 15:27:14 +0100
Subject: [PATCH] better clean up of duplicate containments
Summary:
due to old multiscreen bugs, sometimes the appletsrc file
gets polluted with a lot of containments with same activity id
and lastScreen, in some cases even hundreds
(see https://bugs.kde.org/show_bug.cgi?id=371858)
in that case we can't be 100% sure what containment will be loaded
at startup, leading to an herratical behavior.
it was trying to clean up duplicates but wasn't really effective
now base upon lastScreen (so we catch other activities as well)
and manually remove the destroyed containment from
m_desktopContainments (which may sole some multiscreen
related bug, such as 371991)
BUG:371858
CCBUG:371991
Test Plan:
started a session with the corrupted appletsrc from the bugreport,
file gets cleaned out of duplicates
Reviewers: davidedmundson, #plasma
Reviewed By: davidedmundson, #plasma
Subscribers: davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D3981
---
shell/shellcorona.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/shell/shellcorona.cpp b/shell/shellcorona.cpp
index 4e7dd3e3..e53dd4db 100644
--- a/shell/shellcorona.cpp
+++ b/shell/shellcorona.cpp
@@ -1909,7 +1909,8 @@ void ShellCorona::insertContainment(const QString &activity, int screenNum, Plas
{
Plasma::Containment *cont = nullptr;
for (Plasma::Containment *c : m_desktopContainments.value(activity)) {
- if (c->screen() == screenNum) {
+ //using lastScreen() instead of screen() catches also containments of activities that aren't the current one, so not assigned to a screen right now
+ if (c->lastScreen() == screenNum) {
cont = c;
if (containment == cont) {
return;
@@ -1921,8 +1922,6 @@ void ShellCorona::insertContainment(const QString &activity, int screenNum, Plas
Q_ASSERT(!m_desktopContainments.value(activity).values().contains(containment));
if (cont) {
- disconnect(cont, SIGNAL(destroyed(QObject*)),
- this, SLOT(desktopContainmentDestroyed(QObject*)));
cont->destroy();
}
m_desktopContainments[activity].insert(containment);
@@ -1937,7 +1936,8 @@ void ShellCorona::desktopContainmentDestroyed(QObject *obj)
// members of Containment are not accessible anymore,
// so keep ugly bookeeping by hand
auto containment = static_cast<Plasma::Containment*>(obj);
- for (auto a : m_desktopContainments) {
+ //explicitly specify the range by reference, as we need to remove stuff from the sets
+ for (QSet<Plasma::Containment *> &a : m_desktopContainments) {
QMutableSetIterator<Plasma::Containment *> it(a);
while (it.hasNext()) {
it.next();
--
2.11.0

View File

@@ -1,36 +0,0 @@
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Workaround for high load due to animated tray icons
References: kde#356479
When a tray icon name changes, it always does a full lookup, which is expensive.
Add a small QHash as cache to work around this.
diff --git a/applets/systemtray/systemtray.cpp b/applets/systemtray/systemtray.cpp
index 66bb5b4..f440ff0 100644
--- a/applets/systemtray/systemtray.cpp
+++ b/applets/systemtray/systemtray.cpp
@@ -127,8 +127,13 @@ void SystemTray::cleanupTask(const QString &task)
QVariant SystemTray::resolveIcon(const QVariant &variant, const QString &iconThemePath)
{
+ static QHash<QString, QVariant> cache;
if (variant.canConvert<QString>()) {
if (!iconThemePath.isEmpty()) {
+ auto i = cache.find(variant.toString() + iconThemePath);
+ if(i != cache.end())
+ return i.value();
+ qCWarning(SYSTEM_TRAY) << "Cache not hit" << iconThemePath;
const QString path = iconThemePath;
if (!path.isEmpty()) {
// FIXME: If last part of path is not "icons", this won't work!
@@ -136,7 +141,9 @@ QVariant SystemTray::resolveIcon(const QVariant &variant, const QString &iconThe
if (tokens.length() >= 3 && tokens.takeLast() == QLatin1String("icons")) {
const QString appName = tokens.takeLast().toString();
- return QVariant(QIcon(new AppIconEngine(variant.toString(), path, appName)));
+ auto v = QVariant(QIcon(new AppIconEngine(variant.toString(), path, appName)));
+ cache.insert(variant.toString() + iconThemePath, v);
+ return v;
} else {
qCWarning(SYSTEM_TRAY) << "Wrong IconThemePath" << path << ": too short or does not end with 'icons'";
}

View File

@@ -13,7 +13,7 @@ Index: plasma-workspace-5.7.95/kioslave/remote/CMakeLists.txt
===================================================================
--- plasma-workspace-5.7.95.orig/kioslave/remote/CMakeLists.txt
+++ plasma-workspace-5.7.95/kioslave/remote/CMakeLists.txt
@@ -11,7 +11,7 @@ set(kio_remote_SRCS
@@ -10,7 +10,7 @@ set(kio_remote_SRCS
ecm_qt_declare_logging_category(kio_remote_SRCS HEADER debug.h
IDENTIFIER KIOREMOTE_LOG
CATEGORY_NAME log_kioremote
@@ -21,4 +21,5 @@ Index: plasma-workspace-5.7.95/kioslave/remote/CMakeLists.txt
+ DEFAULT_SEVERITY Debug)
add_library(kio_remote MODULE ${kio_remote_SRCS})
target_link_libraries(kio_remote KF5::KIOCore KF5::KDELibs4Support)
target_link_libraries(kio_remote KF5::KIOCore KF5::I18n)

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6d25077205436e3e721d7dfa4dffce7aea62a6e652ee7897952885e52b2f6ea1
size 6989928

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c42f9e353f3a90e632452f38afb653e0c9c485974542347ff9d10b0c85d45a58
size 6931196

View File

@@ -1,3 +1,15 @@
-------------------------------------------------------------------
Thu Jan 12 20:39:58 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.8.95 (Plasma 5.9 Beta)
* New feature release
* For more details please see:
https://www.kde.org/announcements/plasma-5.8.95.php
- Changes:
* See https://www.kde.org/announcements/plasma-5.8.5-5.8.95-changelog.php#plasma-workspace
- Remove patches, now upstream:
* 0001-better-clean-up-of-duplicate-containments.patch
-------------------------------------------------------------------
Tue Jan 10 20:42:09 UTC 2017 - fabian@ritter-vogt.de
@@ -5,6 +17,12 @@ Tue Jan 10 20:42:09 UTC 2017 - fabian@ritter-vogt.de
containments in the -appletsrc:
* 0001-better-clean-up-of-duplicate-containments.patch
-------------------------------------------------------------------
Thu Dec 29 11:41:27 UTC 2016 - tittiatcoke@gmail.com
- Require also the main package from the devel package. This is
required to get the required layouts for the servicetypes.
-------------------------------------------------------------------
Tue Dec 27 18:31:45 UTC 2016 - fabian@ritter-vogt.de

View File

@@ -20,17 +20,17 @@
%bcond_without lang
Name: plasma5-workspace
Version: 5.8.5
Version: 5.8.95
Release: 0
# Full Plasma 5 version (e.g. 5.8.5)
# Full Plasma 5 version (e.g. 5.8.95)
%{!?_plasma5_bugfix: %global _plasma5_bugfix %{version}}
# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.8.90 in KUF)
# Lasted ABI-stable Plasma (e.g. 5.8 in KF5, but 5.8.95 in KUF)
%{!?_plasma5_version: %global _plasma5_version %(echo %{_plasma5_bugfix} | awk -F. '{print $1"."$2}')}
Summary: The KDE Plasma Workspace Components
License: GPL-2.0+
Group: System/GUI/KDE
Url: http://www.kde.org/
Source: http://download.kde.org/stable/plasma/%{version}/plasma-workspace-%{version}.tar.xz
Source: http://download.kde.org/unstable/plasma/%{version}/plasma-workspace-%{version}.tar.xz
Source1: baselibs.conf
# PATCH-FIX-OPENSUSE 0001-Rename-qdbus-in-startkde.patch cgiboudeaux@gmx.com -- Rename the qdbus executable in startkde
Patch0: 0001-Rename-qdbus-in-startkde.patch
@@ -38,12 +38,8 @@ Patch0: 0001-Rename-qdbus-in-startkde.patch
Patch1: change-kioremote-severity.patch
# PATCH-FIX-OPENSUSE 0001-Ignore-default-sddm-face-icons.patch boo#1001364 fabian@ritter-vogt.de -- Ignore default sddm face icons
Patch2: 0001-Ignore-default-sddm-face-icons.patch
# PATCH-FIX-OPENSUSE add-tray-icon-cache.patch kde#356479 fabian@ritter-vogt.de -- Workaround for high load due to animated tray icons
Patch3: add-tray-icon-cache.patch
# PATCHES 100-200 and above are from upstream 5.8 branch
# PATCH-FIX-UPSTREAM 0001-better-clean-up-of-duplicate-containments.patch kde#371858 notmart@gmail.com -- better clean up of duplicate containments
Patch100: 0001-better-clean-up-of-duplicate-containments.patch
# PATCHES 201-300 and above are from upstream master/5.9 branch
# PATCHES 100-200 and above are from upstream 5.9 branch
# PATCHES 201-300 and above are from upstream master/5.10 branch
BuildRequires: breeze5-icons
BuildRequires: fdupes
BuildRequires: kf5-filesystem
@@ -190,6 +186,7 @@ workspace.
%package devel
Summary: The KDE Plasma Workspace Components
Group: Development/Libraries/KDE
Requires: %{name} >= %{version}
Requires: %{name}-libs = %{version}-%{release}
Requires: cmake(KF5SysGuard) >= %{_plasma5_version}
Requires: cmake(KF5Wayland) >= %{kf5_version}
@@ -212,8 +209,6 @@ workspace. Development files.
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch100 -p1
%build
%cmake_kf5 -d build -- -DKDE4_COMMON_PAM_SERVICE=xdm -DKDE_DEFAULT_HOME=.kde4 -DCMAKE_INSTALL_LOCALEDIR=%{_kf5_localedir}
@@ -282,11 +277,13 @@ workspace. Development files.
%{_kf5_libdir}/libexec/ksyncdbusenv
%{_kf5_libdir}/libexec/startplasma
%{_kf5_libdir}/libexec/ksmserver-logout-greeter
%{_kf5_libdir}/libexec/ksmserver-switchuser-greeter
%{_kf5_libdir}/libkdeinit5_kcminit.so
%{_kf5_libdir}/libkdeinit5_kcminit_startup.so
%{_kf5_libdir}/libkdeinit5_klipper.so
%{_kf5_libdir}/libkdeinit5_ksmserver.so
%{_kf5_libdir}/libkdeinit5_kuiserver5.so
%{_kf5_libdir}/kconf_update_bin/krunnerplugins
%{_kf5_plugindir}/
%{_kf5_qmldir}/
%{_kf5_applicationsdir}/org.kde.klipper.desktop
@@ -295,6 +292,7 @@ workspace. Development files.
%{_kf5_sharedir}/dbus-1/services/kf5_org.kde.kuiserver.service
%{_kf5_sharedir}/dbus-1/services/org.kde.krunner.service
%{_kf5_sharedir}/desktop-directories/
%{_kf5_sharedir}/kconf_update/
%dir %{_kf5_htmldir}
%dir %lang(en) %{_kf5_htmldir}/en
%doc %lang(en) %{_kf5_htmldir}/en/klipper/