Summary:
script_override variable is initialized as EINA_FALSE
when group is created, but assign EINA_TRUE can mislead
some developers to think script_override default value
is EINA_TRUE.
Reviewers: Jaehyun_Cho
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3803
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
If a group inherits from the other, group script block is copied
only when there are program script blocks in parent group.
This patch makes edje_cc always copies group script block,
but allows to override group script block in child group.
The content of reverted D3799 is included. That reveals this inconsistency.
Reviewers: cedric
Subscribers: Jaehyun_Cho, woohyun, jpeg
Differential Revision: https://phab.enlightenment.org/D3802
This reverts commit 37408aef95.
This commit is reverted temporarily to prevent build fail.
This commit reveals the hidden bug when elementary theme is built.
This commit will be applied after the hidden bug is resolved.
Summary: Code doesn't need to be copied every time when program is copied.
Reviewers: cedric
Reviewed By: cedric
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3799
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
When edje_cc inherits group, group's script wasn't copied.
So base group and inherited groups use same pointer.
When edje_cc makes lookups for script, loopkups is overwritten.
Test Plan: elementary_test -> shown error log
Reviewers: Hermet, woohyun, cedric, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3796
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Summary:
Adding of new properties for light in edje-3d. Recalculation of main properties in Canvas3D parts to provide animation (only those which I used in widgets).
Checking of frame existing when setting material.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3694
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Detecting missing part for insert_before/after is broken.
This patch makes the feature work and clarifies error message,
and removes redundant internal function.
Reviewers: cedric, jpeg
Subscribers: raster, jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3576
Summary:
The "color_tree" block contains a list of one or more "node" blocks.
A "node" block consists of its own color class name and the list of child
color classes. At runtime, parent color class will be referred instead,
if child color class is set to part but its color values are not defined.
Reviewers: raster, Jaehyun_Cho, jpeg, cedric
Reviewed By: cedric
Subscribers: cedric, kimcinoo
Differential Revision: https://phab.enlightenment.org/D3606
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
Group.Parts.Part.Description.Domain @edcsubription is in wrong place,
(actually that is not necessary one.)
so it makes Group.Parts.Part.Description.Text block seem weird.
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3597
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This reverts commit 2ca99b8b68.
This breaks elm compile:
EDJ default.edj
edje_cc: Critical. In group "genlist_arrow": Unable to find part "sel_bevel" for insert_after in part "arrow_img_l".
Summary:
Detecting missing part for insert_before/after is broken.
This patch makes the feature work and clarifies error message,
and removes redundant internal function.
Reviewers: cedric, jpeg
Subscribers: jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3576
When compiling src/bin/edje, we end up with compiler warnings about
'pc' variable being set but not used. This patch just comments out
(for now) those variables (as I am unsure if they are going to be used
later or not).
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
edje_cc does not check whether insert_before/after part exists.
edje_cc will notify a compilation error to developer when insert_before
or insert_after part does not exist.
T2513
Reviewers: Hermet, NikaWhite
Subscribers: cedric, jpeg
Maniphest Tasks: T2513
Differential Revision: https://phab.enlightenment.org/D3517
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
I have a strange feeling that I always commit the same code to edje-3d, I hope it will finish very soon.
However here are some important new keywords, descriptors for them, methods for models,
structure for providing animation in edje programs and some more changes.
Reviewers: raster, Hermet, cedric
Reviewed By: cedric
Subscribers: jpeg, artem.popov
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3437
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
when changing the type of a part which already has descriptions, it's
necessary to avoid copying any of the previous type-specific desc data
this should be the last of them...
@fix
in the case where a part is inherited, changing the type will lead to
broken part/program lookups for the part during resolving in write-out;
memcpy alone is not enough to fix this.
@fix
==24030== Invalid read of size 1
==24030== at 0x4A0AC77: strcmp (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x598A9DC: _eet_dictionary_lookup (eet_dictionary.c:69)
==24030== by 0x598AA93: eet_dictionary_string_add (eet_dictionary.c:103)
==24030== by 0x598107B: eet_data_put_string (eet_data.c:857)
==24030== by 0x598213F: eet_data_put_type (eet_data.c:1433)
==24030== by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x59894A4: eet_data_put_array (eet_data.c:4760)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
==24030== by 0x5983E92: eet_data_write (eet_data.c:2412)
==24030== by 0x406BC2: data_thread_head (edje_cc_out.c:674)
==24030== by 0x406D51: data_write_header (edje_cc_out.c:717)
==24030== by 0x40B52E: data_write (edje_cc_out.c:2439)
==24030== by 0x40563D: main (edje_cc.c:399)
==24030== Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
==24030== at 0x4A089C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
==24030== by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
==24030== by 0x410EDA: new_statement (edje_cc_parse.c:229)
==24030== by 0x41227C: parse (edje_cc_parse.c:719)
==24030== by 0x412E5C: compile (edje_cc_parse.c:1044)
==24030== by 0x405624: main (edje_cc.c:394)
==24030==
==24030== Invalid read of size 1
==24030== at 0x4A0AC77: strcmp (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x598AAFB: eet_dictionary_string_add (eet_dictionary.c:109)
==24030== by 0x598107B: eet_data_put_string (eet_data.c:857)
==24030== by 0x598213F: eet_data_put_type (eet_data.c:1433)
==24030== by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x59894A4: eet_data_put_array (eet_data.c:4760)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
==24030== by 0x5983E92: eet_data_write (eet_data.c:2412)
==24030== by 0x406BC2: data_thread_head (edje_cc_out.c:674)
==24030== by 0x406D51: data_write_header (edje_cc_out.c:717)
==24030== by 0x40B52E: data_write (edje_cc_out.c:2439)
==24030== by 0x40563D: main (edje_cc.c:399)
==24030== Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
==24030== at 0x4A089C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
==24030== by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
==24030== by 0x410EDA: new_statement (edje_cc_parse.c:229)
==24030== by 0x41227C: parse (edje_cc_parse.c:719)
==24030== by 0x412E5C: compile (edje_cc_parse.c:1044)
==24030== by 0x405624: main (edje_cc.c:394)
@fix
since it's now possible to inherit parts, it's possible that inheriting from
a different part type can lead to memory errors in the case where one part
has a larger desc struct than the other
@fix
Edje_Part can change its min or max size in code level with
size_class.
Differential Revision: https://phab.enlightenment.org/D3329
PS: Manual commit, arc refused to work...
@feature
Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
thanks conr2d for pointing this out - we uses the float parse func and
not in parse. we should use int parse as the min and max sizes are
just ints and not floats. :)
@fix
Summary:
When an edje program attempted to play a sound that was not registered
(e.g. in a sounds{} block), edje_cc would segfault instead of throwing
an error.
@fix
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3171
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Due to a misplaced semicolon, EINA_LIST_FREE was doing nothing and only
the last part was freed if there was one, and probably a crash if there
wasn't.
This shows again that having statements without {} is dangerous. We need
to force {} and add a lint rule, or at the very least, add a rule to put
the ; in a new line (like clang warns about by default anyway).
@fix
This makes SNAPSHOT a part type on it own, combining the
common and filter subtypes.
This means it is now possible to set an evas filter on
a SNAPSHOT object, just like for TEXT, IMAGE and PROXY.
@feature
This is now like the other embedded scripts, where a verbatim
string is parsed. The syntax is now:
filters {
filter {
name: "filter0";
file: "filter.lua";
}
filter {
name: "filter1";
script {
blend {}
}
}
filter.file: "file.lua"; // name is "file.lua"
}
Thanks @raster for the quick review.