Commit Graph

245 Commits

Author SHA1 Message Date
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