Apply badzero.cocci, badnull.coci and badnull2.cocci
This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:
code before patch ||code after patch
===============================================================
return a == NULL; return !a;
return a != NULL; return !!a;
func(a == NULL); func(!a);
func(a != NULL); func(!!a);
b = a == NULL; b = !a;
b = a != NULL; b = !!a;
b = a == NULL ? c : d; b = !a ? c : d;
b = a != NULL ? c : d; b = a ? c : d;
other cases:
a == NULL !a
a != NULL a
SVN revision: 51487
WARNING ! WARNING ! WARNING ! WARNING !
Old file format is not readable by edje directly. If you have old edje
file that you want to convert, use edje_convert. Their is no way back.
Recompile your file as soon as possible. Please report any issue you
spot as this is a huge and needed change.
SVN revision: 50936
* Remove vim modelines:
find . -name '*.[chx]' -exec sed -i '/\/\*$/ {N;N;/ \* vim:ts/d}' \{\} \;
find . -name '*.[chx]' -exec sed -i '/\/[\*\/] *vim:/d' \{\} \;
* Remove leading blank lines:
find . -name '*.[cxh]' -exec sed -i '/./,$!d'
If you use vim, use this in your .vimrc:
set ts=8 sw=3 sts=8 expandtab cino=>5n-3f0^-2{2(0W1st0
SVN revision: 50816
internal representation.
The objectiv is to simplify code, consume less CPU and memory
without loosing feature. Please report any breakage when you
see them. It will take a few weeks before we change the file
layout, during that time the load time may increase.
SVN revision: 49922
Others types, like TEXT/TEXTBLOCK/SWALLOW/GROUP (others?), are similar to Externals. And may can recalc some properties only in description_apply, not on every call to part_recalc.
Some generic boolean properties, like "visible", can be moved to description_appy too.
SVN revision: 48144
Pretty much moving some things around and extending the smart class
to allow overloading some common functions. Edje_Edit will make use
of this.
SVN revision: 47841
but it could be much much much cleaner/better so i started a minimalist redo.
it's temporarily enabled right now. will disable soon to do in the background.
SVN revision: 47782
I'm now introducing a couple of goodies to make externals more useful,
they are:
* add: extra parameter with the part name. This may be used by
external objects to emit signals in the name of that part.
* param_set/param_get: set parameters at runtime, given their names
and types. This avoids requiring users to get the actual object and
call methods. This abstraction is also good because it let one uses
Elementary without even linking to it ;-) (this have limits, like
complex types are not supported). Right now this is just exposed
to C, but goal is to have it exposed in Embryo and Lua as well.
* translate: new method to translate previously strings that are
specified statically, such as the parameters names.
Four new functions got added to the Edje API:
* edje_object_part_external_object_get() so we don't have to abuse
edje_object_part_swallow_get()
* edje_object_part_external_param_set() and
edje_object_part_external_param_get() that call the external type's
functions.
* edje_external_param_type_str() to convert types to string and
provide nicer debugs :-)
TODO:
* expose external_param_set()/external_param_get() to Embryo and Lua.
SVN revision: 47456
* must disconnect connected callbacks, particularly those to
canvas. The object we previously connect will die anyway, but
canvas continues alive, dispatching its
EVAS_CALLBACK_CANVAS_FOCUS_IN and EVAS_CALLBACK_CANVAS_FOCUS_OUT,
causing nasty segmentation faults!
* must call _edje_clean_objects() *AFTER* the entry is shut
down. Otherwise ed->evas will be NULL and
evas_event_callback_del_full() will fail. I left extra checks on
those, since this call will return the given data (in our case
"ed") and NULL when callback connection was not found.
* flag existence of entries and if they were already initalized and
shutdown before, avoid redoing such work.
This fixes a stupid crash that bugged editje for a while now.
SVN revision: 46263
More of this can be done, and some may even be too much, but I'm losing
perspective over it and either I'm inclined to move all of them or none
at all.
Reviews, comment, fixes and reverts are welcome.
SVN revision: 45115
You can try it by passing --enable-fixed-point to the configure. It
will produce an ABI/API compatible Edje library that use internally
Eina_F32p32 instead of double. It will load Eina_F32p32 instead of
double from eet file (thanks to eet ability to convert them on the
fly), so edje file are compatible between fixed point and floating
point version.
This patch touch almost all internal calc of Edje, I did test it with
elementary_test, enlightenment and all my test apps, but it could
certainly break some of your preferred Edje file. If you see any
unexpected behaviour please report them to me as soon as possible.
Note: For devs, I put few macros in edje_private.h that should now
be used when doing calc in Edje, please use them so that Fixed Point
doesn't break in the futur.
SVN revision: 44323
Since we are on a freeze, the patch goes on updated to current svn, but without changing its API. After the freeze some things will be added, and some will change :)
SVN revision: 43302