diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-07-18 13:35:15 +0000 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-07-18 13:35:15 +0000 |
commit | def11e34d75ea14e4f9f44d75e6da19eba47a7a4 (patch) | |
tree | 96b73eec8dd71cf7fbef522814568db91a14e645 /user/xdg-utils/xdg-open-failure.patch | |
parent | 33fce3ea5990bf07c9fda44f136d7810a1883445 (diff) | |
download | packages-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.patch | 43 |
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 + |