Cedric BAIL
5098e787e8
efreet: use portable environment lookup.
2015-05-14 18:41:48 +02:00
Cedric BAIL
493a2b3ab4
efreet: lower error message to warning.
2015-05-14 18:41:47 +02:00
Sebastian Dransfeld
9e0a00d768
efreet: fix signed warning
...
Update to 6a0d23. Casting to int isn't a real solution, since we could
have values which overflows.
Since we want the absolute value, just make sure we subtract the larger
value from the smaller.
2015-05-11 13:34:10 +02:00
Cedric BAIL
0b4a911450
efreet: remove the need to order the header correctly for Windows.
2015-05-07 09:53:10 +02:00
Mike Blumenkrantz
3571e7364e
efreet: fix leak in efreet_util_desktop_exec_find()
...
@fix
2015-04-22 19:34:59 -04:00
Jean-Philippe Andre
6a0d2382f1
Efreet: Silence clang warning
...
[unsigned - unsigned] is unsigned and might wrap around, the implicit
conversion to int (by calling abs()) saved the game here.
2015-04-21 20:32:54 +09:00
Davide Andreoli
762d4fb551
Efreet: do not get confused by path ending with / in XDG_* vars
...
This @fix the parsing of dirs from the xdg env vars. Now always remove
the leading / char from the paths.
This was causing lots of trouble on my system, where XDG_DATA_DIRS is:
/usr/local/share/enlightenment:/usr/local/share:/usr/local/share/:/usr/share/
At first /usr/local/share was added 2 times in the list, one with the / and one
witout, causing a double lookup for each file.
Secondly the icon cache was totally unusable as the cached paths ended up
as: /usr/share//icons/Mint-X/places/32/folder.svg. The double / in there
was making the cache lookup to fail and anways return the biggest icon
available. Causing a big system slowdown whe searching for icons.
As a bonus the function now use eina_str_split instead of the custom splitting
code that require a bad special handling for the last item.
2015-01-25 12:44:09 +01:00
kabeer khan
ee3bcaf71d
efreetd_cache: Resolved TODO checking symbolic link to monitor real path
...
Summary: Signed-off-by: kabeer khan <kabeer.khan@samsung.com>
Reviewers: englebass
Reviewed By: englebass
Subscribers: devilhorns, cedric
Differential Revision: https://phab.enlightenment.org/D1625
2014-11-18 12:24:06 +01:00
Nicolas Aguirre
f078d16391
efreet: add documentation for Efreet_Version structure.
2014-10-20 18:02:03 +02:00
Sebastian Dransfeld
d1207854f4
efreet: fix show/nowshow
...
This partly reverts c700192
, as the change here was wrong.
2014-09-30 23:19:57 +02:00
Sebastian Dransfeld
b624345bbd
efreet: improve messages
2014-09-29 09:39:38 +02:00
Sebastian Dransfeld
d8aead7ab8
efreet: remove dead code
2014-09-29 09:39:38 +02:00
Sebastian Dransfeld
f60fdced44
efreet: tab to spaces
2014-09-29 09:39:38 +02:00
Sebastian Dransfeld
88843b7377
efreet: TODO++
2014-09-25 13:54:13 +02:00
Sebastian Dransfeld
8204212f36
efreet: Fix leak
...
When doing efreet_desktop_command_append_multiple we add all files from
command, whilst still looping command->files. So the command was created
with all files for all files.
Set l to NULL, since we parse all elements in command->files in
efreet_desktop_command_append_multiple to break the loop.
2014-09-25 09:24:27 +02:00
Sebastian Dransfeld
8e740ea765
efreet: remove debug fprintf
2014-09-25 09:22:07 +02:00
Sebastian Dransfeld
0f4f0a7e5e
efreet: Fix leak on error
...
If we encountered an error, special hashes in internal desktop struct
wasn't free'd.
2014-09-25 09:01:12 +02:00
Sebastian Dransfeld
793fd5e847
efreet: Implement fields added by desktop spec 1.1
2014-09-25 08:47:45 +02:00
Sebastian Dransfeld
c700192736
efreet: Accept both only_show_in and not_show_in
...
In one file it is allowed with both OnlyShowIn and NotShowIn, and it is
the user who has to ensure that these lists don' clash.
@fix
2014-09-25 08:47:45 +02:00
Sebastian Dransfeld
54d5653e1b
efreet: Store known desktop environments
2014-09-18 10:48:50 +02:00
Carsten Haitzler
3539afeaf0
make indenting consistent
...
this doesnt mean its right - it just matches. efreet needs some indent
love.
2014-08-14 20:56:55 +09:00
Adrien Nader
a2d8c1651b
efreet: replace 4096 with sizeof(buf) in snprintf(buf, 4096, ...).
...
buf is a local variable defined as:
char buf[4096];
The current code is correct; this change only makes sure the value won't
get out-of-sync later on.
2014-08-14 20:55:58 +09:00
Adrien Nader
3778036926
efreet: reverse if's condition and swap then/else blocks for readability
...
The reversal makes it possible to merge two #if and unspaghetti the code
a bit.
Since the diff is not very readable, here is the before/after to show
the spirit:
before:
#if cond
if (...)
#endif
do_foo();
#if cond
else
do_bar();
#endif
after:
#if cond
if ( ! ...)
do_bar();
else
#endif
do_foo();
2014-08-14 20:55:58 +09:00
Adrien Nader
0fb9f5d516
efreet: remove #ifdef GETUID inside #ifdef _WIN32 (it's always false).
2014-08-14 20:55:58 +09:00
Sebastian Dransfeld
e7198621c5
efreet: use eina_file_mkstemp to create filename
2014-08-14 13:30:48 +02:00
Sebastian Dransfeld
95a02295c1
efreet: remove creation of XDG_RUNTIME_DIR
...
XDG_RUNTIME_DIR should be created and set by the system, not a library.
2014-08-14 13:01:29 +02:00
Carsten Haitzler
356d10fbee
efreet - add menu ref/unref calls and refcounting to try solve e issue
...
not much more to say really... efreet_menu_free now unrefs nd checks
for 0 refcount first... unref just calls it to be "nice"
@feature
2014-07-23 20:36:19 +09:00
Jean-Philippe Andre
62e3c75777
Efreet: Fix shadow warning
2014-06-19 10:33:49 +09:00
Sebastian Dransfeld
9415f8a7ef
efreet: improve handling of merged menus
...
If the menu is of the format ${XDG_MENU_PREFIX}applications.menu, we
want to merge applications-merged/, not
${XDG_MENU_PREFIX}applications-merged
2014-06-11 11:04:23 +02:00
Sebastian Dransfeld
a10d4167f1
efreet: remove code duplication
...
If the menu starts with either kde- or gnome- the resulting action is
the same.
2014-06-11 11:04:23 +02:00
Sebastian Dransfeld
ffda8635fe
efreet: Correctly handle default merge dir
...
When main menu file is gnome-applications.menu or kde-applications.menu,
we should be using applications as base for merged dir.
Part of T1284
2014-06-10 13:46:49 +02:00
Kai Huuhko
64f35d4615
efreet: Fix mistakenly inverted behavior in URI handling
...
Fixes a mistake in commit 78c9a82a14
The authority part would get placed in the struct member "path",
and vice versa.
Lesson learned: Don't rewrite your patch late at night after
arc has messed it up.
2014-05-19 14:52:32 +03:00
Kai Huuhko
78c9a82a14
efreet: Handle URIs in a more generic way
...
Summary: Fixes T1219
Reviewers: englebass
CC: cedric
Maniphest Tasks: T1219
Differential Revision: https://phab.enlightenment.org/D865
2014-05-19 15:48:41 +09:00
Wonguk Jeong
e32f033853
efreet: check magic only for file which has size
...
Summary:
Due to unnecessary magic checking, there was freezing in /proc in efm.
Proc file's st_size is zero, but, it's readable. therfore, it takes unnecessary time in magic checking. And, there is no need to check magic in case of 0 sized regular files as well.
Therefore, skip magic check in case of st_size is zero.
Fixes T1173
Test Plan: enlightenment -> file browser (efm) -> get int /proc --> check whether efm freezes or not
Reviewers: raster, cedric, zmike
CC: seoz, cedric
Maniphest Tasks: T1173
Differential Revision: https://phab.enlightenment.org/D764
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
2014-04-17 19:34:38 +02:00
Mike Blumenkrantz
d03ecb0f3d
"whether" has 2x 'h'
2014-04-10 09:27:51 -04:00
Cedric BAIL
d0a03f65dc
efreet: fix build on windows by matching the #if around the if statement.
2014-01-09 14:30:13 +09:00
Carsten Haitzler
e8c13118eb
fix mingw build for setuid fix/checks
2014-01-08 22:06:41 +09:00
Carsten Haitzler
b95ef3801f
setuid safeness - ensure if an app that is setuid doesn't do bad things
...
this makes efl ignore certain env vars for thnigs and entirely removes
user modules (that no one ever used) etc. etc. to ensure that *IF* an
app is setuid, there isn't a priv escalation path that is easy.
2014-01-08 19:46:23 +09:00
Guillaume Friloux
6ea95af025
Fix documentation for efreet_desktop_exec().
2014-01-01 21:39:14 +01:00
Guillaume Friloux
defc1d1b1a
Fix documentation for efreet_desktop_environment_get().
2014-01-01 21:28:37 +01:00
Guillaume Friloux
42c32b48a6
Simplify code of efreet_desktop_environment_set().
2014-01-01 21:27:19 +01:00
Daniel Juyung Seo
76d8532b54
efl: Unified eina critical manro to CRI.
...
Being annoyed by different types of eina critical macros - CRI, CRIT,
CRITICAL -, I concluded to unify them to one. Discussed on IRC and
finally, CRI was chosen to meet the consistency with other macros -
ERR, WRN, INF, DBG - in terms of the number of characters.
If there is any missing bits, please let me know.
2013-12-26 12:27:13 +09:00
Sebastian Dransfeld
575f466a10
efreet: improve locking
...
Do find and ref inside lock, so no one can ref-- after we find desktop
2013-11-29 22:20:50 +01:00
Sebastian Dransfeld
233ca45db0
efreet: Only lock once for efficiency
2013-11-21 09:29:25 +01:00
Sebastian Dransfeld
c85534af7e
efreet: TODO++
2013-11-21 09:29:25 +01:00
Sebastian Dransfeld
e610047ef3
efreet: store volatile value locally before return
2013-11-21 09:29:25 +01:00
Carsten Haitzler
b07c0a76ce
alpha1 release autofoo/build tree work to pass distcheck and actually work
2013-11-04 18:33:35 +09:00
Sebastian Dransfeld
76721f4153
efreet: Check buffer size
...
CID 1039582, 1039583
2013-10-14 13:21:48 +02:00
Sebastian Dransfeld
7f30306031
efreet: Always '\0' terminate buf
...
CID 1039721
2013-10-14 11:54:51 +02:00
Sebastian Dransfeld
144ed4c10c
efreet: Fix buffer overrun, leave space for '\0'
...
CID: #1039304 , #1039305 and #1039306
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
e011d5e67c
efreet: be paranoid about '\0' termination
...
CID: #1039721
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
35a45eb062
efreet: formatting
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
2e4fb25922
efreet: clean up ugly internal_get function
...
CID: #1039186
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
75dd06bcb1
efreet: Remove dead code
...
CID: #1039942
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
ed524d49cc
efreet: Explicitly set num_pending to 0
...
CID: #1039185
2013-08-07 13:02:54 +02:00
Sebastian Dransfeld
9707fee051
efreet: Check return value of eet_list
...
CID: #1039327
2013-08-07 13:02:53 +02:00
Sebastian Dransfeld
8327903b99
efreet: fgetc returns int
...
CID: #1039720
2013-08-07 13:02:53 +02:00
Sebastian Dransfeld
a8d70f803c
efreet: Check return value of chmod
...
CID: #1039690
2013-08-07 13:02:53 +02:00
Sebastian Dransfeld
7d1703ea0d
efreet: Be paranoid about '\0' termination
...
CID: #1039722
2013-08-07 13:02:53 +02:00
Sebastian Dransfeld
73ad466cbc
efreet: TODO++
2013-08-07 13:02:53 +02:00
Cedric Bail
ea3f82fa1e
efreet: let's pass memset parameter in the right order.
2013-08-06 09:17:46 +09:00
Chris Michael
80f2498909
efreet_menu_move_free will free "move" here so remove the menu from
...
the parent's list Before we free the menu.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-08-05 13:58:13 +01:00
Sebastian Dransfeld
a76633b930
efreet: Fix allocated data size
...
Since we check for count < 10 and then add 1, we could get count == 11.
Also set array memory to 0 in one command.
2013-08-05 10:45:29 +02:00
Sebastian Dransfeld
92437d7204
efreet: Formatting
2013-08-05 10:45:29 +02:00
Carsten Haitzler
27553f0500
fix clang sizeof complaint
2013-07-16 19:49:31 +09:00
Chris Michael
57924e5824
Fix memleak reported by Coverity: Close the descriptor returned by
...
popen if we are going to error out.
NB: Fixes Coverity CID1039184
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 11:25:59 +01:00
Chris Michael
aeb4b7f7b9
Fix memleak reported by Coverity: If we fail to allocate a new
...
internal menu, then free the previously allocated memory for xml file.
NB: Fixed Coverity CID 1039183
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 11:19:37 +01:00
Chris Michael
c04cfde0e5
Fix mem leak reported by Coverity: If we fail to create a new internal
...
menu, then free the previously allocated xml file.
NB: Fixes Coverity CID 1039182
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2013-07-08 11:17:13 +01:00
Cedric Bail
267b9e4c29
efreet: always sanitize path.
2013-06-27 15:19:44 +09:00
Cedric Bail
61396654a5
efreet: cleanup code by using Eina_File infra.
2013-06-27 15:19:43 +09:00
Carsten Haitzler
33678961b6
efreet: and dont try change mode if runtime dir is /tmp
2013-06-26 12:16:50 +09:00
Cedric Bail
e920c2cc76
efreet: make geteuid an optional function.
2013-06-26 11:24:29 +09:00
Sebastian Dransfeld
71122d5920
efreet: Init no longer fails without dbus session
...
Allow programs to use efreet without requiering a dbus session. This
gives limited functionality, as efreet_icon wont work without a cache.
efreet_desktop will partially work, as it reads info from files directly
if cache is missing.
2013-06-25 04:32:26 +02:00
Carsten Haitzler
8e3d94d661
efreet: don't try change permissions on runtime dir we don't own.
2013-06-24 12:00:30 +09:00
Sebastian Dransfeld
a0ba7941ad
efreet: Use end cb of thread to run cb
2013-06-21 12:56:21 +02:00
Mike Blumenkrantz
51246fff68
efreet menu cbs don't return a value and take const data params
2013-06-21 09:50:03 +01:00
Sebastian Dransfeld
aa8565b372
efreet: Add data to async request
2013-06-21 10:39:40 +02:00
Sebastian Dransfeld
ebcd97cc93
efreet: Create cache dir in efreet_cache_init
...
efreetd used efreet functions before efreet init which fails.
2013-06-21 10:00:20 +02:00
Sebastian Dransfeld
336f6ec328
efl: formatting
2013-06-20 13:28:18 +02:00
Sebastian Dransfeld
b1c97a0da4
efreet: Create a temp XDG_RUNTIME_DIR if not set
...
Using /tmp as XDG_RUNTIME_DIR is pointless if we want it to be mode 0700
2013-06-20 13:27:20 +02:00
Sebastian Dransfeld
9aada5f735
efreet: @since
2013-06-20 11:57:23 +02:00
Sebastian Dransfeld
5b3cd4cde1
efreet: Add async menu parsing
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
0c317eaca2
efreet: Make _path_to_file_id threadsafe
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
ceb19aaaaa
efreet: Make desktop cache threadsafe
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
39417cf0ea
efreet: Make efreet_desktop threadsafe
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
5efd817e57
efreet: Formatting
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
c99b028a7c
efreet: Release log domain on evil error
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
5eaaae420e
efreet: doc fixes
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
f0ff83c3f5
efreet: Reorganize file
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
c504706873
efreet: Init variables in init
...
Make functions threadsafe
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
e8ff0e7b68
efreet: Init efreet_menu_prefix in init
...
Makes efreet_menu_prefix access threadsafe
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
3190e526f4
efreet: Remove static variable
2013-06-20 11:56:46 +02:00
Sebastian Dransfeld
e5f4fa4454
efreet: Remove static variable
2013-06-20 11:56:45 +02:00
Sebastian Dransfeld
da1b1f6649
efreet: Improve eina hash usage
...
eina_hash_del + eina_hash_add = eina_hash_set
2013-06-20 11:56:45 +02:00
Cedric Bail
64241457f0
efreet: force cast for windows.
2013-05-05 16:03:02 +09:00
Lucas De Marchi
4e3804041f
Rename edbus->eldbus
...
git grep -l edbus2 | while read f; do sed -i 's/edbus2/eldbus/g' "$f"; done
find . -name '*edbus2*' -exec rename edbus2 eldbus {} \;
git grep -l "EDBUS" | while read f; do sed -i 's/EDBUS/ELDBUS/g' "$f"; done
git grep -l "EDBus" | while read f; do sed -i 's/EDBus/Eldbus/g' "$f"; done
git grep -l "edbus (v2)" | while read f; do sed -i 's/edbus (v2)/eldbus/g' "$f"; done
git grep -l "Edbus" | while read f; do sed -i 's/Edbus/Eldbus/g' "$f"; done
git grep -l "edbus" | while read f; do sed -i 's/edbus/eldbus/g' "$f"; done
find . -name '*edbus*' -exec rename edbus eldbus {} \;
find . -name '*EDBus*' -exec rename EDBus Eldbus {} \;
2013-04-23 12:36:29 -03:00
Cedric Bail
9abcb77c73
efreet: shutdown in the right order.
2013-04-19 15:41:41 +09:00
Cedric Bail
b4becd5d7a
efreet: fix compilation on Windows.
2013-03-16 15:40:32 +09:00
Lucas De Marchi
d4da99698e
efl/edbus: make all edbus_*_send() methods unref its msg
...
There's no reason to keep a msg after it was sent. Before this patch we
had edbus_service_signal_send() unref'ing its msg and all the others
not. Also, several users (particularly the edbus_proxy_send() ones) were
forgetting to unref the msg.
This patch makes all these methods unref the message after it has been
succesfully sent:
- edbus_connection_send()
- edbus_object_send()
- edbus_proxy_send()
- edbus_service_signal_send()
SVN revision: 82807
2013-01-15 14:33:48 +00:00
Lucas De Marchi
06ff74834f
efl: remove checks for socket.h, net/*, arpa/*
...
SVN revision: 82585
2013-01-10 20:26:02 +00:00