From 506e47ad95ccba277c02a521d74f7d21c2e9eb43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=BCllner?= Date: Thu, 2 Nov 2023 21:44:33 +0100 Subject: [PATCH] Fix spawning terminal without desktop directory Resolves: RHEL-15031 --- ...n-t-try-spawn-with-non-existent-work.patch | 33 +++++++++++++++++++ gnome-shell-extensions.spec | 7 +++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch diff --git a/0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch b/0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch new file mode 100644 index 0000000..3e7c5b3 --- /dev/null +++ b/0001-desktop-icons-Don-t-try-spawn-with-non-existent-work.patch @@ -0,0 +1,33 @@ +From 0f13a5e00d9115b4d1518c91aa45c88f3e7e7c27 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Florian=20M=C3=BCllner?= +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 + diff --git a/gnome-shell-extensions.spec b/gnome-shell-extensions.spec index 0f1850f..899a0e6 100644 --- a/gnome-shell-extensions.spec +++ b/gnome-shell-extensions.spec @@ -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 - 3.32.1-37 +- Fix spawning terminal without a desktop directory + Resolves: RHEL-15031 + * Fri Sep 15 2023 Florian Müllner - 3.32.1-36 - Update panel-favorites to matching upstream release Resolves: RHEL-3536