as reported, elicity triggers an infinite loop by calling
edje_object_part_geometry_get(), which in turns calls
_edje_recalc_do() which in turns calls the elicit code that requests
edje_object_part_geometry_get() and since it's still marked as
"dirty", it enters the loop...
the real fix is just the move of ed->dirty = 0; before calling
recalcs, but I also unmarked object as need_recalculate so we can even
avoid requesting object to recalculate from evas.
SVN revision: 38139
* src/bin/evil_test_gettimeofday.c:
fix unit test; now all tests pass, finally
* src/lib/evil_unistd.c:
fix gettimeofday() on mingw32ce
SVN revision: 38130
* src/bin/evil_test_dlfcn.c:
* src/bin/evil_test_dlfcn.h:
add dflcn unit test
* src/bin/evil_suite.c:
show result of the unit tests and add dlfcn unit test
* src/bin/evil_test_environment.c:
remove debug
* src/bin/evil_test_gettimeofday.c:
debug, not working yet :/
* src/bin/evil_test_link.c:
* src/lib/evil_link_ce.c:
fix link support on Windows CE
SVN revision: 38126
Wow, this was tricky to find since it is hard to trigger, thanks to
Canola complex edje files we could spot it!
In some cases we end with object being marked as dirty while
calculating its state (ie: edje), then we need to run smart calculate
again.
This has a drawback however: we cannot check for need_recalculate()
inside smart calculate anymore, we must assume it is only called if
the flag is set. To avoid that we could mark a shadow member and use
that or use a counter, that has the problem of using more data.
SVN revision: 38108
give the possibility to write small code like :
it = eina_hash_iterator_tuple_new(hash);
eina_iterator_foreach(it, do_something_cb, NULL);
eina_iterator_free(it);
If hash is empty, but valid it will return a NULL iterator for this
example.
SVN revision: 38104
Eina hash api must get non NULL pointer allocated with
eina_hash_new(), but Evas hash started with NULL and would allocate
and destroy the hash as required by operations.
To do a proper wrapper we must ensure we don't call Eina hash API with
NULL, we must handle that outside Eina.
PLEASE do not remove this code again (it's the second time I add it),
this is the correct approach. Other than that is going after evas_hash
usage and converting directly to eina_hash.
SVN revision: 38091
Unset value is now 0x0 and this is handled as invalid, with an error message.
1x1 is a valid fill, but it is very slow and often system hangs while
it scale the whole thing... usually nobody want it at 1x1, we just end
using that for unset values. With unset value at 0x0 it will not
happen and we'll know when we forgot to do so!.
SVN revision: 38071
add output
* src/bin/evil_test_link.c:
add a unit test for readlink()
* src/lib/evil_link_xp.cpp:
fix readlink() and symlink() on Windows XP
SVN revision: 38070