Commit Graph

518 Commits

Author SHA1 Message Date
Sebastian Dransfeld d8bde974e6 efreet: Add variable to prevent cache update
SVN revision: 47536
2010-03-28 18:54:25 +00:00
Sebastian Dransfeld 3806dd7a2c efreet: Track old caches
SVN revision: 47519
2010-03-27 20:53:52 +00:00
Sebastian Dransfeld fa732e43f6 efreet: fix function name
SVN revision: 47515
2010-03-27 19:58:54 +00:00
Sebastian Dransfeld 053190d2f4 sync cache reload between desktop and util
SVN revision: 47513
2010-03-27 19:58:33 +00:00
Sebastian Dransfeld 534519db27 init util alongside rest of efreet
Used to be separate as util had different requirements than base efreet,
and util had high memory usage. No longer the case.

SVN revision: 47510
2010-03-27 19:57:47 +00:00
Sebastian Dransfeld a870815d90 print dangling references
SVN revision: 47509
2010-03-27 19:57:33 +00:00
Sebastian Dransfeld 6990198493 Add comments
SVN revision: 47473
2010-03-26 05:33:37 +00:00
Sebastian Dransfeld a86ec92bc9 Add listener for cache updates
SVN revision: 47471
2010-03-26 05:33:12 +00:00
Sebastian Dransfeld 7bbc5e82ba Remove unneeded code
SVN revision: 47470
2010-03-26 05:33:00 +00:00
Sebastian Dransfeld 4e8ebec3f6 efreet_menu.c: Fix compiler warning
SVN revision: 47469
2010-03-26 05:29:15 +00:00
Sebastian Dransfeld ef2cb7ab02 Add func to read a .desktop file from disk
SVN revision: 47250
2010-03-15 19:57:57 +00:00
Sebastian Dransfeld a4c63dd80d formatting
SVN revision: 47245
2010-03-15 19:10:51 +00:00
Sebastian Dransfeld 985b7e395a Fix realpath usage
Always use realpath before interacting with the efreet_desktop_cache,
else it wont be consistent.

SVN revision: 47244
2010-03-15 19:08:22 +00:00
Cedric BAIL ddbeb0581c * efreet: Prevent crash due to freed desktop still in cache.
SVN revision: 47235
2010-03-15 13:46:45 +00:00
Sebastian Dransfeld 2f7f718185 Fix?? segv
For some peculiar reason, using ecore_file_realpath here screws with
efreet_menu.

SVN revision: 47224
2010-03-14 20:48:52 +00:00
Sebastian Dransfeld d47cdf8288 fix memleak
Free hash and data pointer when using eet, but not lists

SVN revision: 47183
2010-03-13 19:14:35 +00:00
Sebastian Dransfeld 2104d71164 shutdown eina after last stringshare del
SVN revision: 47181
2010-03-13 19:05:11 +00:00
Sebastian Dransfeld 277365fe1c Don't free data at all from eet
SVN revision: 47179
2010-03-13 18:35:48 +00:00
Sebastian Dransfeld 09dcca28de stringshare
SVN revision: 47178
2010-03-13 18:35:39 +00:00
Sebastian Dransfeld eb8fa05ff3 When using Eina_List, need to return list
SVN revision: 47177
2010-03-13 18:35:29 +00:00
Sebastian Dransfeld c07e3969ce stringshare
SVN revision: 47176
2010-03-13 18:34:30 +00:00
Sebastian Dransfeld f3b42c4b05 Hi,
I discover a memory leak (an invalid free) in efreet after running some
of the test programs.

Mathieu

SVN revision: 47136
2010-03-11 18:36:31 +00:00
Sebastian Dransfeld 424f67585e formatting
SVN revision: 46960
2010-03-07 20:34:41 +00:00
Sebastian Dransfeld 30c305288f Fix problem with orig_path and rp
We have orig_path, it is set by rp. Only problem is that it was set
after efreet_desktop_read so the error handler would work as it should.
Wrong solution. So now we set orig_path to NULL, so we always can free
rp.

SVN revision: 46880
2010-03-04 21:54:33 +00:00
Carsten Haitzler 33ec010a36 errrr - how about we have a orig_path for a new desktop file eh? there's a
brilliant idea!



SVN revision: 46859
2010-03-04 01:00:06 +00:00
Sebastian Dransfeld 76d630dcc0 TODO
SVN revision: 46848
2010-03-03 22:11:06 +00:00
Sebastian Dransfeld 22a691b5e9 Assign rp to orig_path after last goto error
This will fix the double free problem

SVN revision: 46841
2010-03-03 20:13:13 +00:00
Sebastian Dransfeld 7a07bed86c Clarify difference between _get and _new
efreet_desktop_get for long living cached structs, efreet_desktop_new
for shortlived non cached.

SVN revision: 46840
2010-03-03 19:42:38 +00:00
Sebastian Dransfeld afb2a67c50 Create func to get name for cache dirs file
SVN revision: 46834
2010-03-03 12:29:09 +00:00
Sebastian Dransfeld 755e118e2c Allow non existing cache file
SVN revision: 46833
2010-03-03 12:28:59 +00:00
Sebastian Dransfeld b5e9acd3da formatting
SVN revision: 46832
2010-03-03 12:28:49 +00:00
Sebastian Dransfeld a1205c588c rename function
SVN revision: 46831
2010-03-03 12:28:40 +00:00
Sebastian Dransfeld d07a67ad63 Store unknown .desktop file dirs
SVN revision: 46829
2010-03-03 12:28:21 +00:00
Christopher Michael 4177422a6b Temporary stop-gap for E17 crashing when Applications menu is trying to
show.

(I know, not an ideal fix, but I don't know the code well enough...and
this is better than everyone's desktop dying.)



SVN revision: 46810
2010-03-03 02:24:26 +00:00
Sebastian Dransfeld 6d10aea822 Use realpath to clean path
SVN revision: 46801
2010-03-02 20:07:41 +00:00
Sebastian Dransfeld d99f80aff7 Fix compiler warnings
Found when compiling with --enable-tests and --enable-coverage

SVN revision: 46746
2010-03-01 21:43:59 +00:00
Vincent Torri 1b9235aa1f fix autotools stuff
SVN revision: 46737
2010-03-01 20:16:15 +00:00
Sebastian Dransfeld 8b0e9907b6 Empty cache is probable, so don't check for it
SVN revision: 46736
2010-03-01 19:58:23 +00:00
Sebastian Dransfeld 9eda1bb218 TODO++
SVN revision: 46731
2010-03-01 19:05:59 +00:00
Sebastian Dransfeld f72d4f9342 Eet cache for efreet desktop
SVN revision: 46726
2010-03-01 18:16:32 +00:00
Sebastian Dransfeld 7c1420c73b Use MAP_FAILED constant
SVN revision: 46174
2010-02-14 21:22:06 +00:00
Sebastian Dransfeld 6f2038b6e7 Create path to file if not exists
Fixes bug #513

SVN revision: 45990
2010-02-08 19:27:58 +00:00
Sebastian Dransfeld cb4af1da03 Don't add already existing paths to theme
SVN revision: 45883
2010-02-04 20:02:56 +00:00
Sebastian Dransfeld 291c525a42 Remove raster's stupid cache
And just disable cache limit on the already existing cache.

SVN revision: 45881
2010-02-04 20:02:33 +00:00
Sebastian Dransfeld 0423e1ea99 Formatting
SVN revision: 45865
2010-02-04 09:12:35 +00:00
Sebastian Dransfeld d3419db6cd Ecore_Str.h -> Eina
SVN revision: 45741
2010-01-30 22:13:16 +00:00
Sebastian Dransfeld 96a20ffd91 Update to spec 1.1
%n, %N, %d and %D is deprecated, and version is string

SVN revision: 45532
2010-01-24 21:21:27 +00:00
Sebastian Dransfeld 6833eadf64 /usr/local/share should also be in XDG_DATA_DIRS
SVN revision: 45496
2010-01-23 18:55:27 +00:00
Sebastian Dransfeld 04edba1123 Be less strict
Prefer system set menu_file.
Try harder to find -merged dirs which matches the current menu.

SVN revision: 45265
2010-01-17 18:57:49 +00:00
Sebastian Dransfeld 4b33d2e4aa remove ecore_data function
SVN revision: 45264
2010-01-17 18:56:48 +00:00
Sebastian Dransfeld 362ef26c2d remove Ecore_Data
SVN revision: 45218
2010-01-16 13:43:28 +00:00
Christopher Michael 7c0e622466 Make efreet compile again.
SVN revision: 45206
2010-01-16 05:22:24 +00:00
Sebastian Dransfeld 0903a5be95 Add ()
SVN revision: 45200
2010-01-15 20:51:34 +00:00
Sebastian Dransfeld af22e351b2 Fix compiler warnings
SVN revision: 45199
2010-01-15 20:51:23 +00:00
Massimiliano Calamelli bc2a1db660 Added two missing inclusions of limits.h, fix build in NetBSD5
SVN revision: 45026
2010-01-10 22:42:34 +00:00
David Walter Seikel 060ec41809 Make it compile again.
SVN revision: 44905
2010-01-05 02:15:41 +00:00
Gustavo Sverzut Barbieri 1979834385 PATH_MAX checks and fixes, by Lutin.
SVN revision: 44900
2010-01-04 23:11:15 +00:00
Christopher Michael 56ec4c946f When using snprintf or fgets, etc, do not use PATH_MAX directly as the size
of the variable...use sizeof() compiler directive (lots of these).

Do not free 'realpath' in efreet_menu if we are going to try and print out
it's value.

If we find 'realpath' in the merged_menus hash, and we are going to return,
then free the realpath variable.



SVN revision: 44699
2009-12-23 20:55:23 +00:00
Iván Briano 52468a9940 Fix to new Ecore API
SVN revision: 43685
2009-11-13 23:59:46 +00:00
Davide Andreoli a59b9655b2 *Efreet_Ini: Add a new API call:
EAPI void efreet_ini_key_unset(Efreet_Ini *ini, const char *key);

With this you can remove keys from ini files



SVN revision: 43245
2009-10-24 09:23:51 +00:00
Davide Andreoli c9533023ad Efreet_ini: remove ending withespaces
SVN revision: 43244
2009-10-24 09:02:56 +00:00
Carsten Haitzler ccec2fb8a4 fix xml init - called multilpe times, has no count for init + shutdown.
SVN revision: 43222
2009-10-23 00:01:15 +00:00
Vincent Torri 285297dcdd * API break: _shutdown() functions return an int, now
* simplify a bit and fix init/shutdown functions



SVN revision: 42996
2009-10-10 06:19:13 +00:00
Cedric BAIL 703fb37368 * efreet: Prevent div by zero.
SVN revision: 42940
2009-10-07 12:57:13 +00:00
Vincent Torri 1403d26dce remoove unused variables
SVN revision: 42877
2009-10-04 22:28:12 +00:00
Vincent Torri 4c05580f59 cleanup
SVN revision: 42876
2009-10-04 22:27:03 +00:00
Hannes Janetzek 6a9f924640 patch from dfjoerg: search also pixmap dirs for icons
SVN revision: 42875
2009-10-04 21:55:13 +00:00
Cedric BAIL 05126826a3 * efreet: Use eina_log.
Patch from Matthieu.


SVN revision: 42599
2009-09-21 16:36:29 +00:00
Davide Andreoli 5f6ba77546 Don't segfault if 'icon' is null
SVN revision: 42490
2009-09-14 20:18:25 +00:00
Carsten Haitzler 0b8f43494a moe enume typedefs together. typedef before enum is bad for some compilrs...
like g++.. or suncc... dod so in all headers anyay for consistency



SVN revision: 42477
2009-09-14 00:38:59 +00:00
Hannes Janetzek 51fd74a36f efreet_mime add fallback check for executables
SVN revision: 42474
2009-09-14 00:28:51 +00:00
Gustavo Sverzut Barbieri 992936af22 Update to match new EINA init/shutdown.
SVN revision: 42301
2009-09-06 22:23:04 +00:00
Vincent Torri 2e38151ed8 formatting
SVN revision: 42084
2009-08-29 05:29:05 +00:00
Gustavo Sverzut Barbieri 85c2e25399 have efreet to match x-generic as well, requested by jeffdameth.
SVN revision: 41907
2009-08-21 03:03:59 +00:00
Gustavo Sverzut Barbieri 4faa46cab3 Efreet_Mime: bugfix for magic matching.
Efreet_Mime did not match last set of magics for given mime-type due to
missing check after the loop. This bug was partially masked by the
problem fixed in my previous patch.

By: Mikhail Gusarov


SVN revision: 41305
2009-07-11 14:26:53 +00:00
Gustavo Sverzut Barbieri 9aef9f5eca Efreet_Mime: fix subrules with non-zero depth.
Hello,

I've fixed a bug in parsing magic file in Efreet_Mime: if some magic
rule has a subrule with non-zero depth, then the 0 depth is used instead
for subrule. This led to nonsense like all .xml documents matched as
application/docbook+xml.

By: Mikhail Gusarov


SVN revision: 41304
2009-07-11 14:23:36 +00:00
Gustavo Sverzut Barbieri eac66d4e5a proper cleanup of efreet_desktop_command.
Efreet API is BRAIN NUTS, some stuff you're supposed to release (list)
and others are up to the callback to release.

Okay, I broke e17 trying to fix efreet tests. API is so inconsistent
that its own test was wrong. I'm reverting my change and fix the test,
but this is bad.



SVN revision: 41133
2009-06-20 19:07:31 +00:00
Vincent Torri b9d313774f * Allow some tests to pass on Windows. Just for the fun
* More important, allow to manage correctly the icons with
   efreet on Windows. It works with Tango (and ewl, now)


SVN revision: 41130
2009-06-20 16:18:17 +00:00
Gustavo Sverzut Barbieri 44d66495ca more valgrind fixes on efreet.
SVN revision: 41121
2009-06-20 06:50:01 +00:00
Gustavo Sverzut Barbieri 3871aed422 free some leaks reported by valgrind in src/bin tests.
SVN revision: 41117
2009-06-20 06:19:48 +00:00
Gustavo Sverzut Barbieri ebeee4b5ce we use lists, need to init/shutdown eina_list or we get segvs.
SVN revision: 41115
2009-06-20 05:53:26 +00:00
Gustavo Sverzut Barbieri adf5c3553e use new stringshared hash, pointer was being misused since api is confusing.
The pointer type is really confusing, it was expecting pointer to
pointer what is really weird.

Cedric just added a stringshared variant that should be as fast
(removing the strcmp()) and is the api one would expect.

This fix a long standing bug I introduced (sorry!) when added the
cache, but it was bit hard to hit as if you didn't find a collision
you'd be adding to cache and never finding it. But I recently started
to use icons on desktop and for some weird reason the PDF icons
started to show in TAR :-P



SVN revision: 41113
2009-06-19 15:00:38 +00:00
Vincent Torri 54b27e4edc * DATADIR is used in a Windows directory. Use PACKAGE_DATA_DIR instead
* useless Evil.h inclusion


SVN revision: 41084
2009-06-17 16:07:29 +00:00
Carsten Haitzler 2cf2ffd88b patch from dfjoerg - fix prefix handling for eet.
SVN revision: 41031
2009-06-14 20:13:58 +00:00
Carsten Haitzler e50d237d83 more patches...
SVN revision: 40669
2009-05-15 11:47:39 +00:00
Massimiliano Calamelli 31c77f7844 Added #define _POSIX_HOST_NAME_MAX for OSes that don't know it (NetBSD in detail)
SVN revision: 40444
2009-04-28 15:49:45 +00:00
Mike Frysinger 81b053c046 include Ecore.h for ecore_exe_run prototype
SVN revision: 40431
2009-04-28 05:39:22 +00:00
Carsten Haitzler ae44cac932 revert patch - no-undefined already there.
SVN revision: 40319
2009-04-23 04:07:59 +00:00
booleanlabel 51dc49dbee From: booleanlabel@gmail.com
cygwin fixes.



SVN revision: 40301
2009-04-23 01:09:01 +00:00
Vincent Torri c634a197b4 fix eina_list_remove use
SVN revision: 40263
2009-04-21 08:09:39 +00:00
Vincent Torri 361f682833 typo
SVN revision: 40260
2009-04-21 06:16:19 +00:00
Vincent Torri 1bf086809e * move header files in efree_provate.h to the source files
* fix compilation on Windows XP (not sure that Windows CE port is needed...)

note that, as ecore_exe is not available on Windows, some code have
been disables for that platform in src/lib/efreet_desktop.c. Also, a new Evil
version should be used (not in svn yet)

The compilation on Windows is needed for Ewl (icon and mime)



SVN revision: 40257
2009-04-20 23:20:40 +00:00
Carsten Haitzler ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Luis Felipe Strano Moraes 37ff2edaff Cleanup of clang's static analyzer warnings for efreet.
SVN revision: 40114
2009-04-16 17:45:57 +00:00
Vincent Torri 45e1663dab * fix pkg-config requirements
* fix a bit the autotools


SVN revision: 39754
2009-03-27 11:29:20 +00:00
Vincent Torri 312a4365b8 fix header files
SVN revision: 39752
2009-03-27 11:14:21 +00:00
Cedric BAIL 8a8b4ca2d1 * efreet: On STRICT_SPEC don't handle efreet_menu_file.
SVN revision: 39732
2009-03-26 18:02:17 +00:00
Cedric BAIL 81ee186382 * efreet: Use the right macro for the cast.
SVN revision: 39731
2009-03-26 17:56:51 +00:00
Cedric BAIL 7e6af0a5c1 * efreet: Remove ecore_dlist from Efreet.
SVN revision: 39730
2009-03-26 17:54:50 +00:00
Carsten Haitzler 34822db882 menu segv fix! my bad! overzealous freeing
SVN revision: 39653
2009-03-23 13:16:10 +00:00
Vincent Torri 908a722bfa more leak fixes
SVN revision: 39650
2009-03-23 12:19:31 +00:00
Carsten Haitzler ddb11ee846 leaks--! this code is riddled with leaks! really really bad!
SVN revision: 39647
2009-03-23 10:27:54 +00:00
Vincent Torri a7dfd144ac formatting
SVN revision: 39643
2009-03-23 04:58:31 +00:00
Gustavo Sverzut Barbieri 122566bac4 fix efreet signedness issues.
char is unsigned on ARM and other platforms, force some types to be
signed as they can hold negative values.

By: Albin Tonnerre


SVN revision: 39610
2009-03-21 17:00:55 +00:00
Carsten Haitzler 9e5c641263 and somewhere.. someone broke system settings and efreet hashes of categories!
SVN revision: 39570
2009-03-19 04:29:31 +00:00
Sebastian Dransfeld 5378f8d4d6 Check whether the found item is a directory.
SVN revision: 39524
2009-03-17 13:42:21 +00:00
Gustavo Sverzut Barbieri ba1e67fcd8 Add LRU to mime icons cache.
This should really remove unused items that would age forever in the
last, forcing old but not so to be evicted before them.

Fortunately it was not so complex to add, and should wait just 3
pointers more of space per node.


SVN revision: 39350
2009-03-03 22:38:21 +00:00
Gustavo Sverzut Barbieri 200c92f82a efreet mime types icon cache.
This cache is very simple and should work fine when system does not
change, it keeps a direct association of mime-types and found icons,
remembering theme and icon size. Search is very fast since it uses
stringshared strings and thus direct pointer comparison in hash
search. We could optimize it even more if we assumed stringshared
strings to come in, so no need to eina_stringshare_add() (which is a
hash per se), using just eina_stringshare_ref().

Cache population is limited to compile-time value and just values
older than a given threshold are deleted. I do not keep a LRU explicit
list, so you might have some old but unused items always alive. I
don't find this too bad, sure it will consume more memory, but will
not hurt performance. We can change this to purge all expired items by
not checking for number of items to remove, removing all that match.

Next I plan to find out a good way to cache and speed up file->mime
discovery. I plan to do auto-generated state-machine to match
extensions, so you don't need to check the same extension character
more than once. Example:

   Input: bla.edc
   Extensions: edc edj eps png bmp

It would first try to match against 'e', 'p' and 'b'. It will match
'e' and then check for 'd' (edc or edj) or 'p' (eps). It will match
'd' and then check for 'c' or 'j'. This will reduce number of
comparisons considerably.

As I'm running out of time (4am, not much time left on this month), I
could use some help here.



SVN revision: 39343
2009-03-03 07:20:21 +00:00
Gustavo Sverzut Barbieri ab2e35127f Fix most compiler & clang warnings.
Left warnings regarding signed and unsigned comparison since
eina_list_count() returns unsigned, can use a cast in this return, but
not big deal for now.


By: Luis Felipe Strano Moraes & myself.



SVN revision: 39260
2009-02-26 22:35:38 +00:00
Cedric BAIL 452695bd6c * efreet: Fix opening file.
SVN revision: 39246
2009-02-26 16:14:22 +00:00
Gustavo Sverzut Barbieri 2bcea93a7c Fix port to eina_list.
* efreet_desktop_command_build(): should consider the first
   run. Before had a "first" toggle variable, which vanished with eina
   port. I changed it to do {} while (), making it work again.

 * exec string is already freed by callback (in e_exec.c), to keep old
   behavior, just free the list with eina_list_free(). Just pay
   attention to ecore_list and double check if they had a free
   function set or not. If it didn't, then we should not free nodes!



SVN revision: 39228
2009-02-26 03:56:21 +00:00
Carsten Haitzler 7646b3e4af fix custom icon dirs api so u CAN add to the icon dirs!
SVN revision: 39226
2009-02-26 03:46:35 +00:00
Cedric BAIL 7e64baf165 * efreet: Prevent crash when no Efreet_Desktop are found.
SVN revision: 39214
2009-02-25 17:40:40 +00:00
Cedric BAIL 0b41f0e138 * efreet: Fix previously broken efreet cache.
SVN revision: 39211
2009-02-25 16:46:51 +00:00
Cedric BAIL 6978e98dc6 * estickies,
* etk,
	* PROTO/exalt,
	* E-MODULES-EXTRA/diskio,
	* E-MODULES-EXTRA/drawer,
	* E-MODULES-EXTRA/penguins,
	* E-MODULES-EXTRA/slideshow,
	* E-MODULES-EXTRA/mail,
	* E-MODULES-EXTRA/forecasts,
	* E-MODULES-EXTRA/iiirk,
	* E-MODULES-EXTRA/places,
	* e,
	* ewl,
	* ecore,
	* elitaire,
	* entrance,
	* e_dbus,
	* efreet: Here we go, move from Ecore_List to Eina_List.

	NOTE: This patch is huge, I did test it a lot, and I hope nothing is
	broken. But if you think something change after this commit, please
	contact me ASAP.


SVN revision: 39200
2009-02-25 11:03:47 +00:00
Gustavo Sverzut Barbieri 24328d9738 Fix problems reported by some C++ compilers.
SVN revision: 38975
2009-02-09 01:11:27 +00:00
Carsten Haitzler b00bae1d92 a really simple hash cache for icon finds - this massively makes stuff faster
for app dialogs etc. yes - it uses ram. thats next - make it leaner on ram
usage. its simple enough now where that shouldnt be a problem.



SVN revision: 38839
2009-01-29 07:36:58 +00:00
Cedric BAIL 35540b3a3b This commit is huge. I did test it a lot on my computer, and it run fine here.
But is so big i fear i could have broken some piece of code. So report any wrong
behaviour to me (cedric on #edevelop).

So moving e17 and efreet to eina_hash. With a little efreet API break so they
must come together.


SVN revision: 38185
2008-12-17 15:33:43 +00:00
Sebastian Dransfeld 1de2e74d74 Adding missing Name entry in efreet_menu.
Add fix from Massimiliano Calamelli.

SVN revision: 38153
2008-12-15 20:23:24 +00:00
Sebastian Dransfeld 82c1c80632 Only save menu element name if it exists.
SVN revision: 38131
2008-12-13 21:00:49 +00:00
Gustavo Sverzut Barbieri d5f5e6eb55 src/bin/ stuff uses it, so these symbols must be exported.
SVN revision: 37634
2008-11-14 20:22:03 +00:00
Sebastian Dransfeld b41023437d Remove warning by adding parentheses.
SVN revision: 37167
2008-10-26 20:05:46 +00:00
Sebastian Dransfeld b439133578 Don't compile in unused code.
SVN revision: 37166
2008-10-26 20:05:34 +00:00
Carsten Haitzler 1065c6298a support setting the default menu explicitly.
SVN revision: 37098
2008-10-25 15:06:31 +00:00
Cedric BAIL 02bf306fdd Remove macro provided by Eina.
SVN revision: 36863
2008-10-20 16:34:59 +00:00
Cedric BAIL 01befd2b67 Switch ecore_strings to eina_stringshare.
SVN revision: 36676
2008-10-15 14:48:03 +00:00
Cedric BAIL b6a71c63e6 Make efreet depend on eina. No change in the code yet, so just fix your build system and no bug must show up.
SVN revision: 36625
2008-10-13 16:00:19 +00:00
Carsten Haitzler 0e1ee5edb7 add null theme check
SVN revision: 35658
2008-08-25 09:14:13 +00:00
Sebastian Dransfeld 77cb8587de define (void *)-1 as a macro
SVN revision: 35574
2008-08-19 06:32:40 +00:00
Sebastian Dransfeld bfb18778e2 Pass icon size as unsigned int.
SVN revision: 35490
2008-08-14 20:48:41 +00:00
Sebastian Dransfeld e52e71e475 Do atoi only once for each query.
SVN revision: 35489
2008-08-14 20:02:07 +00:00
Sebastian Dransfeld 7ee9598bd2 Make the icon cache work for efreet_icon_list_find.
SVN revision: 35488
2008-08-14 19:47:48 +00:00
Sebastian Dransfeld 25c29b62a3 ignore missing icons for 5 seconds.
SVN revision: 35480
2008-08-14 16:59:41 +00:00
Davide Andreoli 71e9fe89e9 Move Efreet_Uri stuff on the proper file. We can now use this in e instead of the internal one.
SVN revision: 35312
2008-08-03 00:07:17 +00:00
Dan Sinclair 5c0aaab8f1 - cleanups
SVN revision: 35309
2008-08-02 22:09:04 +00:00
Davide Andreoli f438c7eb9a * Fix Doxy warnings
SVN revision: 35307
2008-08-02 21:48:44 +00:00
Sebastian Dransfeld e909810628 remove uneeded variable.
SVN revision: 35245
2008-07-29 18:55:41 +00:00
Sebastian Dransfeld 31c9bed503 Reduce the needed amount of ecore_strlcpy.
SVN revision: 35244
2008-07-29 18:52:27 +00:00
Miculcy Brian cf33734edf enable failback when empty localisation string are found
SVN revision: 35184
2008-07-22 13:30:25 +00:00
Sebastian Dransfeld 018b1cae14 FDO Trash.
SVN revision: 35129
2008-07-16 19:45:12 +00:00
Sebastian Dransfeld 2daf954148 Fix single quouting, patch from ���������� ����������
SVN revision: 35013
2008-07-06 14:06:31 +00:00
Carsten Haitzler 43821d36e4 * add efreet garbage data check
* remove printfs that clutter output
* add efreet file type check - only parse regular files
* chekc mmap returns correctly for MAP_FAILED results
* edje has some stubs for adding script-only objecvts - but nothing useful
right now


SVN revision: 34689
2008-05-29 02:00:04 +00:00
Dan Sinclair cecac6f9d6 - add comments
- fix formatting


SVN revision: 34512
2008-05-08 14:22:21 +00:00
Carsten Haitzler 69a1a1a2e0 slackdood seems to report creating new apps is broken. this may be it.
SVN revision: 34508
2008-05-08 07:11:48 +00:00
Dan Sinclair 3322ce3b12 - deal with blank lines outside the invalid file checks
- this fixes the warning about a missing = sign
- you can have a blank value set on a key
  - this fixes the warnings about invalid key=value pairs
- formatting changes


SVN revision: 34496
2008-05-07 04:14:45 +00:00
Dan Sinclair 3624e4e923 - if we can't parse the INI file we can't set ini->data so return NULL
instead of an invalid ini file


SVN revision: 34493
2008-05-07 03:04:58 +00:00
Dan Sinclair 74b5878da7 - fix warnings
SVN revision: 34490
2008-05-07 02:16:50 +00:00
Cedric BAIL 14a01955ef Switch efreet_ini_parse to use mmap instead of fopen. Small speed improvements and little code cleanup.
FIXME: If people wonder we are loosing 50% of efreet time inside ecore_hash_* and ecore_string_*.


SVN revision: 34482
2008-05-06 15:56:40 +00:00
Carsten Haitzler 9e6e6a86e2 efreet segv maker removed. bad unescaping causing segvs! fixxored.
SVN revision: 34445
2008-05-03 09:25:43 +00:00
Sebastian Dransfeld b495b19470 formatting
SVN revision: 34212
2008-04-07 05:52:45 +00:00
Carsten Haitzler ec51ff71c6 1. stop doing unaligned memory accesses - htons() on a pointer to some
arbitrary point...
2. use int not long - long will be 64bit on 64bit platforms, but 32bit almost
everywhere (yes in theory it may not - but in practice, it won't - long
though will vary).


SVN revision: 34211
2008-04-06 23:02:54 +00:00
Dan Sinclair a81974fe1f - patch from Michael <sECuRE+e17 at twice-irc dot de> to fix possible mem
leak in efreet_desktop


SVN revision: 34050
2008-03-18 04:01:41 +00:00
Sebastian Dransfeld 0fdd25e671 TODO++
SVN revision: 33833
2008-02-24 19:20:08 +00:00
Sebastian Dransfeld cbe6386bc4 Fix callback to match changed function prototype.
SVN revision: 33831
2008-02-24 19:12:49 +00:00
Carsten Haitzler e6694ca7b4 fix doxy
SVN revision: 33798
2008-02-20 15:39:03 +00:00
Carsten Haitzler d522fc9e09 return the void pointer return val from the run cb - not just 1 or 0 :) a
superset here...


SVN revision: 33793
2008-02-20 04:10:02 +00:00
Sebastian Dransfeld 1683d650d4 A submenu needs real entries to be non empty.
SVN revision: 33513
2008-01-17 22:38:46 +00:00
Carsten Haitzler c1441e1c3a e:
1. configure/build changes to allow cross-compiling painlessly
2. pager module namespace changes - this was still dirty afdter the namespace
cleanup, so clean it up
3. add a powersave subsystem - doesnt have an "automatic" way to turn on and
off right now, this i think is best provided by modules (that do things like
monitor acpi status's (eg close lid of laptop), AC power status etc. etc.
this allows e to nicely defer "power" expensive actions to avoid disk
spinups etc.
4. move to use the new ecore poller system  - discussed long ago as part of
power management/saving issues. now it exists
5. add a canvas idle flush call that helsp cope with the new shm greedy
software x11 engine stuff
6. use the new powersave subsystem where appropriate
7. fix non-zeroed/initted memory access in e_fm_main
8. fix mem leak for e menus
9. remove ipc handlers for changed/removed config values
10. use animaotr not timer for menu scrolls - then menu scrolls obey the fps
config
11. fix up timer/poll happienss of cursor idle stuff
12. remove avoid damage from popups for now - causing problems
13. change battery and temp readouts to b e shorter so they fit
14. pager can emit signals on focus change for mini-windows now
15. temperature module now uses a slave process and uses stdin/out to talk to
it and get output - this makes e smoother as in my expereicne i found getting
the temp on my laptop actually took like 200ms so e "hang" for 200ms while
reading the acpi files - so now the subprocess does it and just writesa back
to e when it gets it.

ecore:
1. add ecore_pollers. see the documentation on them in doxygen comments :)
2. fix timers to only go off when they have to - bug there that made e's
select time out a LOT more than it needed to. defensive coding hid the
problem. now fixed. e should be much more power friendly now.
3. formatting/niceness in ecore_exe stuff
4. some comments on comments with SIGIO ideas vs. select
5. add call to be able to add an idle enterer at the start of the list of
them, not just the end (as has been the default)
6. fix ecore_evas to support auto evas idler calls after 0.5 secs of idle in
all canvases - and to do it right
7. if argb destination - set the shape EVENT shape (to mask out events in
transparent regions much like shape does withotu translucency)
8. in ecore_x add support for the event shape

evas:
1. fix cache to work properly and not just always fill up (as it seemed to
like to think cahce useage dropped below 0 when it didnt and thus just
over-fill)
2. software x11 engine now ONLY uses shm segments - no ximages over the
socket. this ximage hack was there to avoid the 2 round trips involved in
setting up an shm image - now i mitigated that wih an shm image cache pool.
it keeps shm images around and repurposes them for new update regions if
appropriate. this means many fewer shm creates (about 1/100th the number) and
since we recycle the memory less 0 memory page filling by the kernel - in the
end, i recorded about a 10-20% speedup over the old software x11 engine.
simple tests i have seen up to 120% speedups. idle flush now does something -
it frees all the cached shm segments. it has a hard-coded limit of 4mb worth
of shm segments (or 32 segments - whichever comes first) to keep around. once
can never complain much about speedups methinks :). also evas will defer sync
until the NEXT frame is written - this means evas can calculate the next
frame of data while x dma's/copies the images to the screen at the same time
(if you hve a dual core or multi-cpu machnike or your xserver is able to use
DMA to copy image data to the screen/video ram then this should see a decent
speedup).


SVN revision: 33448
2008-01-11 07:33:57 +00:00
Christopher Michael 6ebcae0ca6 Remove extra blank line.
SVN revision: 32965
2007-12-03 16:28:24 +00:00
Sebastian Dransfeld ae3b4b9d18 Store X- keys
SVN revision: 32836
2007-11-23 06:57:39 +00:00
Carsten Haitzler d9a541eade build it if spec is sloppy - which is it by default
SVN revision: 32731
2007-11-16 04:55:40 +00:00
Carsten Haitzler ff7e1f0a92 makes efreet more forgiving of bad .desktops. we spew out a warning though.
SVN revision: 32729
2007-11-16 02:35:01 +00:00
Carsten Haitzler eece802ba4 export those funcs! used by e.
SVN revision: 32350
2007-11-04 12:29:36 +00:00
Sebastian Dransfeld 3070ebe721 define EAPI
SVN revision: 32347
2007-11-04 11:19:55 +00:00
doursse c4a6c0dea6 autostuff improvements:
* use non deprecated version of AC_INIT and AM_INIT_AUTOMAKE
   and check the required minimal versions.
 * add bzipped distribution archive
 * add AC_LIBTOOL_WIN32_DLL
 * forbid libtool to check fortran and c++ compilers
 * compute libtool versioning from the version of the package
 * pass the directories based on ${prefix} to the preoprocessor
   with the -D option
 * replace INCLUDES, wich is deprecated since 2001 by AM_CPPFLAGS
 * remove some hardcoded gcc compiler flags


SVN revision: 32346
2007-11-04 10:28:23 +00:00
Sebastian Dransfeld 50240194f5 Don't hide this function.
SVN revision: 32345
2007-11-04 10:16:02 +00:00
Sebastian Dransfeld d15dcd181c EAPI
SVN revision: 32339
2007-11-04 09:32:35 +00:00
Sebastian Dransfeld 193bdf421f Now that users of efreet_desktop must free their references, this is no
longer needed.


SVN revision: 31865
2007-09-29 13:24:31 +00:00
Sebastian Dransfeld ee2d0762f4 Check for data size. Should be done throught the whole function!
SVN revision: 31723
2007-09-15 09:51:19 +00:00
Sebastian Dransfeld fdd316902d Temporarily fix SEGV when deleting .desktop files from disk.
SVN revision: 31717
2007-09-14 23:15:41 +00:00
Sebastian Dransfeld 9506bc06df Revert erronous changes.
SVN revision: 31716
2007-09-14 22:22:29 +00:00
doursse 6a7494bba7 remove trailing spaces
SVN revision: 31638
2007-09-06 16:15:10 +00:00
doursse 5209a42671 in efreet_ini_parse:
* move the opening of the file after the creation of the hash table and
  return it on failure
* return NULL when the hash table can not be created
* add the binary flag when opening a file for compatibility with Windows

in efreet_new, return NULL when efreet_ini_parse returns NULL (mem alloc
failure)


SVN revision: 31637
2007-09-06 16:05:35 +00:00
Nicholas Hughart 0ca23c712f Newline
SVN revision: 31630
2007-09-05 22:27:01 +00:00
Nicholas Hughart f6ce8ff6ad Add missing lib link for efreet_mime
SVN revision: 31628
2007-09-05 22:24:13 +00:00
Peter Wehrfritz 9ed7b18db2 ecore_list_remove_last -> ecore_list_last_remove
SVN revision: 31410
2007-08-19 19:36:53 +00:00
Sebastian Dransfeld 8e3509c4e0 Add recently used icon cache.
SVN revision: 31316
2007-08-15 05:33:04 +00:00
Sebastian Dransfeld f619a05536 Fix const warnings.
SVN revision: 31293
2007-08-13 05:36:03 +00:00
Sebastian Dransfeld b9c551c57d formatting
SVN revision: 31292
2007-08-13 05:33:26 +00:00
Sebastian Dransfeld b3e01bb957 Formatting
SVN revision: 31271
2007-08-12 19:28:02 +00:00
Sebastian Dransfeld 399d1a5c1b Formatting.
SVN revision: 31269
2007-08-12 19:18:16 +00:00
Carsten Haitzler 2f35dd7ab3 only check ext.. if there is one!
SVN revision: 31265
2007-08-12 11:14:56 +00:00
Carsten Haitzler 6b0688752a and for the picky - there's less copies for tolowoer. i also saw some BAD BAD
leaks. bad! alloc pointer but not freeing them! also fixed up #include of
alloca.h if needed.


SVN revision: 31260
2007-08-12 10:00:02 +00:00
Carsten Haitzler 492e5f9644 externsion checks should be case-insensitve.
SVN revision: 31245
2007-08-11 13:20:16 +00:00
Sebastian Dransfeld d2db2be7df more ref/free work.
SVN revision: 30998
2007-07-26 22:04:16 +00:00
Sebastian Dransfeld df7fa7571a Only need to assign ->desktop when ->directory exists.
SVN revision: 30997
2007-07-26 21:43:43 +00:00
Sebastian Dransfeld f5a9f79140 More ref/free work.
SVN revision: 30995
2007-07-26 19:14:41 +00:00
Sebastian Dransfeld 2c191f2cae efreet_desktop_free after efreet_desktop_get
SVN revision: 30989
2007-07-26 11:40:04 +00:00
Sebastian Dransfeld c233e2af8b Return NULL if file does not exist.
SVN revision: 30988
2007-07-26 11:37:23 +00:00
Sebastian Dransfeld 3b116f3a2b Remove the icon cache.
This means that users of efreet_icon_list_find, efreet_icon_path_find and
efreet_icon_find must clean up after themselves!


SVN revision: 30986
2007-07-26 11:30:10 +00:00
Sebastian Dransfeld 4142475b16 All pointers aquired with efreet_desktop_get should be free'd with
efreet_desktop_free now.


SVN revision: 30982
2007-07-26 10:20:24 +00:00
Peter Wehrfritz cd20fbc9d9 *API BREAK* see the discussion in the mailing list. misc and e_modules will follow
SVN revision: 30970
2007-07-25 17:01:04 +00:00
Dan Sinclair 6d48fb4e38 - efreet_init will call efreet_icon_init so there is no reason to do the
call again


SVN revision: 30905
2007-07-19 14:56:35 +00:00
Dan Sinclair 71da5f4639 - guard the efreet_icon init/shutdown methods as efreet_mime is calling it
internally


SVN revision: 30904
2007-07-19 14:54:51 +00:00
Nicholas Hughart 0a4d1e3605 Added efreet_mime_type_icon_get which will retrieve a mimetype icon. This follows the loose specification described in the fdo icon spec. Also added efreet_icon_list_find which will search for a list of icons in a theme before falling back to inherited themes. Also made a slight modification to the fallback detection for efreet_mime. Tabs will no longer trigger the return of application/octet-stream.
SVN revision: 30875
2007-07-17 19:21:20 +00:00
Nicholas Hughart be190f1117 Adding efreet_desktop_environment_get
SVN revision: 30873
2007-07-17 15:07:59 +00:00
codewarrior 61b09fd882 no need to work on a file if its empty. speeds things up a hell of a lot.
SVN revision: 30803
2007-07-13 23:23:13 +00:00
Carsten Haitzler 78408fe60a 1. fix a lot of things so they pass make distcheck - so many things have
broken. guys - need to be more careful!
2. asparagus
3. some extra docs/comments for evas


SVN revision: 30696
2007-07-10 00:13:26 +00:00
Nicholas Hughart 5f4e0e936e API update. Now you have more control over which methods are used to check for a type by using the efreet_mime_*_type_get functions. Also vastly increased the speed of the glob checking.
SVN revision: 30612
2007-07-06 03:01:21 +00:00
Nicholas Hughart 7a470acd75 No debugging
SVN revision: 30593
2007-07-04 15:46:19 +00:00
Nicholas Hughart 4e6ce1caf5 This should work now for big endian.
SVN revision: 30592
2007-07-04 15:29:29 +00:00
Dan Sinclair 1a14377b08 - hm, change this back...
SVN revision: 30587
2007-07-04 03:00:46 +00:00
Dan Sinclair 54f06c5e70 - formatting
SVN revision: 30580
2007-07-03 18:01:56 +00:00
Nicholas Hughart 93d3922d79 Added fallback mime types according to the spec. Should only get a NULL return when the file doesn't exist.
SVN revision: 30579
2007-07-03 17:55:20 +00:00
Dan Sinclair 0445f933df - stop losing the last mime
SVN revision: 30578
2007-07-03 16:22:17 +00:00
Dan Sinclair d1cd6e6710 - remove debug
SVN revision: 30577
2007-07-03 16:15:51 +00:00
Dan Sinclair 8c156ad2fc - update the magic parser to use mmap. fixes earlier hack
SVN revision: 30576
2007-07-03 16:10:30 +00:00
Dan Sinclair 0cf64dd8fd - this is a hack but keeps it from segv'ing if the delimiter is split over a
buffer read


SVN revision: 30571
2007-07-03 14:12:12 +00:00
Dan Sinclair 7176001239 - cleanup
SVN revision: 30570
2007-07-03 13:59:40 +00:00
rephorm 150d857e6f plug last leak
SVN revision: 30569
2007-07-03 13:41:44 +00:00
Nicholas Hughart 94b2f0a24f Fixed almost all the leaks. One minor one is still lingering that I can't quite figure out.
SVN revision: 30555
2007-07-03 05:46:54 +00:00
Nicholas Hughart f9727d47ae Updated quite a bit. API break: efreet_mime_get is now efreet_mime_type_get and it no longer accepts methods as a parameter. It will do the full check of the magic and glob rules based on recommendations in the spec. Also fixed the major leaks, still a few minor ones left.
SVN revision: 30553
2007-07-03 04:47:29 +00:00
Dan Sinclair d43f40e6c7 - simplify the monitor code. still gets spanked on shutdown for some reason
SVN revision: 30546
2007-07-02 22:01:44 +00:00
Dan Sinclair 563d1a104e - oops, though I'd compiled that....
SVN revision: 30545
2007-07-02 20:16:23 +00:00
Dan Sinclair 5406ab673f - formatting
- simplify a couple routines
- make the magic loading not loop infinitly on big endian


SVN revision: 30544
2007-07-02 20:08:35 +00:00
Dan Sinclair 5e87a2a846 - cleanup
SVN revision: 30520
2007-07-01 16:32:34 +00:00
Nicholas Hughart fe2842a58f Everything is working except the file monitors to look for new/modified files. This is going up in hopes that someone can find the bug in my code pertaining to this as I haven't been able to.
If you find the bug and fix it, don't hesitate to commit the code :)
Have Fun\!


SVN revision: 30515
2007-07-01 05:10:14 +00:00
kiwi a001af9e23 fix some warnings, mostly missing "void" when a function has no parameters
SVN revision: 30474
2007-06-27 10:57:54 +00:00
Sebastian Dransfeld ee938c5191 Free efreet_icon_deprecated_user_dir on shutdown.
SVN revision: 30430
2007-06-22 10:20:44 +00:00
Sebastian Dransfeld b97be5f5c1 Make IF_FREE better suited for free'ing global variables. The free cb
can now not interfere with it's owner during free.


SVN revision: 30429
2007-06-22 09:45:09 +00:00
Sebastian Dransfeld 68159d9bdd - Add ref function.
- Don't free Efreet_Desktops on shutdown, this is the responsibility of
  those who do efreet_desktop_get. If we free them here, there will be a
  problem with the events in efreet_util, as the events might try to free
  the Efreet_Desktops during ecore_shutdown.
- Check if the cache exists before trying to remove a Efreet_Desktop, as
  we might try to free a Efreet_Desktop after efreet_shutdown.


SVN revision: 30428
2007-06-22 09:39:58 +00:00
rephorm 2993abfb7d add efreet_type_alias()
SVN revision: 30411
2007-06-20 18:04:26 +00:00
rephorm 166cdf9873 add a function to get desktop commands immediately when no remote uri's are passed in
SVN revision: 30386
2007-06-18 04:26:50 +00:00
Carsten Haitzler e01578f037 allow to load a .desktop file and bypass cache
SVN revision: 30369
2007-06-17 08:29:20 +00:00
Carsten Haitzler 1f4e4934b2 make load time a long long - so we can use the modified time on disk (this will
make it 2038 safe).


SVN revision: 30350
2007-06-17 00:33:39 +00:00
Sebastian Dransfeld 0de6ba55b1 Formatting.
SVN revision: 30330
2007-06-14 18:37:31 +00:00
Carsten Haitzler b784b8142a efreet can actually free icons now... and flush the cache explicitly
SVN revision: 30328
2007-06-14 15:53:02 +00:00
rephorm 5a12b590ac add efreet_menu_new()
small fixes


SVN revision: 30267
2007-06-07 01:22:48 +00:00
Sebastian Dransfeld 214cf08966 Create category lists while scanning for .desktop files.
SVN revision: 30216
2007-06-03 18:07:23 +00:00
Sebastian Dransfeld a4c53227fb Fix EmbeddedTextRectangle parsing.
SVN revision: 30153
2007-05-29 20:24:27 +00:00
Sebastian Dransfeld ab766b0398 Don't store the complete path in the name element.
SVN revision: 30152
2007-05-29 20:18:21 +00:00
Sebastian Dransfeld 5e3a40da08 No need for the 'last' variable.
SVN revision: 30151
2007-05-29 19:29:46 +00:00
Sebastian Dransfeld 9bc0ab2e6e Check if we find the monitor in the list.
SVN revision: 30123
2007-05-28 10:35:12 +00:00
Carsten Haitzler f1d6383852 limit recursion - safety for bad theme config.
SVN revision: 30080
2007-05-26 06:45:51 +00:00
Sebastian Dransfeld d783212329 Fix Merge type="all"
SVN revision: 29862
2007-05-05 07:49:01 +00:00
Sebastian Dransfeld eea11312db Store the .directory files which provides the icon.
SVN revision: 29860
2007-05-05 07:21:40 +00:00
Sebastian Dransfeld 8691b711a3 formatting.
SVN revision: 29849
2007-05-04 17:45:26 +00:00
Sebastian Dransfeld fc6aa64ea0 Fix environment set.
Better new buffer value.


SVN revision: 29845
2007-05-04 15:02:55 +00:00
Sebastian Dransfeld 405dcfc633 implement more of fdo menu layout.
SVN revision: 29805
2007-05-02 19:35:43 +00:00
Carsten Haitzler 9af768a436 efreet passes make distcheck now.
SVN revision: 29634
2007-04-22 03:53:02 +00:00
Eric Schuele 64f4fbc453 Fix efreet cache_fill issue by guaranteeing we attempt to obtain at least one file in the dir. This allows the idler to run again at a later time.
SVN revision: 29587
2007-04-18 14:18:28 +00:00
Sebastian Dransfeld ece3b075c4 Rename prototype to match function name.
SVN revision: 29543
2007-04-15 17:19:08 +00:00
Sebastian Dransfeld edf0a0942b Use ecore_string_instance so we can do pointer matching instead of string
matching.


SVN revision: 29533
2007-04-15 10:53:54 +00:00
rephorm 1b269ba561 leak--
add functions to retrieve a list of desktop categories and a list of desktops in a given category


SVN revision: 29530
2007-04-15 07:24:03 +00:00
rephorm 354550b349 add efreet_util_menus_find()
SVN revision: 29527
2007-04-15 06:16:54 +00:00
rephorm b2aac1d94a don't leak empty menu entries
SVN revision: 29525
2007-04-15 04:54:45 +00:00
rephorm d35772f52a ${XDG_DATA_HOME}/icons should be scanned, not ${XDG_DATA_HOME}
SVN revision: 29524
2007-04-15 04:51:37 +00:00
Sebastian Dransfeld c3056543a1 No need to this as we get the contents of the dir by using remove first.
SVN revision: 29496
2007-04-13 16:29:29 +00:00
Sebastian Dransfeld 814eed1b11 Scan dir before monitoring it.
SVN revision: 29495
2007-04-13 16:28:32 +00:00
Sebastian Dransfeld ea5f208a00 Fix segv. Create struct before adding it to the hash.
SVN revision: 29458
2007-04-10 16:11:54 +00:00