add a flag to know if cegcc is used or not
* src/lib/Makefile.am:
* src/lib/dirent.h:
* src/lib/evil_dirent.c:
add opendir(), closedir() and readdir() implementations
for Windows XP and CE. Now, the evas engines are correctly
found.
* src/lib/fnmatch.h:
formatting
SVN revision: 37376
Table code is still *incomplete*, it just do homogeneous layouts as
I'm still trying to figure out how to make it great.
I'm not expecting to make layout configurable, as we did for box, but
if you think it's required we can do that later.
Now that the public API of both BOX and TABLE are in, we can add these
as parts of Edje.
SVN revision: 37359
Draw back: When we are destroying an Evas canvas, we loose all cached font
that are not used anymore.
A correct fix would be to link Fndat to the Evas that provide and use them.
And only delete them when no more Evas reference them.
SVN revision: 37353
sizeof(Eina_Stringshare_Node) is now 24 bytes on 64bits platforms, but
str[] was pointing to before that, to the 20th byte, causing out of
bounds access.
Adding the padding will cause str[] to use the correct position. It
wastes 4 more bytes, like pre-optimizations, but it's just on big
machines.
SVN revision: 37305
use AC_CHECK_HEADERS instead of AC_CHECK_HEADERS_ONCE, because it
leads to more trouble than it improves configure speed...
* src/lib/Evil.h:
use __VA_ARGS__ instead of ##args to make gcc happy.
SVN revision: 37302
define _WIN32_WCE with the cegcc compiler too
useless EVIL_HAVE_WINCE define
* src/bin/evil_test_memcpy.c:
use _WIN32_WCE insead of EVIL_HAVE_WINCE
* src/lib/Evil.h:
try another definition of open(). Need feedback.
* src/lib/evil_private.h:
* src/lib/evil_util.c:
add private error message when GetLastMessage must be called
* src/lib/Makefile.am:
* src/lib/evil_link_ce.c:
* src/lib/evil_link_xp.cpp:
* src/lib/evil_unistd.c:
* src/lib/evil_unistd.cpp:
move specific link code (readlink and symlink) outside
evil_unistd to evil_link_ce.c for Windows CE and
evil_link_xp.cpp for Windows XP. This allow the Windows CE
code not depend on c++ code anymore and above all, not
statically link libstdc++ on that platform.
I need feedback on Windows XP, btw :)
SVN revision: 37295
mixing #ifdef'ed blocks inside code is bad, can lead to warnings if
some variables are not used and it's a pain to read.
instead, just define functions and always call them, choose their
implementation based on the ifdef macros. I opted to have 2
declarations, but one can go like other parts and #ifdef around the
function contents as well.
SVN revision: 37281
we don't need to use 'begin' flag (that takes a byte) just to see if
we're in the same memory block as the head, just do a pointer math.
SVN revision: 37270
trade off safety by speed, we will always assume str was previously
shared, like evas_stringshare_del() did and we can know with zero-cost
the number of references and can avoid strlen() too.
When references drop to zero we still have to do the hash, access the
bucket and then lookup the Red-Black tree, then walk the list of
nodes, but avoiding so would use more memory, unacceptable at this
point.
SVN revision: 37268
add c++ compiler checks
remove linking against libuid.a as it's not an import lib.
* src/bin/Makefile.am:
* src/bin/evil_suite.c:
* src/bin/evil_test_link.c:
* src/bin/evil_test_link.h:
add unit test for links. Must be improved.
* src/lib/Makefile.am:
add unistd.cpp and uuid.c
use -fno-exceptions when compiling c++ code
* src/lib/evil_unistd.c:
* src/lib/evil_unistd.cpp:
use C++ api to manage links on Windows XP. Can be considered
as heavy but it's cleaner as the internals can change later.
I might consider to compile Windows CE code with only C compiler
as with mingw32ce, libstdc++ is statically linked to the
DLL / app (legacy of mingw stuff), to reduce a bit the DLL size.
* src/lib/evil_private.h:
declare _evil_error_display() as C function (otherwise linker
not happy)
* src/lib/evil_stdlib.c:
use RegCreateKeyEx() instead of RegOpenKeyEx in getenv().
fix an _evil_error_display() call.
* src/lib/evil_util.c:
add more error messages
* src/lib/evil_uuid.c:
define IID_IPersistFile (for links on Windows XP)
* src/lib/evil_unistd.h:
fix doc
SVN revision: 37267
Box is a smart object to help with the common task of laying out lots
of objects. It's very flexibile and one can customize the layout
function on a per-object basis dynamically, just set a new layout
function (the most common are provided). By default layouts use size
hints from children to do their work, but one can also add new
properties, just subclass with evas_object_smart_smart_set() and then
define your own option_* callbacks.
This code was ported from Guarana (widgets/sequence_box.c) with
permission of ProFUSION embedded systems so it can be relicensed from
LGPL to Evas license.
Original author: Gustavo Lima Chaves <glima@profusion.mobi>
Port: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
SVN revision: 37188
* configure.ac re-organisation
* don't compile edje binaries on windows ce
* add doc rule to build documentation (hence gendo is removed,
Doxyfile is moved to doc/ and edje.c.in is renamed doc/edje.dox.in)
Next commit will fix completely the documentation
* fix edje.pc.in
SVN revision: 37137
* reorganize configure.ac
* remove eina dependency, use the new ac_attribute m4 macro
* fix Libs.private field and add Requires field in embryo.pc
* rename embryo.c.in to embryo.dox.in
* add doc rule to build the documentation. The doc will completely
be fixed in the next commit
SVN revision: 37116
* reorganize configure.ac
* select default opptions in configure.ac (disable openssl
for windows ce)
* fix Libs.private field and add Requires field in eep.pc
* rename eet.c.in to eet.dox.in
* use css file from other packages. Now the doc is correctly
displayd (need a rename of eet.css to e.css, though. will be
next commit)
SVN revision: 37114
* src/lib/evil_unistd.h:
add execvp stub function for ecore_app. Does nothing,
only here to make compilation working with mingw32ce.
SVN revision: 37102
On the let's break 'em all bandwagon, add the two callbacks (or
virtuals if you like the name) so we can know when some object is
attached or detached as a member of our object, this will help
eliminate confusing and duplicate functions like
evas_object_smart_clipped_smart_add().
Please recompile *ALL* your libs and applications that depend on Evas
and Smart Objects, like ETK.
SVN revision: 37084
- Array layout would be broken or worse not possible to reload at all if you put NULL pointer in it.
- Array of string now work.
- Fix a double free issue with array on double load.
* Add the test to detect this case.
SVN revision: 37051
"The attached patch fixes the ecore_path_group_available by removing the
senseless check on shared object suffix.
It also renames the function to ecore_path_group_available_get, to match the
ecore API."
SVN revision: 37031
* Add a test case for that one.
Problem was simple type inlining in complex structure (like list/hash/array) is
just a hack. We are creating a subtype with the data chunk. That work with INT
or SHORT for example, but not with STRING because it's a pointer to a STRING and
not directly the STRING. This result in a double pointer dereferencing where it
shouldn't. In fact STRING is not really like other simple data type. So we
should handle it differently.
Still need to fix Array and Hash.
SVN revision: 37024