Commit Graph

185 Commits

Author SHA1 Message Date
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
Gustavo Sverzut Barbieri f57968f158 efl/efreet: improve tests, fix bogus warning.
* tests will run locally now, not just from installed files.
 * efreet_init_new(NULL) is valid, actually used by efreet_desktop_save()



SVN revision: 82428
2013-01-08 23:45:48 +00:00
Gustavo Sverzut Barbieri 50b9b31566 efl/efreet: use proper PACKAGE_DATA_DIR, add DATA_DIR.
efreet used an uncommon PACKAGE_DATA_DIR without the package name
because it used that to populate default variables.

Add another variable for that and make PACKAGE_DATA_DIR more common.

Tests still fails like crazy, and they assume installed data :-(



SVN revision: 82426
2013-01-08 23:14:17 +00:00
Mike Blumenkrantz 63eeace6d6 forwardport previous efreet desktop command commit
ticket #2174


SVN revision: 82390
2013-01-08 08:34:30 +00:00
Gustavo Sverzut Barbieri 06c3306d3c efl/efreet: enable locale test.
export those symbols, they are harmless and will help tests.



SVN revision: 82239
2013-01-04 20:27:49 +00:00
Gustavo Sverzut Barbieri a2c1d84cc8 efl/efreet: remove unused file.
SVN revision: 82234
2013-01-04 20:11:29 +00:00
Gustavo Sverzut Barbieri 0a2d116119 efl: eina_alloca.h to simplify alloca() usage.
having to replicate 18 lines per file just to access alloca() is
insane. Let's do that in Eina.h and avoid that crap :-/



SVN revision: 82082
2013-01-03 15:10:34 +00:00
Gustavo Sverzut Barbieri 4bc0210bd3 efl: merge efreet.
seems to be fine, pass distcheck and friends. please report.

changes:
 - documentation hierarchy fixes
 - replaced __UNUSED__ with EINA_UNUSED
 - replaced PKG_DATA_DIR with PACKAGE_DATA_DIR"/efreet"



SVN revision: 81889
2012-12-29 23:04:40 +00:00