Commit Graph

1420 Commits

Author SHA1 Message Date
Mike Blumenkrantz b47d9caf84 edje_cc: redo part type setting to be even more correct
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
2015-12-16 15:53:50 -05:00
Mike Blumenkrantz e14dc0f11d edje_cc: correctly copy part descriptions when setting part type
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
2015-12-16 15:03:40 -05:00
Mike Blumenkrantz 6eff8ab5ba edje_cc: move part desc free function within file
no funcitonal changes
2015-12-16 14:38:33 -05:00
Mike Blumenkrantz b14a06b040 edje_cc: terminate filter file scripts
==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
2015-12-16 14:34:20 -05:00
Mike Blumenkrantz b7cf69cd78 edje_cc: track parts for descriptions, ensure part types match when inheriting
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
2015-12-16 14:31:49 -05:00
Mike Blumenkrantz 56469c55d9 efreet_icon_cache_create: null theme eet file to avoid double free
@fix
2015-12-16 13:40:00 -05:00
Jean-Philippe Andre 6dcde68d24 Eolian gen: Don't fail if file is empty (--gi)
@fix
2015-12-14 16:17:52 +09:00
Vincent Torri 7500ef6f8c edje_cc: Use ecore_file_file_get() and ecore_file_dir_get() for EDC parsing
Replace current EDC parsing code in edje_cc on Windows with the code
using ecore_file_file_get() and ecore_file_dir_get().

Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
2015-12-10 20:44:45 +09:00
Tom Hacohen 28f00a117a Edje cc: Fix use of uninitialised value.
Slash should be initialised to NULL, as if slash was not found in case
we don't even look for it.

Also, further restrict slash's scope.

@fix
2015-12-08 11:44:31 +00:00
Tom Hacohen c2c7763481 Eolian legacy generator: Make code a bit clearer.
This makes it clear that only one of those conditions can be
true.

This also fixed CID1323087
2015-12-08 10:58:21 +00:00
Vincent Torri 7782e2388c Evil: fix infinite recursive loop in previous addition of setlocale() in Evil
Summary:
setlocale() called itself because it was defined as a #define
so remove this #define from evil_locale.h and move it in another header file
To avoid future problem, move similar defines to this header file
Also clean all the header file mess in Evil

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3409
2015-12-08 13:56:49 +09:00
Jee-Yong Um 3e31eda3bd edje: introduce size_class attribute
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>
2015-12-08 12:25:15 +09:00
Jaehyun Cho a05171d39f edje_cc: Fix parsing including file path in EDC on Windows.
On Windows, including file path in EDC has not been parsed correctly
because '\' has not been used for path separator.
This commit fixes edje_cc complie to use '\' as path separator on
Windows.
2015-12-08 11:01:11 +09:00
Vincent Torri 0497b9685c efl: add binary mode to open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:06:04 +01:00
Vincent Torri 4f242fb48a efl: add binary mode to fdopen() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:05:23 +01:00
Vincent Torri 3b44645363 efl: add binary mode to f(re)open() calls
This allows better compatibility with Windows

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-12-05 21:04:36 +01:00
Carsten Haitzler 7236343701 fix efreetd to scan more subdirs for desktop and icon files
we miss desktop files for apps and stuff because we dont monitor too
deep a tree. this ups our tree depth to 10 levels.

@fix
2015-12-02 20:53:27 +09:00
Carsten Haitzler 5263e61585 efreet desktop tracking - fix monitoring of dirs of custom desktops
@fix

this is wrong - start monitoring every/any dir in which a desktop file
exists that we load a desktop file from. imagine you browse directories
in efm with lots of desktop files in them - we end up monitoring lots
of directories that we then rememebr and don't un-monitor. this
disables monitoring of dirs from which we load a .desktop file from to
fix this.
2015-12-02 20:53:27 +09:00
Carsten Haitzler ea7394a491 edje cc fix - we parsed floats not intsfor min and max desc size
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
2015-12-02 15:24:21 +09:00
Stefan Schmidt cfd478dfc5 evas_cserve2: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:23:47 +01:00
Stefan Schmidt e683a53f92 edje_decc: use void to force empty function parameters
We have to use void in a function declaration if we want no function
parameters. Using just empty parenthesis means the function takes an
unspecified number of parameters.

We had it correct for most declarations and this series fixes it for
the rest.
2015-11-26 17:20:14 +01:00
Vivek Ellur 0ddd0129ea eet: Fix warning in eet file
Summary:
variable 'total' is of unsigned long long but %lli was used to print..so fixed
warning

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3325
2015-11-23 19:41:30 +09:00
Vivek Ellur 01f1318117 evil: fix uninitialize warning
Summary:
@Fix

Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3324

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-22 23:28:09 +01:00
Andy Williams a0d3e77e55 [eolian_gen] remove documentation for removed argument.
Used to be mandatory, is now not recognised, let's not confuse people @fix
2015-11-19 22:59:09 +00:00
Daniel Kolesa b3867ce395 eolian: turn "undefined type" into its own EOLIAN_TYPE 2015-11-19 14:05:16 +00:00
Jee-Yong Um 290b92852e edje: revise the explanation for mask_flags attribute
Reviewers: cedric, raster

Reviewed By: raster

Subscribers: raster

Differential Revision: https://phab.enlightenment.org/D3330
2015-11-19 15:33:45 +09:00
Daniel Kolesa b5042ff669 eo generator: better output whitespace handling with pointers 2015-11-11 15:15:08 +00:00
Daniel Kolesa 7cb444b601 eo generator: remove unneeded/harmful code 2015-11-10 11:53:35 +00:00
Jean-Philippe Andre 6ad565a6af edje_cc: Allow LOSSY compression without quality param
LOSSY quality will then default to 90.
2015-11-10 16:12:21 +09:00
Jean-Philippe Andre 7974f674aa Evas: Allow edje_decc to work with ETC images
This reuses the internal function data_get, data_put, image_save
respecting the border information and adding support for ETC
formats.

@fix
2015-11-10 16:12:21 +09:00
Jean-Philippe Andre a5d0284820 Edje: Directly embed TGV files inside EDJ when possible
This checks that the ETC format is the same, and then proceeds
to simply stuff in the TGV file inside the EDJ as an "edje/image/n"

This will save a huge amount of time since now you just need
to encode an image once to TGV (ETC1 or ETC2) and you can reuse it
directly without re-encoding.

To use this, convert images with ecore_evas_convert and then
add them to EDC with the ".tgv" extension and the proper LOSSY format.
The quality argument will then be ignored.

@feature
2015-11-10 16:12:21 +09:00
Vincent Torri 9eef7ae287 efreet: fix warning
Commit 0cd59bb1 introduced the use of basename()
which needs libgen.h (hence winsock2.h before) on Windows.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-09 10:25:54 -08:00
Daniel Kolesa 247c860aac eolian generator: finalize refactoring main.c 2015-11-09 15:02:32 +00:00
Daniel Kolesa 10883d080f eolian generator: refactor the main function (remove cruft) 2015-11-09 15:02:32 +00:00
Daniel Kolesa a29d6aed66 eolian generator: remove useless --eo argument 2015-11-09 15:02:32 +00:00
Jean-Philippe Andre cb2530d921 doc: Fixup EDC doc for Evas 3D stuff
Use same paragraph title format
2015-11-09 16:11:35 +09:00
Jean-Philippe Andre b52e9202cc doc: Add EDC doc for desc.proxy, fix for desc.fill 2015-11-09 16:11:34 +09:00
Vincent Torri a1243410a7 eina/efreet: open file with binary file on Windows
@fix

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-11-06 10:53:29 -08:00
Jean-Philippe Andre 4da3e70301 ecore_evas_convert: Improve cmdline help a bit 2015-11-02 13:39:28 +09:00
Carsten Haitzler bd7ccd45b6 efreet - fix efreetd to not exit on $home being in extra app dirs
if a client added $home in the efreet extra desktops dirs, then
efreetd would detect and nuke cache, exit, causing a restart cycle
forever. this makes efreet simply ignore the errant dir so it can keep
working.

@fix
2015-11-02 10:11:53 +09:00
Cedric BAIL 0cd59bb199 efreet: make sure that we use the right directory and ef for the cache. 2015-10-23 12:34:53 -07:00
Vincent Torri cb83f1477f efreet: use eina_file_mkstemp() for portability and fix a bug on Windows
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-19 14:48:49 -07:00
Vincent Torri 2c9848aa7e efreet: use ecore_file function instead of stat() in the icon cache code
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Vincent Torri daad69d51b efreet: eina_file_mkstemp() needs a template with an extension
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Vincent Torri c0be7c1a43 efreet: use eina_file_mkstemp() instead of mkstemp() for portability
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Vincent Torri 0d4942f4e5 edje: use eina_environment_tmp_get() instead of the TMPDIR env variable
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-10-12 17:21:59 -07:00
Jean Guyomarc'h b2fb58b915 edje_cc: fix segfault when a program attempts to play a non-registered sound
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>
2015-10-12 14:01:23 -07:00
Daniel Kolesa 653e258eec eolian generator: cleaner file write 2015-10-12 11:45:38 +01:00
Daniel Kolesa 89acf82bff eolian generator: merge legacy and eo header gen entry points 2015-10-12 11:35:59 +01:00
Felipe Magno de Almeida 932b6e7463 eolian-cxx: Fixed possible exception escaping main
Added try/catch around main to show the reason for the generation failure.

@fix CID 1265600
2015-10-09 13:54:32 -03:00
Tom Hacohen e54fd09c34 Edje cc handlers: Fix memory leak and possible crash.
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
2015-10-09 12:29:41 +01:00
Jean-Philippe Andre 12f9fea2a4 EDC Doc: Some fixes
We need to move this doc to the wiki and complete it :)
2015-10-07 10:48:18 +09:00
Jean-Philippe Andre 60d77cf853 edje_cc: Fix inheritance of "no_render" flag
@fix
2015-10-02 12:25:29 +09:00
Jean-Philippe Andre 6882bb6328 edje_cc: Add "render" keyword for lazEDC
Since @zmike also thought this could be useful, let's add it.
2015-10-02 12:25:29 +09:00
Jean-Philippe Andre 9c5e873c68 edje_cc: Add "norender;" as lazEDC for "no_render: 1;" 2015-10-01 22:22:03 +09:00
Jean-Philippe Andre 8e00403047 edje_cc: Allow PROXY as clipper (clip_to and desc.clip_to)
This arbitrary limitation can now be lifted since masking
is well supported (ie. clip_to can point to an IMAGE rather than
a RECT).

@feature
2015-10-01 22:08:46 +09:00
Jean-Philippe Andre ad268c1d94 edje_cc: Check default state as well
Strangely only the other states were checked for errors. Errors
include:
- no name for state, or "description with missing state"
- invalid clip_to

Also improve the error message a bit
2015-10-01 21:45:32 +09:00
Jean-Philippe Andre 6ac4f7154b Edje: Add filter support to SNAPSHOT parts
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
2015-10-01 20:10:54 +09:00
Jean-Philippe Andre 31edfbb817 Edje: Add support for filters to PROXY parts
Same syntax as for IMAGE and TEXT: description.filter
2015-10-01 20:10:54 +09:00
Jean-Philippe Andre 99b1c7622b Edje: Fix filters for IMAGE parts inherited states 2015-10-01 20:10:54 +09:00
Jean-Philippe Andre c0f887b429 Edje: Move internal struct filter around (refactor) 2015-10-01 20:10:54 +09:00
Jean-Philippe Andre 7c8ca6b752 edje_cc: Fix TEXT part validation for aliased parts
Not 100% sure of this fix but it "works". This is just compile-time
safety checking code after all, so it won't impact any existing
application.

This fixes commit d4444bf7a0. Tested with empc.

Thanks @zmike for the report and test case.
2015-10-01 18:07:04 +09:00
Daniel Kolesa 1853051618 eolian generator: refactoring of file reads 2015-09-29 14:24:44 +01:00
Daniel Kolesa 97cb6c5ca9 eolian generator: no need to replace newlines on win32 (lexer can deal with it) 2015-09-29 13:54:30 +01:00
Tom Hacohen e2344b9b9e Eo: reduce memory usage across applications.
As described by Carsten in his email to edev ML titled:
"[E-devel] eo stability - i think we need to postpone that"
with the switch to Eo2 we significantly increased our usage of RW memory
pages, and thus significantly increased our memory usage when running
multiple applications.

The problem was that during the migration to Eo2 the op id cache and the
op description arrays were merged, causing the op description arrays to
no longer be RO. This patch enables users of Eo (mainly Eolian) to
declare those arrays as const (RO) again, saving that memory.

There might be performance implications with this patch. I had to remove
the op desc array sorting, and I used a hash table for the lookup. I
think the op desc sorting doesn't really affect performance because that
array is seldom accessed and is usually pretty short. The hash table
is not a problem either, because it's  behind the scenes, so it can be
changed to a more efficient data structure if the hash table is not good
enough. The hash table itself is also rarely accessed, so it's mostly
about memory.

Please keep an eye for any bugs, performance or excessive memory usage.
I believe this should be better on all fronts.

This commit *BREAKS ABI*.

@fix
2015-09-28 18:39:15 +01:00
Daniel Kolesa 76bc86716e Eolian generator: remove sentinel generation 2015-09-28 16:18:29 +01:00
Tom Hacohen 37f84b7e96 Eo: Drop doc field from ops and events.
This hasn't been used for a while. Since we are going to break Eo a bit anyway
it's a good opportunity to drop this.

This may cause a slight performance issues with legacy events, such as
smart callbacks. This shouldn't really be a problem as we've migrated away from
them. If it does, we need to migrate the remaining parts. Only relevant
for callbacks that are added before the classes are created, which
shouldn't be possible except for smart, only for old evas callbacks.
2015-09-28 15:09:16 +01:00
Carsten Haitzler 76c854433f efl - edje_cc - fix double close of embryo script fd's to tmp files
@fix

thanks to 김낙경 <nakkyong.kim@samsung.com> for pointing this out.
indeed fclose() closes the fd adopted by fdopen(). it doesn't dup it.
so we double-closed. it seems this never caused an issue until now.
this should fix it.
2015-09-21 16:50:17 +09:00
Daniel Kolesa c9462b56c8 eolian/generator: support for more paragraph tags 2015-09-16 14:24:16 +01:00
Daniel Kolesa a9968b975f eolian/generator: generation of doxygen @note and @warning tags
@feature
2015-09-14 14:10:32 +01:00
Mykyta Biliavskyi d4444bf7a0 Edje_cc: check value for text.source attribute.
Summary:
Add additional check for description.text.source
and description.text.text_source attributes in TEXT part.
For cases when as source uses non TEXT/TEXTBLOCK part
serialization process should be stopped. This will cause
segmentation fault on runtime. (see edje_text.c line 251)

Reviewers: Hermet, raster, cedric, jpeg

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D3026

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
2015-09-08 18:41:19 +09:00
Stefan Schmidt ccc823e737 evil: remove executable bit from memcpy assembler file.
Hopefully the last offender we have in tree with this.
2015-09-07 11:23:53 +02:00
Stefan Schmidt 55c48ca7c5 edje_cc: remove executable bit from source file 2015-09-04 14:54:07 +02:00
Daniel Kolesa 3f1d29f1ec eolian: remove support for old style docs completely 2015-09-03 15:42:01 +01:00
Jaehyun Cho b9c24fa951 edje_cc_out: Fix edje_cc compile error with script on Windows.
On Windows, PATH_MAX is 260 and PATH_MAX is used as string buffer
size in edje_cc compile. This causes edje_cc compile error when the edc
file contains "script" keyword and the length of file paths is
relatively long.
To resolve this problem, change the string buffer size in edje_cc
compile.

@fix
2015-08-26 13:43:38 +09:00
Thanatermesis 08238de3e0 small typo in docs, mounse is mouse 2015-08-25 03:04:50 +02:00
Daniel Kolesa 9b0cd29268 eolian/generator: fix turning values into @return when generating docs
@fix
2015-08-10 16:25:55 +01:00
Cedric BAIL a7fd98f8f6 edje: add a SNAPSHOT part in EDC. 2015-08-06 11:05:50 +02:00
Oleksandr Shcherbina 60b16be772 Evas canvas3d: Move evas 3d types to evas_types.eot
Summary:
Move evas_canvas3d types from Evas_Eo.h to evas_types.eot
Change enum constatnt for vertex_arrtib, material_attrib, blend_func
Correct namespace for Evas.Real type

Reviewers: cedric, tasn

Reviewed By: tasn

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2734
2015-08-04 10:57:14 +01:00
Jean-Philippe Andre 7bfecbdaf2 eina/btlog: Fix some Coverity issues
CID 1297406
CID 1297408
CID 1297409
2015-08-03 12:27:21 +09:00
Daniel Kolesa ec48df78c3 eolian/generator: actually overrun-safe buffer fill 2015-07-30 13:59:16 +01:00
Daniel Kolesa 1c5bd5e502 eolian/generator: no point in creating tmp_env, it's not used 2015-07-30 13:50:46 +01:00
Stefan Schmidt a76ca97388 eolian/common_funcs: Play safe and use strncpy
Not very likely but better play safe and make sure we don not overrun
our destination buffer here.

CID: 1311352
2015-07-30 14:28:09 +02:00
jiin.moon 29bcec0669 edje_cc: fix dereference before null check
Summary:
Fix Coverity issue which reports a dereference before null check.
The enc_info can not has NULL point
because _edje_multisense_encode api calls exit() in case of failure

Reviewers: Hermet, Jaehyun, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2794

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-07-28 03:05:37 +02:00
Vincent Torri eeb259303f Efreet: use eina_file_mkstemp() instead of mkstemp in efreetd.c 2015-07-22 09:22:02 +01:00
Daniel Kolesa 8ed6417196 eolian/generator: generate @ingroup in doc comments properly 2015-07-14 14:42:11 +01:00
Daniel Kolesa 80eed1e285 eolian/generator: check if the reference is generatable first 2015-07-08 15:13:26 +01:00
Daniel Kolesa c31a57db00 eolian/generator: delete a stringshare correctly on failure 2015-07-08 13:25:32 +01:00
Daniel Kolesa 42156a7c34 eolian/generator: static-ify some funcs 2015-07-08 12:17:00 +01:00
Daniel Kolesa 825349c7b8 eolian: improve function_full_c_name_get API
It's now generalized to work properly with legacy functions
as well as correctly append suffixes. Thus, it can be easily
used with the documentation generator and in other places.

@feature
2015-07-08 12:10:20 +01:00
Daniel Kolesa e9688e63a5 eolian/generator: add proper generation of references
Adds proper generation of automatic references in docs.
For now events are missing.

@feature
2015-07-07 17:19:13 +01:00
Daniel Kolesa c2b1e670b4 eolian/generator: use the __eolian function in overrides when default values are present 2015-07-06 11:25:32 +01:00
Vincent Torri 9846976847 Efl debug daemon: Fix Warning on Windows.
According to the Open Group, pid_t is signed integer and can not
be larger than a long
2015-07-03 16:23:06 +01:00
Vincent Torri e494c225f7 Edje_Player: disable code unused on Windows. 2015-07-03 16:23:06 +01:00
Daniel Kolesa 175e9b9055 eolian: generate correct fallback character 2015-07-03 16:17:06 +01:00
Daniel Kolesa 2e8fc41613 eolian: add support for monospace highlights in docs 2015-07-03 16:13:59 +01:00
Jean-Philippe Andre 6ca02cbfe8 Edje: Embed verbatim scripts for Efl.Gfx.Filters
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.
2015-07-01 20:46:34 +09:00
Jean-Philippe Andre 4e6e7def00 doc: Fixup EDC documentation about filters & examples 2015-06-30 10:12:13 +09:00
Jean-Philippe Andre fc36eedadd Edje: Replace index() by strchr()
Thanks vtorri for pointing out the build break on windows and
that index() is deprecated.
2015-06-30 10:12:13 +09:00
Jean-Philippe Andre 3648b0e252 Edje: Add proper filters section in the EDJ file
Don't [ab]use the file data section for filter scripts, instead
create a proper section for them. The rest of the behaviour stays
the same.
2015-06-30 10:12:13 +09:00
Jean-Philippe Andre a31222ae6f doc: EDC reference: Add specific doc for group.data
Group.data does not support "file", only "item". This doc
explains that.

Should Group.Data support file instead?
2015-06-30 10:12:13 +09:00
Jean-Philippe Andre b676dcf998 Edje: Use array instead of hash for filters data
Yeah that was totally overkill and pure laziness on my side.

Despite having the EO API for the filters still in beta,
I want to the EDC API and EDJ binary formats to stay compatible,
so let's get it right before the release :)
2015-06-30 10:12:13 +09:00
Daniel Kolesa e14c002aed efreetd_ipc: fix shadow warning 2015-06-29 14:28:01 +01:00
Chris Michael 30363956f1 edje_cc: Fix dereference before null check
Summary: Fix Coverity CID1302700 which reports a dereference before
null check. Basically, it is safe to call free() with a possible NULL
value so we can remove the 'if' check here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 14:59:28 -04:00
Chris Michael 6949d1193e edje_cc: Fix dereference null return value
Summary: Fix Coverity CID1308232 which reports that we may be passing
NULL to strcmp here as the function _parse_param_get May return NULL.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 14:56:48 -04:00
Chris Michael cbc726ac56 edje_cc: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 14:56:48 -04:00
Jee-Yong Um 2b29f4dfbf edje: add "mask_flags" instruction for "part" block
Summary:
Elementary widgets dealing with Evas Events usually mask event_flags with
EVAS_EVENT_FLAG_ON_HOLD, to show that this event is already handled.
However, widget like Elm_Button, it does not handle EVAS_CALLBACK_MOUSE_DOWN directly,
but it handles Edje_Signal instead, so there's no chance to mask event_flags.
Developers can block event propagation by putting rectangle the very last part of EDC,
but this instruction can help the case making elementary widget with only Edje_Signal handling.
This is not required essentially, so please check the necessity of this function.

Reviewers: Hermet, cedric

Reviewed By: cedric

Subscribers: cedric, Hermet

Differential Revision: https://phab.enlightenment.org/D2764

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-25 17:21:09 +02:00
Daniel Kolesa c709f1dca2 eolian/generator: constify all prototypes for @const functions
Otherwise there would be conflicts in certain circumstances.

This also requires adding const on many existing functions,
and similar work is necessary in Elementary.

@fix
2015-06-25 12:18:43 +01:00
Jean-Philippe Andre 0e8f890dfb Edje & evas filters: Add extra data from EDC to Lua program
This also supports color classes (really rough implementation for
now, but the API should remain stable).

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 88b81d240a Edje: Move filter desc to common desc
This will be shared between IMAGE and TEXT.
In the future it can also be shared with PROXY and TEXTBLOCK.
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 707b979ffd Edje/evas filters: Use EDJ data sections to store filters code
Use the file data {item, file} block to embed filters code.
It can become especially useful to keep the filters as separated
Lua files, that will be embedded in the final edj file.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre d00378edcf Edje/evas filters: Add filter.source support
This should preserve ABI stability with earlier versions of
edje_cc while still providing more advanced control over
proxy bindings for evas filters from EDC.

Also fix proxy binding for filters.

@feature
2015-06-25 14:36:09 +09:00
Jean-Philippe Andre 0e11e0a6dc Edje/evas filters: Quick renaming of evas filters related stuff 2015-06-25 14:36:09 +09:00
Carsten Haitzler a149ff6d79 efl -> fix possible null deref in efreetd ipc
this fixes CID 1308358
2015-06-25 11:32:58 +09:00
Vitor Sousa dae35333fd eolian_cxx: Use C++ wrappers instead of native types as parameters
Summary:
Using C++ wrapper types in the signature of methods of the generated
classes.
Now, when the type is an Eo type defined in Eolian, eolian_cxx will detect
it and use the equivalent C++ wrapper.

Types defined in Eolian no longer need to be specified in the lookup table,
so removed them from there.

Disable wrapping of non-const char*. The current wrapper (unique_ptr) is
not suited for some required operations like ownership acquisition from
C code.

Fix constructing properties that only have the "set" method.

Fix translation of non-const parameters.

Modified Makefiles to allow proper inclusion of evas_cxx headers required
by some tests and examples.

Move one auxiliary function to another reader to make it more accessible.

@feature

Reviewers: felipealmeida, q66, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2752
2015-06-24 15:23:01 +01:00
Carsten Haitzler 5abfefe99e efl - efreetd service move from dbus session bus to ecore ipc
this fixes warnings about no efreet dbus session bus in non session
environments as brought up on the mailing lists with:

Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: edje: unset
efreet cache update flag to prevent dbus connections

this moves all of efreetd client and server to ecore ipc, with client
auto-launching efreetd if not found as a service and trying for up to
500ms to connect. efreetd times out on last connection or no
connections after 10sec so it wont hang around forever if not in use.
it seems to work in my testing, so let me know if there is an issue.

@fix
2015-06-24 19:28:17 +09:00
jiin.moon 6487a26354 edje: add support to control the transition time of edje animation globally.
Summary:
Add the transition scale flag and the transtion scale value.
This flag can be change using "transition_scale_enable" in edje program.
If flag is true, the transition scale value affect the transition speed of edje
The transition scale value can be change by elm_config.

@feature

Test Plan: elementary_config

Reviewers: Hermet, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2287

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-22 17:56:15 +02:00
Seunghun Lee 8b62177561 ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.

@feature

Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example

Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 10:31:42 -04:00
Oleksandr Shcherbina d409df1caa evas: change interface evas_3d to evas_canvas3d
Summary:
Regard to https://phab.enlightenment.org/T2479 it is need for right generation
Eolian files

Reviewers: cedric

Subscribers: cedric, tasn

Differential Revision: https://phab.enlightenment.org/D2711

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-17 17:52:17 +02:00
Daniel Kolesa 51f49642b4 eolian: remove the outdated and ugly database printer (needs rework) 2015-06-17 14:26:07 +01:00
Jean-Philippe Andre 0ee9a4ac63 Edje: Add doc in edcref for description.clip_to
Thanks Dave for pointing this out.
2015-06-16 13:59:12 +09:00
Jean-Philippe Andre 111e51a6ff Evas: Add "no-render" flag for proxy sources & clippers
Those objects should never be rendered on the canvas, even if they
are visible. On the other hand, they need to be rendered in mask or
proxy surfaces.

note: this patch includes some extra whitespaces changes :(

@feature
2015-06-15 16:59:41 +09:00
Jean-Philippe Andre 75ec3a7338 Edje: Add clip as a property of a part description
Since masking, for performance and themeing reasons, it becomes
interesting to be able to switch clippers on the fly. In particular,
switching from an IMAGE mask to a standard RECT clipper can save a
lot of power when masking is not required.

This new flag "description.clip_to" will behave a bit like a mix of
rel.to and visible:

- It points to a part by name, just like part.clip_to. This will
  override the clipper set by the part, or override the default clipper.

- Like "visible", it can not be interpolated between two values, so
  it will switch only at the end of a transition.

- By default there is no clip override, which means Edje will fallback
  to the part's clipper, if any, or the base (group's) clipper.

NOTE:
- Since a clipper that does not clip anything becomes a standard object,
  it is visible and rendered. This will in 99.999% cases not be the
  intended behaviour. Currently we can simply use a transparent RECT
  in order to always have something clipped by the clipper, but this is
  a hack and this will trigger rendering of masks in their surfaces even
  when they are not actually used.
  Ideally, there should be a flag indicating to Edje & Evas that an object
  should be considered a clipper in all situations, and never be rendered
  on screen.

TODO:
- Support Edje Edit
- Add Embryo & Lua functions
- Add support in edje_convert
- Add Edje/Evas flag to mark objects as "no_render"

@feature
2015-06-15 16:59:41 +09:00
Chris Michael 38c3c5a0d6 edje: Remove unused variable
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-11 12:59:21 -04:00
Daniel Kolesa 950322fd12 eolian: remove support for old event doc syntax 2015-06-11 17:14:51 +01:00
Daniel Kolesa cd12f938af eolian: remove support for old doc style on types and vars 2015-06-11 16:52:45 +01:00
Daniel Kolesa 4bdf82908e eolian/generator: fix enum field doc generator bug
This resulted in a field using the next field's docs rather
than its own, because it incremented the member before
even trying to retrieve the docs.

@fix
2015-06-11 16:13:41 +01:00
katpavalli 26b27319b4 edje: add po file support in edc translation.
Summary:
   Implementation to support .po files in edc for translation

Test Plan:
   Test Code to test this implementation is done as part of efl/src/examples/edje/edje-text.c and efl/src/examples/edje/text.edc
   edje_cc -md . text.edc && gcc -o edje-text edje-text.c `pkg-config --libs --cflags ecore-evas edje evas ecore eo`
   ./edje-text

   1) Click On the text "Click here"
      The language gets changed.

Reviewers: shilpasingh, cedric

Reviewed By: shilpasingh, cedric

Subscribers: cedric, rajeshps, govi, poornima.srinivasan

Differential Revision: https://phab.enlightenment.org/D2573

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-06-11 10:40:55 +02:00
Daniel Kolesa 660e23fd75 eolian: add new __undefined_type builtin to silence warnings 2015-06-10 16:56:37 +01:00
Carsten Haitzler f153cad879 eina btlog - util - shut up coverity
eina_btlog is a backtrace "cleaner" that takes a raw bt from eina log
and gives a full readable bt for humans. it's run-and-quit binary like
ls or rm - it does its job and exits, so leaks are really of no
concern here...

CID 1297407
2015-06-09 19:39:01 +09:00
Daniel Kolesa 1a317196ae eolian/generator: use get/set doc as primary if needed 2015-06-08 17:36:32 +01:00
Daniel Kolesa 555c664ed2 eolian/generator: support for since tag in doc gen 2015-06-08 16:17:00 +01:00
Daniel Kolesa 9ea802c841 eolian/generator: fix a false positive in eolian types_gen
While it is true that 'strrchr' may return NULL, in this case it
never will (there is always a newline). Either way, silence Coverity.

Fixes CID 1304558.
2015-06-08 10:56:54 +01:00
Daniel Kolesa 1f84f5eb6b eolian/generator: generate @ref foo for @foo 2015-06-05 17:02:47 +01:00
Daniel Kolesa 5876b08fdb eolian/generator: use more correct indent offset in types doc gen 2015-06-05 16:43:30 +01:00
Daniel Kolesa 3131c667e9 eolian/generator: fix silly shadow warning 2015-06-05 15:38:53 +01:00
Daniel Kolesa a45c3db808 eolian/generator: @param[in,out] is the correct inout syntax 2015-06-05 15:09:05 +01:00
Daniel Kolesa 3f4c569341 eolian: don't emit an extra empty line in certain cases 2015-06-05 14:51:11 +01:00
Daniel Kolesa ac0113ba2b eolian/generator: generation for new documentation system
This commit adds the necessary generator logic to emit doc
comments from the new doc syntax. Old doc comments are kept
in for the time being as they're used within the EFL but they
will be removed eventually. This new generator focuses all the
important code in one place, making usage easy.

@feature
2015-06-05 12:15:51 +01:00
Felipe Magno de Almeida 51d9760fe6 eolian-cxx: Removed unused function
Removed unused function and consequent warning
2015-06-05 00:19:34 -03:00
Daniel Kolesa 9c024993a1 eolian/generator: generate types in their original decl order 2015-06-01 15:06:25 +01:00
Nak-Gyeong Kim 7d33ae501b edje: edje_cc_parse should check pair of parens.
Summary:
Fix parens bug.
((x + y)-z) is OK.
((x + y) - z) is NOT OK. This patch can cover this case.

@fix

Signed-off-by: Nak-Gyeong Kim <nakkyong.kim@samsung.com>

Test Plan:
Test in edc.

((x + y)-z) is OK.
((x + y) - z) is NOT OK. This patch can cover this case.
If parens are not paired, it will notify.

Reviewers: raster, Hermet, cedric

Subscribers: kimcinoo, jaehwan

Differential Revision: https://phab.enlightenment.org/D2554

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-29 18:22:09 +02:00
Daniel Kolesa 7056b2f6e4 gitignore++ 2015-05-29 16:48:32 +01:00
Daniel Kolesa 8dc8d6873d eolian/generator: clean up comment gen 2015-05-29 16:44:36 +01:00
Daniel Kolesa 98497f8406 eolian: use fprintf(stderr) instead of logging where it makes sense 2015-05-29 14:57:32 +01:00
Daniel Kolesa 05ea7c7b55 eolian/generator: don't generate extern types 2015-05-29 11:15:28 +01:00
jiin.moon 6986e3126d edje: fix memory leak detected by prevent static analyser.
Summary:
Modified codes according to prevent result
The im will be freed by data_image_preload_done api.
But if image load error happen, never call that api

@fix

Test Plan: prevent tool

Reviewers: Jaehyun, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2565

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:07 +02:00
jiin.moon 4cb4a8c70a embryo_cc: prevent memory curruption
Summary:
modified codes according to prevent result,
@fix

Reviewers: Jaehyun, Hermet, cedric

Reviewed By: cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2564

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2015-05-27 00:31:06 +02:00
Daniel Kolesa 69857d7f7c eolian/generator: fix memory leak 2015-05-26 17:25:11 +01:00
Daniel Kolesa a7dea04b26 eolian: merge eo_file_parse and eot_file_parse 2015-05-22 17:32:21 +01:00