eina_list_search_sorted_near_list() was broken and barfed at my face
during development of eina_list_sorted_insert(), so I rewrote it
following more traditional approach, also adding special cases for
head/tail remembering that random access in lists is not as fast as
array. I also simplified that code.
eina_list_sorted_insert() should be fast, O(log2 n) insert, with
special cases to insert already sorted arrays forwards or backwards,
however I believe that it's better to simply append/prepend in those
cases (if known).
SVN revision: 41625
This should not impact anybody, at least in SVN I got no hits for this
function.
The new parameter contains the result of the last call to func(), so
we can know if the node is smaller, bigger or exactly the requested
value and don't need to call func() on node to know for sure.
SVN revision: 41623
eina_list_merge() now fixes the smallest list segment, not always the
right. Before if we joined a list 1 to 1000 segments we'd fix all the
1000 instead of the single at left.
Tests to make sure both code paths are being executed.
SVN revision: 41622
that still integrate cleanly with the EFL.
ecore_thread_run need two callbacks :
* func_heavy is called from another thread and should not use the
EFL except Eina, but carefully.
* func_end is called when func_heavy is done, but from inside ecore
main loop, so you can at this point call every EFL functions without
fear.
Note :
The system automatically detect how many CPU you have and will spread
the load on all of them.
You must not assume that the result will come in the same order you
requested it. Depend on each CPU load and how heavy the function on it
are.
SVN revision: 41555
Rectangle needs the list module for the pool_new() function. Patch
also adds a check for initialization error on the unit test.
By: Andre Dieb
SVN revision: 41460
The original intention was that if the property is absent or not of extected type (or invalid window) they should return -1, otherwise they should return the number of elements in the property, 0 if none.
Unfortunately they all returned 0 if the property does not exist. Also, ecore_x_window_prop_xid_list_get retuned 0 if the property exists, has no elements, but has wrong type (should be -1).
These issues should be fixed now but this may cause problems in any code that relied on the incorrect behavior.
SVN revision: 41418
-Q, -V, -D: change debug levels, always forget about EINA_ERROR_LEVEL :-P
print message with status, if it failed, was generated or already exists.
SVN revision: 41374
To reach this case, have a timer that would not be fired on
_ecore_main_loop_iterate_internal(), for example it's not ready yet
(just_added==1), system would get into this inner loop and would never
stop, since there is timer expired now (next_time == 0.0), if we go to
start_loop it would just get into the same loop, not dispatching and
timers.
Python test 04-idler.py triggered that problem.
SVN revision: 41342
* allow the build of evas without xlib installed (for OpenInkpot guys)
* add big fat warning when at least a module is linked statically (try it !)
more patches will follow now (ecore, e, rage and ewl)
I let pyton and c++ bindings maintainer to do the rename
SVN revision: 41329
These thumbnails are generated using an edje template. Each thumbnail is
an edje file, that has a group called "movie/thumb"
The thumbnail can be animated by receiving a signal "animate" or "animate_loop"
(the last one being a loop animation that calls itself when finished), and
the animate_loop program can be stopped by receiving a signal "animate_stop".
The transition time is set based on the time of the animation (that is set
by the call ethumb_video_time_set()).
SVN revision: 41322
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
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
evas_common_font_utf8_get_prev currently works correctly only on an
ASCII symbols. For non-ASCII it just returns random garbage somehow
constructed from a string.
Attached patch makes it work according to the comment at the start.
SVN revision: 41292
- Now it's possible to access the ecore_evas used to generate the
thumbnails (and use functions like ecore_evas_buffer_pixels_get() ont it);
- Functions to calculate aspect and fill area using the aspect ratio as
argument are also provided.
SVN revision: 41288
Improvements: Now evas rendering loop is the one responsible to
initialize the surface to 0 correctly (taking into account surface
alpha and object opacity). This will reduce the number of memset
we do.
Note: Current software_x11 (xlib and xcb) are buggy. They are
copying too much data when the surface use a mask. That's why
two memset are left in their code. They could be removed, but
we should fix the surface we copy on change (look at mxob user
and evas_software_xlib_x_output_buffer_paste).
SVN revision: 41206
check the libraries only if benchmarking is enabled
* add extra dist files to be able to configure eina
with autogen.sh and also add .spec files
SVN revision: 41203
configure time) in an exported header. Use only macros
defined by the compilers, which is sufficient and simpler.
* Add missing EINA_DEPRECATED in some cases.
SVN revision: 41199
what is modified:
eina_counter_add -> eina_counter_new
eina_counter_delete -> eina_counter_free
eina_lalloc_delete -> eina_lalloc_free
eina_mempool_new -> eina_mempool_add
eina_mempool_delete -> eina_mempool_del
eina_mempool_alloc -> eina_mempool_malloc
eina_tiler_del -> eina_tiler_free
It remains some questions: have the following API a good name:
eina_module_list_delete
eina_list_free
eina_rbtree_delete
(see ticket #286)
If you find any problem, please report in that thread
SVN revision: 41187
sent by ecore_pipe. The programs based on Ecore on Windows
do not take 100% of the cpu power anymore.
Patch by Lars Munch, modified by me (formatting + guards)
SVN revision: 41179
a way to select it with --enable-foo by passing
'static'. Use at your own risks.
If I've messed something up, please report in that thread
SVN revision: 41160
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
also rename evas_layer_free() to evas_layer_free_objects() as what it
do now, make _evas_layer_free() as static and use it both cases.
SVN revision: 41123
* Allow to pass 'static' to configure memory pools
* Add fixed_bitmap in the possible statically linked memory pools
For example:
./configure --enable-chained-pool=static --disable-fixed-bitmap
SVN revision: 41119
* handle error code and print out error message, this should remove
invalid access traces from valgrind.
* give "0" as pid to get self affinity, this is documented in the man
page.
SVN revision: 41118
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