summaryrefslogtreecommitdiff
path: root/user/xdg-utils/xdg-open-failure.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2019-07-18 13:35:15 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2019-07-18 13:35:15 +0000
commitdef11e34d75ea14e4f9f44d75e6da19eba47a7a4 (patch)
tree96b73eec8dd71cf7fbef522814568db91a14e645 /user/xdg-utils/xdg-open-failure.patch
parent33fce3ea5990bf07c9fda44f136d7810a1883445 (diff)
downloadpackages-def11e34d75ea14e4f9f44d75e6da19eba47a7a4.tar.gz
packages-def11e34d75ea14e4f9f44d75e6da19eba47a7a4.tar.bz2
packages-def11e34d75ea14e4f9f44d75e6da19eba47a7a4.tar.xz
packages-def11e34d75ea14e4f9f44d75e6da19eba47a7a4.zip
user/xdg-utils: fix many papercuts via fd.o MRs
Diffstat (limited to 'user/xdg-utils/xdg-open-failure.patch')
-rw-r--r--user/xdg-utils/xdg-open-failure.patch43
1 files changed, 43 insertions, 0 deletions
diff --git a/user/xdg-utils/xdg-open-failure.patch b/user/xdg-utils/xdg-open-failure.patch
new file mode 100644
index 000000000..022d4614d
--- /dev/null
+++ b/user/xdg-utils/xdg-open-failure.patch
@@ -0,0 +1,43 @@
+From 0ad418b2543b532ec82298ac2660d3f222f10882 Mon Sep 17 00:00:00 2001
+From: KARBOWSKI Piotr <piotr.karbowski@gmail.com>
+Date: Sun, 23 Jun 2019 11:39:40 +0200
+Subject: [PATCH] xdg-open: Exit also on non-zero exit status from 'Exec'
+ .desktop entry.
+
+Currently if the tool that was taken out of .desktop file Exec field
+will exit with non-zero exit code, xdg-open will then fallback to
+open_generic() from search_desktop_file(), which will lead to opening
+again the same file with the same tool and ending on opening the file
+with web browser.
+
+This may lead to situation when for example text editor that fails to
+write file on exit, will open the unchanged file with web browsr.
+
+Another real life example is if one were to exit from mpv with
+control-C, xdg-open will again start mpv, then it will try to start
+x-web-browser and ending with starting a browser from list -- firefox in
+my case.
+
+This must be a bug as it's not docummented anywhere. If we got to the
+point where we exec $command_exec then xdg-open must exit even if
+whatever was executed by $command_exec returned non-zero exit status.
+---
+ scripts/xdg-open.in | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/scripts/xdg-open.in b/scripts/xdg-open.in
+index 202f3e3..7cfdde0 100644
+--- a/scripts/xdg-open.in
++++ b/scripts/xdg-open.in
+@@ -325,6 +325,8 @@ search_desktop_file()
+
+ if [ $? -eq 0 ]; then
+ exit_success
++ else
++ exit_failure_operation_failed
+ fi
+ fi
+
+--
+2.21.0
+