diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-03-24 14:28:37 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2017-03-24 14:59:11 -0500 |
commit | 67e07e5d2d572957fa8a16c662b22baa39d7b643 (patch) | |
tree | 152ce4393b46f3f66b1f37cfdf66635a5a50c693 /src/lib/efreet | |
parent | acf4c35fd62116bf1f6e34e9d3949a09ede7f6ad (diff) | |
download | efl-67e07e5d2d572957fa8a16c662b22baa39d7b643.tar.gz |
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
Diffstat (limited to 'src/lib/efreet')
-rw-r--r-- | src/lib/efreet/efreet_utils.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/efreet/efreet_utils.c b/src/lib/efreet/efreet_utils.c index ae3ab17e5a..e1cafaaf89 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) |