Commit Graph

272 Commits

Author SHA1 Message Date
Amitesh Singh cbb42957b7 edje_cc: fix memory leak.
Summary: Free cp->original before freeing cp.

@fix

Reviewers: cedric, seoz

Subscribers: cedric, seoz

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-30 17:36:41 +02:00
Cedric BAIL 0a6f26a106 edje: fix borked edje_external.
Someone fixed a CID without looking of the full use path a data, resulting
in a value being used after free and stored in edje file. Leading to a garbage
string with no meaning for those poor externals.
2014-09-23 18:05:29 +02:00
Amitesh Singh e66e132d9d Revert "edje: prevent resource leak."
Summary:
This reverts commit f6eb1f17a1.

This will result into failure of edc compilation with recursive use of include.

Reviewers: cedric, raster, seoz

Reviewed By: seoz

Subscribers: chinmaya061, cedric, seoz

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-23 11:08:43 +02:00
Amitesh Singh 8ebf5d49b2 epp: fix memory leak.
Reviewers: cedric, seoz

Subscribers: cedric, seoz

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-22 14:59:27 +02:00
Anand e520d3128e edje: fix resourse leak in epp.
Summary: Variable prefix going out of scope leaks the storage it points to.

Reviewers: seoz, singh.amitesh, cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-22 14:59:27 +02:00
Chinmaya Panigrahi f6eb1f17a1 edje: prevent resource leak.
Summary:
The pointer used is not freed at the end of the function which
results resource leak.

@fix

Test Plan: Not Available

Reviewers: seoz, raster, cedric

Reviewed By: cedric

Subscribers: raster, seoz, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-09-12 23:08:26 +02:00
Stefan Schmidt 7d8c846d01 edje_watch: Use eina_file_mkstemp() to avoid problems with umask
CID 1039617
2014-09-11 11:55:49 +02:00
Stefan Schmidt d55ab5e5cf edje_cc: Remove no longer needed extern tmp_dir.
The last two user have been switched to eina_file_mkstemp so we don't
need to setup tmp_dir anymore.
2014-09-10 16:43:02 +02:00
Stefan Schmidt cbc6cdda89 edje_cc_parse: Use eina_file_mkstemp() to avoid problems with umask
CID 1039618
2014-09-10 16:43:02 +02:00
Stefan Schmidt 693e9095eb edje_cc: Use eina_file_mkstemp() to avoid problems with umask
In this case it also clears up the setup of temp dir.

CID 1039619
2014-09-10 16:43:02 +02:00
Stefan Schmidt 6d67f69061 edje_cc: Print out the right file name on the error message.
We failed to create sc->tmpo not tmpn here. Looks like a classical C&P error
2014-09-10 16:43:02 +02:00
Mike Blumenkrantz 3f468537fd edje_cc now throws an error during link combination when the current part has no name
@fix
2014-09-02 15:17:07 -04:00
Carsten Haitzler 7e3367d82c fix error handling in edje_decc
fix CID 1039341
2014-08-27 17:49:29 +09:00
Carsten Haitzler a427fc46f7 edje_decc - fix strrchr null return case
fix CID 1039342
2014-08-27 17:47:34 +09:00
Carsten Haitzler f5f27afee0 epp - fix unused pointer var bug
fix CID 1039493
2014-08-25 12:57:26 +09:00
Carsten Haitzler e9afad0b07 check strrchr to be sure
this fixes CID 1039342
2014-08-22 20:14:58 +09:00
Carsten Haitzler 554563cc21 fix fopen return check and error
fixes CID 1039341
2014-08-22 20:14:57 +09:00
Mike Blumenkrantz 84b985b45c edje_cc only prints kitten-harming message with nosave 2014-08-21 15:03:28 -04:00
Mike Blumenkrantz 82c0f67f02 de-frenchify edje_cc --no-save option 2014-08-21 15:02:46 -04:00
Cedric BAIL 9e8ece571b edje: edje_cc - warn people when they do bad things. 2014-08-21 12:04:53 +02:00
Irfan Abdul 3709a908d7 edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
Reviewers: govi, raster, jpeg, zmike, cedric

Subscribers: cedric

@fix

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2014-08-21 12:04:53 +02:00
Carsten Haitzler 53ddf83842 edje_pick - remove unused var that we just free and nothing else
this should fix CID 1039669
2014-08-14 19:25:32 +09:00
Carsten Haitzler f9cef6f079 epp - fix unchecked return
fix CID 1039717
2014-08-14 19:04:38 +09:00
Carsten Haitzler 00d3bd1747 epp - fix unchecked return
this fixes CID 1039718
2014-08-14 19:02:39 +09:00
Carsten Haitzler 27ef84e372 edje_decc - fix unchecked return value
fix CID 1039719
2014-08-14 19:00:37 +09:00
Carsten Haitzler 874e87e8df fix noop self-assignment
this fixes CID 1040028
2014-08-14 18:25:42 +09:00
Carsten Haitzler e82b61b420 epp - fix bit underflow in bitshift for multibyte
this fixes CID 1193200
2014-08-14 17:39:11 +09:00
Vyacheslav Reutskiy d08dd13d3d edje_pick: fix a copied aliases
Summary:

@fix

Reviewers: raster, Hermet, seoz, cedric

Subscribers: cedric, seoz, Sachiel

Differential Revision: https://phab.enlightenment.org/D1305
2014-08-14 00:08:07 +09:00
Vyacheslav Reutskiy c8976fb21e edje_pick: fix a segfault on 'set' copy
Summary:
wrong structure, a Edje_Image_Directory_Set_Entry, used for copy
a set's data to new file.

@fix

Reviewers: raster, seoz, cedric, Hermet

Reviewed By: Hermet

Subscribers: Sachiel, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D1304
2014-08-14 00:03:18 +09:00
Stefan Schmidt 2fa2c11910 edje_cc_handler: Fix build break from recent Edcref changes
Having correct syntax is needed here. ;)
2014-08-08 16:25:51 +02:00
Davide Andreoli 62af2b9bd1 Edcref: final doc improvements.
* Be consistent with the way we specify parameters
* A last css refinement
2014-08-08 15:54:38 +02:00
Davide Andreoli 1eca781d1d Edcref: fixed (I hope) the doc for parts aliases 2014-08-08 15:54:38 +02:00
Davide Andreoli cb84a5f994 Edcref: try to give sections titles more context
Also fixed some incorrect @context
Changed the @edcsubsection tags so they live in first line of the doccomment, this way you can read them when the file is folded-closed, improving the code readability.
2014-08-08 15:54:38 +02:00
Davide Andreoli c00875818b Edcref: tab-- , they tend to break the html render 2014-08-08 15:54:38 +02:00
Davide Andreoli 5fd1e27dce edcref: move the Links functions so they dont break descriptions docs
Plus some other small doc adjustment
2014-08-08 15:54:38 +02:00
Davide Andreoli b2b4e62dd3 edcref: move 3 params to be in the correct section 2014-08-08 10:37:03 +02:00
Davide Andreoli 6653ce2306 edcref: be consistent wrt params 2014-08-08 10:27:26 +02:00
Davide Andreoli 34c75a29f6 Edcref: and finally apply a cool style
Now the edc ref is decently readable
2014-08-08 02:30:33 +02:00
Davide Andreoli a8a7158801 edcref: fix the base_scale property docs
base_scale is a property, so document it propertly
Also added missing @since
2014-08-08 02:30:33 +02:00
Davide Andreoli ba7ea64d97 edcref: review all the @since usage
* put them inside the @property block they belongs
* do not show micro version (1.7 instead of 1.7.0)
2014-08-07 14:41:25 +02:00
Davide Andreoli 25ce050920 edcref: quick access list: fix a link and make it more compact 2014-08-07 13:21:31 +02:00
Davide Andreoli 657d973858 edcref: unbreak formatting of the page
Every @block need a @context, or the table will broken up and formatting will be bad.

Also be a bit less redundant
2014-08-07 12:28:46 +02:00
Davide Andreoli 4e5d70511a edcref: small typo in doc 2014-08-07 11:01:36 +02:00
Gwanglim Lee 52fab4e55d edje: fix coverity defects
Summary:
CID 1214113: logically dead code
CID 1230295: dereference null return value
CID 1230296: use after free
@fix

Test Plan: N/A

Reviewers: raster, cedric, jpeg, q66

Reviewed By: q66

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1275
2014-08-06 10:55:32 +01:00
Daniel Kolesa 23761ed627 edje_cc_handlers: fix coverity defects
Fixes CID 1193224, 1193225, 1193226, 1193227, 1193230 (resource leak)
2014-08-04 10:26:06 +01:00
Jaehwan Kim 7e5d2606cc edje: Add dpi feature.
Summary:
This dpi is used to get the scale for each collection.
If each collection has a described dpi, it calculates a proper scale
based on the dpi and dpi which is described in the collection.

@feature

Test Plan:
If add dpi to collection of edc, the edje will save the value as the dpi of the collection.
For example, if the dpi of your device is 100, you just set dpi: 100 in the collection of edc.
If the edj is loaded in another device(dpi is 200), it will scaled 2 times.
It is possible that the described dpi of application and theme are different.
In that case, application and theme have a different scale.
It makes the edj that made in different environment works in one device.

Reviewers: seoz, zmike, JackDanielZ, Hermet, woohyun, cedric, raster

Reviewed By: raster

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1190
2014-07-24 14:50:25 +09:00
Jean-Philippe Andre 8ce52c2380 Edje: Add support for ETC1+Alpha
If the image is not opaque and etc1 is selected, choose
ETC1_ALPHA as encoding format.
2014-07-11 16:40:34 +09:00
Vorobiov Vitalii 49344287ac Documentation: adding missed documentation to edcref (map.color param)
Summary:
There is param (of the map block in part's description) that allows user to
set a color for specified vertex/point of that part.
That param was undocumented so actually no one know that this param is exist and can be used in edj file.

Two main fixes:
- adding documentation for map.color param in edc reference.
- adding .edc source code example for seeing how map.color param works.

@fix

Reviewers: cedric, Hermet, raster, seoz

Reviewed By: cedric

CC: cedric, reutskiy.v.v

Differential Revision: https://phab.enlightenment.org/D1083
2014-06-24 17:11:09 +03:00
Jean-Philippe Andre b06af7ace0 Edje: Add LOSSY_ETC2 to Edje_Edit
Found out using edje_inspector...
2014-06-18 16:28:37 +09:00
Jean-Philippe Andre e8d7c46253 Edje: Add support for ETC2 through LOSSY_ETC2 images
Declare your images as LOSSY_ETC2 to encode them as ETC2.
Add options to edje_cc to disable etc2.
Use ETC2 support from Eet.

@feature
2014-06-13 17:58:08 +09:00
ChunEon Park dc945ccb55 edje/epp - clean up memory allocated. 2014-05-27 22:17:01 +09:00
ChunEon Park b2841c0db6 edje/edje_cc - intensive null check. 2014-05-27 22:00:59 +09:00
Mike Blumenkrantz 894c36ff11 de-elipsis edje
the word is "ellipsis". it's bad enough that we have released misspelled api, but we can at least spell things correctly internally.
2014-05-13 16:20:41 -04:00
Mike Blumenkrantz 03edef876f edje_cc now prints helpful warning messages when it compiles broken text parts 2014-05-13 16:05:39 -04:00
Mike Blumenkrantz 800bcde9d7 edje_cc should throw errors when inheriting a part from the same part 2014-05-13 11:15:02 -04:00
Mike Blumenkrantz a84f19beb7 redo lazEDC parsing a bit to fix desc.state omission 2014-05-09 15:58:25 -04:00
Mike Blumenkrantz 6a7b0af847 lazEDC missing keywords for scale/noscale 2014-05-09 12:33:47 -04:00
Mike Blumenkrantz 1d6b9d71e6 fix be9b27ac99 for edje_cc
do_params is set when expecting parameters, not req_params
2014-05-09 12:26:22 -04:00
Mike Blumenkrantz 14fc7d2a36 lazEDC syntax update: imprecise -> noprecise 2014-05-09 12:21:45 -04:00
Mike Blumenkrantz c911ac2fb9 call edje_cc link combining when popping the group so the last group doesn't not get linked 2014-05-08 21:04:28 -04:00
Mike Blumenkrantz 7823b187d9 edje_cc now requires quotes for using lazEDC block naming
this was making syntax errors much harder to debug and only served the purpose of further enabling shitty, nonconformant edc creating. removing now before it becomes an api break
2014-04-28 10:17:23 -04:00
Mike Blumenkrantz f482aeb43f fix edje_cc multiple link usage on same description 2014-04-26 02:16:55 -04:00
Mike Blumenkrantz b35dfc5f05 edje_cc now (more) correctly handles text filter inheriting/resetting 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 5f376fde36 edje now correctly supports text.source and text.text_source for swallowed parts
fix T1186
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz d498f6f723 edje_cc no longer has "slave" lookups
these appear to have been replaced many centuries ago with copied_X lookups
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz bce864b8dd edc parts.alias documentation is now comprehensible and useful 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 939f2eea7f edje now has the group.script_recursion flag for permitting unsafe embryo recursion
this is enabled for all scripts within a group, and it should only be used if you:

1) know what you are doing

2) know why this is unsafe (T905)

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz c5b1598e6e edje_cc now supports part.description.link for single line state changes
@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 83832d6b1d edje_cc now supports group.program_source for specifying a default source in programs
this allows for program.source to be omitted 99% of the time since most sources in an application/library will be the same within a single group

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz fd8c9532a1 edje_cc now has the program.groups and X.target_group keywords for target grouping
this allows any number of parts/programs to be added by name into a logical grouping which can then be referenced inside a program.

eg.

before
------

program { signal: XYZ; source: 123;
   action: STATE_SET "default";
   targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";
}

program { signal: ABC; source: 123;
   action: STATE_SET "notdefault";
   targets: "sup" "dawg" "parts" "up" "in" "dis" "progrizzle" "tooizzle";
}

======
after
------

target_group: "default" "sup" "dawg" "parts" "up" "in" "dis" "progrizzle";

program { signal: XYZ; source: 123;
   action: STATE_SET "default";
   group: "default";
}

program { signal: ABC; source: 123;
   action: STATE_SET "notdefault";
   group: "default";
   target: "tooizzle";
}

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz be9b27ac99 edje_cc now errors immediately on syntax errors triggered by lack of parameters 2014-04-25 10:52:15 -04:00
Mike Blumenkrantz c8cc776fb1 edje_cc now supports targets for SIGNAL_EMIT actions
this is much more intuitive than somehow knowing you're supposed to add a ':' between part:signal

@feature
2014-04-25 10:52:15 -04:00
Mike Blumenkrantz 6b712f6f02 edje_cc now supports the group.inherit_only attribute
use this for flagging a group as a "virtual" group which is only used for inheriting

@feature
2014-04-25 10:52:14 -04:00
Mike Blumenkrantz 7eb703fdde edje_cc now supports "lazEDC", a more concise version of EDC
in today's modern world of fast-paced, HTML5-driven, C++-riddled
development, nobody wants to spend hours typing out long words like
"description" or "mouse_events" or "name". there's no time for it
and certainly nobody is going to allocate budget for this sort of
keyboard-related nonsense.
enter lazEDC: the solution for edje-loving keyboard jockeys everywhere.
by breaking the parser of edje_cc with the strength of 10 frenchmen,
new, shorter keywords such as "nomouse" can be used in place of lengthy,
rambling statements like "mouse_events: 0", and things like

part { name: "clip"; type: RECT; description { state: "default" 0.0; }}

can now be written as

rect { "clip"; }

with the exact same effect.

initial tests show that complex and terrible edc files such as the infamous
"genlist.edc" can be reduced in size by over 15% using these new features.

see edcref for docs, and genlist.edc for examples

@feature

@awesome
2014-04-25 10:52:14 -04:00
bluezery 785cdcf689 edje: Remove build warnning by clang
Summary:
This can fix below warning:
bin/edje/edje_cc_handlers.c:9839:42: warning: equality comparison with
extraneous parentheses [-Wparentheses-equality]

Reviewers: raster, cedric, seoz

Reviewed By: seoz

CC: cedric

Differential Revision: https://phab.enlightenment.org/D792
2014-04-25 14:27:15 +09:00
Mike Blumenkrantz 7355f67c1f revert edje ellipsis doc changes
if we're reverting functional changes, then it's probably a good idea to revert the accompanying documentation
2014-04-23 09:28:23 -04:00
Carsten Haitzler f442c21c04 partly revert mike's ellipsis changes as they break edje
partly revert adcc323291 as the default
ellipsis value was 0 as per the document, and must stay, as changing
this breaks edc descirptions as now text is no longer ellipsised by
default. this ACTUALLY broke titlebars on the default theme - just
have a title that is too long and see how it no longer goes:

This is a title he...

it instead covers the screen for as long as the title is.

if you want -1 for ellipsis... then set it. :)
2014-04-23 19:57:15 +09:00
Mike Blumenkrantz adcc323291 edje: the ellipsis fuckup preservation commit.
what a huge, colossal cock-up of a clusterfuck. it's a good thing nobody ever uses ellipses or edje. otherwise we'd probably get complaints about this kind of thing.
2014-04-22 20:21:46 -04:00
Jean-Philippe Andre f6eae69eb2 Edje: Use LOSSY_ETC1 instead of LOSSY
Add a new flag in EDC files to specify ETC1 compression
should be enabled. It follows the same rules as the
current LOSSY flag for JPEG compression.

@feature
2014-04-18 16:50:01 +09:00
Jean-Philippe Andre 7ff410b9f6 Edje: Fix ETC1 encoding with EET and Edje
There were a few critical issues:
- Invalid pointer arithmetics on the input data (char vs. int)
- Invalid logic in the pixel duplication code

All of these due to bad copy and paste :(

Also, use LZ4HC instead of LZ4 when compression is enabled.
ETC1 encoding is so damn slow you won't see the difference between
LZ4 and LZ4HC compression times.
2014-04-18 15:43:07 +09:00
Jean-Philippe Andre d531816b12 Edje: Add support for ETC1 encoding
Edje will compress images as ETC1 provided that they don't
contain any alpha AND the command line includes -etc1.
2014-04-18 15:43:04 +09:00
zmike 2373269ad7 reformat edje_player
ffs these tabs
2014-04-07 13:15:40 -04:00
Vorobiov Vitalii 85f8661f45 edje_cc: fix group inheriting with scripts. (group.script and .program.script)
After doing some edje_edit manipulations there was a problem that
after edje_decc of changed EDJ file it wasnt able to compile again, because some of scripts
weren't inherited.
The problem was in Code and Code_Script structure.
There is "shared" ("script") field and "original" field that contained a string with embryo script code.
After inheriting whole group, "original" field wasn't copied, so it wasn't able to write
the script into resulted EDJ file (look at edje_cc_out:1407).
@fix

Reviewers: cedric, seoz, raster

Reviewed By: cedric

CC: reutskiy.v.v, cedric

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

Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-04-01 22:00:13 +09:00
Mike Blumenkrantz c5564213ea edje_cc should probably handle sequenced scripts successfully 2014-03-31 16:45:05 -04:00
Mike Blumenkrantz 01b54c75f1 edje_cc part description state name error clarification 2014-03-31 16:02:41 -04:00
Mike Blumenkrantz 5ffef1e853 edje_cc no longer allows buggy/unexpected behavior when inheriting parts
previously we allowed users to not specify the state names for non-default description states. this guaranteed crazy behavior during inheritance since it was impossible to properly reference such states.
2014-03-31 15:30:48 -04:00
Mike Blumenkrantz 1009e3c234 edje_cc sequence example: now with 50% more sequencing! 2014-03-29 09:57:27 -04:00
Ryuan Choi c2077f4853 edje_cc: Fix the crash when compiled wrong edc file containing empty part
It's regression since cff3ec04b.

@fix
2014-03-29 13:01:03 +09:00
Mike Blumenkrantz 3083732bfb edje_cc probably should ignore limit inherits when there are no limits 2014-03-25 11:07:30 -04:00
Mike Blumenkrantz 7d9d42a281 edje_cc correctly copies group.limits when inheriting, FIXME-- 2014-03-24 15:27:17 -04:00
Mike Blumenkrantz 15df46b707 edje_cc now fails for multiple data entries with the same key, FIXME-- 2014-03-24 15:18:28 -04:00
Mike Blumenkrantz c8dc78cd00 edje_cc sets current_group_inherit at the start of inheriting to allow better checking 2014-03-24 15:07:46 -04:00
Mike Blumenkrantz ee7755e21b edje_cc now correctly handles group inheriting when the inherit is after a part/program
this is technically @fix, but it's also new-ish behavior so I'm not going to backport it; 1.10 can be the edje_cc release
2014-03-24 15:06:19 -04:00
Mike Blumenkrantz cea92fa2fc edje_cc collections.grpup is not collections.group 2014-03-24 12:52:55 -04:00
Mike Blumenkrantz 6c21e8eb83 edje_cc uses more setup macros to unify program statements 2014-03-24 12:51:14 -04:00
Mike Blumenkrantz 8d30e71e8b edje_cc prevents sequence users from failing to sequence 2014-03-24 10:58:48 -04:00
Mike Blumenkrantz 4cfff903c2 edje_cc should support sequences inside programs.program I guess 2014-03-24 10:58:09 -04:00
Mike Blumenkrantz f3d5cee0e4 edje_cc can now use group.program_remove to remove inherited programs
@feature
2014-03-22 02:20:09 -04:00
Mike Blumenkrantz 7cfde40500 edje_cc no longer fails when program.name is specified after program.after 2014-03-22 00:52:55 -04:00
Mike Blumenkrantz a755dfa75e edje_cc should probably disallow overriding of currently-sequencing program 2014-03-22 00:13:18 -04:00