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