!2 Upgrade to 5.27.6

From: @misaka00251 
Reviewed-by: @open-bot 
Signed-off-by: @open-bot
This commit is contained in:
openeuler-ci-bot 2023-10-08 08:54:32 +00:00 committed by Gitee
commit 68055e45d6
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
4 changed files with 63 additions and 89 deletions

View File

@ -0,0 +1,37 @@
From fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c Mon Sep 17 00:00:00 2001
From: Fushan Wen <qydwhotmail@gmail.com>
Date: Fri, 4 Aug 2023 12:40:17 +0800
Subject: [PATCH] shell: avoid potential crash when previous window is gone
before returning focus
m_previousPlasmaWindow is bound to a window, and if a window is closed
before `restorePreviousWindow` is called, there will be a crash. Use
QPointer to track the window destruction.
---
shell/shellcorona.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/shell/shellcorona.h b/shell/shellcorona.h
index a3aff351af..db218d16e2 100644
--- a/shell/shellcorona.h
+++ b/shell/shellcorona.h
@@ -14,6 +14,7 @@
#include <QDBusContext>
#include <QDBusVariant>
+#include <QPointer>
#include <QSet>
#include <QTimer>
@@ -301,7 +302,7 @@ private:
KWayland::Client::PlasmaShell *m_waylandPlasmaShell;
// For getting the active window on Wayland
KWayland::Client::PlasmaWindowManagement *m_waylandWindowManagement = nullptr;
- KWayland::Client::PlasmaWindow *m_previousPlasmaWindow = nullptr;
+ QPointer<KWayland::Client::PlasmaWindow> m_previousPlasmaWindow;
bool m_closingDown : 1;
bool m_screenReorderInProgress = false;
QString m_testModeLayout;
--
GitLab

View File

@ -1,78 +0,0 @@
diff -Nurr plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.cpp plasma-workspace-5.24.90/containmentactions/contextmenu/menu.cpp
--- plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.cpp 2022-05-21 16:42:05.980661922 +0200
+++ plasma-workspace-5.24.90/containmentactions/contextmenu/menu.cpp 2022-05-21 16:47:43.503606798 +0200
@@ -17,6 +17,7 @@
#include <KGlobalAccel>
#include <KIO/CommandLauncherJob>
#include <KLocalizedString>
+#include <KTerminalLauncherJob>
#include <QDebug>
#include <QIcon>
@@ -29,6 +30,7 @@
ContextMenu::ContextMenu(QObject *parent, const QVariantList &args)
: Plasma::ContainmentActions(parent, args)
+ , m_runKonsoleAction(nullptr)
, m_session(new SessionManagement(this))
{
}
@@ -61,6 +63,7 @@
<< QStringLiteral("configure shortcuts")
<< QStringLiteral("_sep1")
<< QStringLiteral("_context")
+ << QStringLiteral("_run_konsole")
<< QStringLiteral("_run_command")
<< QStringLiteral("add widgets")
<< QStringLiteral("_add panel")
@@ -97,6 +100,10 @@
m_runCommandAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("krunner.desktop"), QStringLiteral("_launch")).value(0));
connect(m_runCommandAction, &QAction::triggered, this, &ContextMenu::runCommand);
+ m_runKonsoleAction = new QAction(i18n("Konsole"), this);
+ m_runKonsoleAction->setIcon(QIcon::fromTheme("utilities-terminal"));
+ connect(m_runKonsoleAction, &QAction::triggered, this, &ContextMenu::runKonsole);
+
m_lockScreenAction = new QAction(i18nc("plasma_containmentactions_contextmenu", "Lock Screen"), this);
m_lockScreenAction->setIcon(QIcon::fromTheme(QStringLiteral("system-lock-screen")));
m_lockScreenAction->setShortcut(KGlobalAccel::self()->globalShortcut(QStringLiteral("ksmserver"), QStringLiteral("Lock Session")).value(0));
@@ -179,6 +186,8 @@
if (KAuthorized::authorizeAction(QStringLiteral("run_command")) && KAuthorized::authorize(QStringLiteral("run_command"))) {
return m_runCommandAction;
}
+ } else if (name == QLatin1String("_run_konsole")) {
+ return m_runKonsoleAction;
} else if (name == QLatin1String("_lock_screen")) {
if (KAuthorized::authorizeAction(QStringLiteral("lock_screen"))) {
return m_lockScreenAction;
@@ -212,6 +221,13 @@
return nullptr;
}
+void ContextMenu::runKonsole()
+{
+ auto job = new KTerminalLauncherJob(QString());
+ job->setWorkingDirectory(QDir::homePath());
+ job->start();
+}
+
void ContextMenu::runCommand()
{
if (!KAuthorized::authorizeAction(QStringLiteral("run_command"))) {
diff -Nurr plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.h plasma-workspace-5.24.90/containmentactions/contextmenu/menu.h
--- plasma-workspace-5.24.90-new/containmentactions/contextmenu/menu.h 2022-05-21 16:42:05.980661922 +0200
+++ plasma-workspace-5.24.90/containmentactions/contextmenu/menu.h 2022-05-21 16:48:39.122597718 +0200
@@ -29,11 +29,13 @@
public Q_SLOTS:
void runCommand();
+ void runKonsole();
void startLogout();
void configureDisplays();
private:
QAction *m_runCommandAction = nullptr;
+ QAction *m_runKonsoleAction = nullptr;
QAction *m_lockScreenAction = nullptr;
QAction *m_logoutAction = nullptr;
QAction *m_configureDisplaysAction = nullptr;

View File

@ -1,7 +1,7 @@
# Bootstrap?
# Bootstrap: when new arch don't have plasmashell
%global bootstrap 1
%global kf5_version_min 5.82.0
%global kf5_version_min 5.98.0
# Don't control wayland by default
%bcond_without wayland_default
@ -10,7 +10,7 @@
Name: plasma-workspace
Summary: Plasma workspace, applications and applets
Version: 5.25.5
Version: 5.27.6
Release: 1
License: GPLv2+
@ -34,7 +34,8 @@ Source11: startkderc
Source40: ssh-agent.conf
Source41: spice-vdagent.conf
Patch100: plasma-workspace-konsole-in-contextmenu.patch
# https://invent.kde.org/plasma/plasma-workspace/-/commit/fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c
Patch0: fc01a7f837d06ee9e92d02f13acb79c2b06e9e3c.patch
# udev
BuildRequires: zlib-devel
@ -75,6 +76,7 @@ BuildRequires: libqalculate-devel
%global kf5_pim 1
BuildRequires: kf5-kholidays-devel
BuildRequires: kf5-prison-devel
BuildRequires: libicu-devel
BuildRequires: qt5-qtbase-devel >= 5.15
BuildRequires: qt5-qtbase-private-devel
@ -85,11 +87,13 @@ BuildRequires: qt5-qtdeclarative-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: qt5-qtwayland-devel
BuildRequires: phonon-qt5-devel
BuildRequires: polkit-qt5-1-devel
BuildRequires: kf5-rpm-macros >= %{kf5_version_min}
BuildRequires: systemd
BuildRequires: extra-cmake-modules
BuildRequires: kf5-baloo-devel >= %{kf5_version_min}
BuildRequires: kf5-libkexiv2-devel >= %{kf5_version_min}
BuildRequires: kf5-kactivities-stats-devel >= %{kf5_version_min}
BuildRequires: kf5-karchive-devel >= %{kf5_version_min}
BuildRequires: kf5-kcmutils-devel >= %{kf5_version_min}
@ -103,6 +107,7 @@ BuildRequires: kf5-kguiaddons-devel >= %{kf5_version_min}
BuildRequires: kf5-kidletime-devel >= %{kf5_version_min}
BuildRequires: kf5-kinit-devel >= %{kf5_version_min}
BuildRequires: kf5-kitemmodels-devel >= %{kf5_version_min}
BuildRequires: kf5-kio-devel >= %{kf5_version_min}
BuildRequires: kf5-kjsembed-devel >= %{kf5_version_min}
BuildRequires: kf5-knewstuff-devel >= %{kf5_version_min}
BuildRequires: kf5-knotifications-devel >= %{kf5_version_min}
@ -135,6 +140,7 @@ BuildRequires: qt5-qtbase-static
BuildRequires: kuserfeedback-devel
BuildRequires: plasma-wayland-protocols-devel
BuildRequires: plasma-breeze-devel >= 5.25.3
BuildRequires: chrpath
BuildRequires: desktop-file-utils
@ -315,7 +321,7 @@ Requires: xsetroot
%prep
%setup -q
%patch100 -p1
%patch0 -p1
%build
@ -378,6 +384,7 @@ setsebool -P selinuxuser_execmod 1
%{_kf5_bindir}/plasma_session
%{_kf5_bindir}/plasma-apply-*
%{_kf5_bindir}/plasma-interactiveconsole
%{_kf5_bindir}/plasma-localegen-helper
%{_kf5_bindir}/plasma-shutdown
%{_kf5_bindir}/plasma_waitforname
%{_kf5_bindir}/systemmonitor
@ -394,8 +401,8 @@ setsebool -P selinuxuser_execmod 1
%{_libexecdir}/kfontprint
%{_libexecdir}/plasma-changeicons
%{_libexecdir}/plasma-dbus-run-session-if-needed
%{_kf5_datadir}/ksplash/
%{_kf5_datadir}/plasma/avatars/
%{_kf5_datadir}/plasma/nightcolor/
%{_kf5_datadir}/plasma/plasmoids/
%{_kf5_datadir}/plasma/services/
%{_kf5_datadir}/plasma/wallpapers/
@ -409,12 +416,15 @@ setsebool -P selinuxuser_execmod 1
%{_sysconfdir}/xdg/startkderc
%endif
%{_sysconfdir}/xdg/autostart/*.desktop
%{_datadir}/zsh/site-functions/_plasmashell
%{_datadir}/icons/hicolor/*/*/*font*.png
%{_datadir}/icons/hicolor/scalable/apps/preferences-desktop-font-installer.svgz
%{_datadir}/desktop-directories/*.directory
%{_datadir}/dbus-1/services/*.service
%{_datadir}/dbus-1/system-services/org.kde.fontinst.service
%{_datadir}/dbus-1/system-services/org.kde.localegenhelper.service
%{_datadir}/dbus-1/system.d/org.kde.fontinst.conf
%{_datadir}/dbus-1/system.d/org.kde.localegenhelper.conf
%{_datadir}/knsrcfiles/*.knsrc
%{_datadir}/kfontinst/icons/hicolor/*/actions/*font*.png
%{_datadir}/konqsidebartng/virtual_folders/services/fonts.desktop
@ -422,8 +432,8 @@ setsebool -P selinuxuser_execmod 1
%{_datadir}/kxmlgui5/kfontview/kfontviewpart.rc
%{_datadir}/kxmlgui5/kfontview/kfontviewui.rc
%{_kf5_datadir}/kservices5/ServiceMenus/installfont.desktop
%{_kf5_datadir}/kservices5/ServiceMenus/setaswallpaper.desktop
%{_kf5_datadir}/kservices5/*.desktop
%{_kf5_datadir}/kio/servicemenus/setaswallpaper.desktop
#{_kf5_datadir}/kservices5/*.desktop
%{_kf5_datadir}/kservicetypes5/*.desktop
%{_kf5_datadir}/knotifications5/*.notifyrc
%{_kf5_datadir}/config.kcfg/*
@ -444,7 +454,6 @@ setsebool -P selinuxuser_execmod 1
%{_kf5_datadir}/qlogging-categories5/*.categories
%{_sysconfdir}/xdg/plasmanotifyrc
%{_kf5_datadir}/kpackage/kcms/kcm_autostart/
%{_kf5_datadir}/kpackage/kcms/kcm_translations/
%{_kf5_datadir}/kpackage/kcms/kcm_colors/
%{_kf5_datadir}/kpackage/kcms/kcm_cursortheme/
%{_kf5_datadir}/kpackage/kcms/kcm_desktoptheme/
@ -453,11 +462,12 @@ setsebool -P selinuxuser_execmod 1
%{_kf5_datadir}/kpackage/kcms/kcm_lookandfeel/
%{_kf5_datadir}/kpackage/kcms/kcm_nightcolor/
%{_kf5_datadir}/kpackage/kcms/kcm_notifications/
%{_kf5_datadir}/kpackage/kcms/kcm_regionandlang/
%{_kf5_datadir}/kpackage/kcms/kcm_style/
%{_kf5_datadir}/kpackage/kcms/kcm_users/
%{_kf5_datadir}/kpackage/kcms/kcm_icons/
%{_kf5_datadir}/kpackage/kcms/kcm_formats/
%{_kf5_datadir}/polkit-1/actions/org.kde.fontinst.policy
%{_kf5_datadir}/polkit-1/actions/org.kde.localegenhelper.policy
%{_userunitdir}/*.service
%{_userunitdir}/plasma-core.target
%dir %{_userunitdir}/plasma-core.target.d/
@ -491,7 +501,6 @@ setsebool -P selinuxuser_execmod 1
%if 0%{?kf5_pim}
%{_kf5_qtplugindir}/plasmacalendarplugins/
%endif
%{_kf5_qtplugindir}/*.so
%exclude %{_kf5_qtplugindir}/plasma/dataengine/plasma_engine_geolocation.so
%exclude %{_kf5_qtplugindir}/plasma/geolocationprovider/plasma-geolocation-gps.so
%exclude %{_kf5_qtplugindir}/plasma/geolocationprovider/plasma-geolocation-ip.so
@ -504,7 +513,9 @@ setsebool -P selinuxuser_execmod 1
%{_qt5_plugindir}/plasma/kcms/systemsettings/kcm_*.so
%{_libdir}/kconf_update_bin/krunnerhistory
%{_libdir}/kconf_update_bin/krunnerglobalshortcuts
%{_libdir}/kconf_update_bin/plasmashell-5.27-use-panel-thickness-in-default-group
%{_kf5_qtplugindir}/kf5/parts/kfontviewpart.so
%{_kf5_qtplugindir}/kf5/thumbcreator/fontthumbnail.so
%{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_applauncher.so
%{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_contextmenu.so
%{_kf5_qtplugindir}/plasma/containmentactions/plasma_containmentactions_paste.so
@ -517,6 +528,7 @@ setsebool -P selinuxuser_execmod 1
%{_libexecdir}/plasma-sourceenv.sh
%{_kf5_datadir}/kconf_update/krunnerhistory.upd
%{_kf5_datadir}/kconf_update/krunnerglobalshortcuts2.upd
%{_kf5_datadir}/kconf_update/plasmashell-5.27-use-panel-thickness-in-default-group.upd
%{_kf5_datadir}/kglobalaccel/org.kde.krunner.desktop
%files geolocation
@ -570,5 +582,8 @@ setsebool -P selinuxuser_execmod 1
%endif
%changelog
* Tue Aug 29 2023 misaka00251 <liuxin@iscas.ac.cn> - 5.27.6-1
- Upgrade to 5.27.6
* Fri Jul 15 2022 misaka00251 <misaka00251@misakanet.cn> - 5.25.5-1
- Init package