derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=67e07e5d2d572957fa8a16c662b22baa39d7b643
commit 67e07e5d2d572957fa8a16c662b22baa39d7b643 Author: Derek Foreman <[email protected]> Date: Fri Mar 24 14:28:37 2017 -0500 efreet: Don't prefer the second perfect over the first in desktop_exec_find() We test a second match for a perfect match, then stop all further processing, but we never test the first match. This leads to a situation where a system wide .desktop file is given precedence over a local override. Instead, check the first match too. #test-e --- src/lib/efreet/efreet_utils.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/lib/efreet/efreet_utils.c b/src/lib/efreet/efreet_utils.c index ae3ab17..e1cafaa 100644 --- a/src/lib/efreet/efreet_utils.c +++ b/src/lib/efreet/efreet_utils.c @@ -279,7 +279,12 @@ efreet_util_desktop_exec_find(const char *exec) ret = efreet_desktop_get(array->array[j]); if (ret) { - if (!bestret) bestret = ret; + if (!bestret) + { + bestret = ret; + if (bestret->exec && !strcmp(bestret->exec, exec)) + goto done; + } else { if (ret->exec) --
