Fix spawning terminal without desktop directory

Resolves: RHEL-15031
This commit is contained in:
Florian Müllner 2023-11-02 21:44:33 +01:00
parent 605d3073d5
commit 506e47ad95
2 changed files with 39 additions and 1 deletions

View File

@ -0,0 +1,33 @@
From 0f13a5e00d9115b4d1518c91aa45c88f3e7e7c27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20M=C3=BCllner?= <fmuellner@gnome.org>
Date: Thu, 2 Nov 2023 20:51:45 +0100
Subject: [PATCH] desktop-icons: Don't try spawn with non-existent workdir
g_spawn_async() will fail if the specified workdir doesn't exist.
That means that opening a terminal from the context menu will fail
when the desktop directory doesn't exist.
The extension doesn't really make sense in that case, but when we
show an "Open in Terminal" menu item even then, users expect it
to work.
---
extensions/desktop-icons/desktopIconsUtil.js | 3 +++
1 file changed, 3 insertions(+)
diff --git a/extensions/desktop-icons/desktopIconsUtil.js b/extensions/desktop-icons/desktopIconsUtil.js
index 0aea6542..c1a0dda3 100644
--- a/extensions/desktop-icons/desktopIconsUtil.js
+++ b/extensions/desktop-icons/desktopIconsUtil.js
@@ -49,6 +49,9 @@ function launchTerminal(workdir) {
* https://gitlab.gnome.org/GNOME/gnome-shell/blob/gnome-3-30/js/misc/util.js
*/
+ if (!GLib.file_test(workdir, GLib.FileTest.EXISTS))
+ workdir = null;
+
var success, pid;
try {
[success, pid] = GLib.spawn_async(workdir, argv, null,
--
2.41.0

View File

@ -6,7 +6,7 @@
Name: gnome-shell-extensions
Version: 3.32.1
Release: 36%{?dist}
Release: 37%{?dist}
Summary: Modify and extend GNOME Shell functionality and behavior
Group: User Interface/Desktops
@ -57,6 +57,7 @@ Patch0028: 0001-classification-banner-Handle-fullscreen-monitors.patch
Patch0029: 0001-gesture-inhibitor-Allow-inhibiting-workspace-switch-.patch
Patch0030: 0001-desktop-icons-Don-t-use-blocking-IO.patch
Patch0031: 0001-panel-favorites-Update-to-upstream-version.patch
Patch0032: 0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch
%description
GNOME Shell Extensions is a collection of extensions providing additional and
@ -571,6 +572,10 @@ cp $RPM_SOURCE_DIR/gnome-classic.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
%changelog
* Thu Nov 02 2023 Florian Müllner <fmuellner@redhat.com> - 3.32.1-37
- Fix spawning terminal without a desktop directory
Resolves: RHEL-15031
* Fri Sep 15 2023 Florian Müllner <fmuellner@redhat.com> - 3.32.1-36
- Update panel-favorites to matching upstream release
Resolves: RHEL-3536