cw/cy are never used inside the "dosel" block, so no need to fetch
geometry and calculate difference here (already fetched below when
needed anyway).
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
Even if the anchor name is null, it will be appended to "anchors".
There are many null checking for name of anchor.
So it should be checked in geometry_get functions.
Test Plan:
Test with text "<a href =abc>We can't find name in this case</a>".
This text makes break the application. Because of a space between "href" and "=".
The name of anchor will be saved as null in "anchors".
Reviewers: woohyun, tasn, cedric
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D318
Summary:
Selection handlers are now implemented in elementary. So, we should remove them from edje.
The BLOCK_HANDLE mode should be removed also.
Reviewers: cedric, tasn
CC: cedric, raster
Differential Revision: https://phab.enlightenment.org/D312
Summary:
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_script_set
edje_edit_script_program_set
Reviewers: cedric, seoz, raster
Reviewed By: raster
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D307
Make the following function return Eina_Bool so the caller can detect errors :
edje_edit_part_mouse_events_set
edje_edit_part_repeat_events_set
edje_edit_part_ignore_flags_set
edje_edit_part_scale_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D303
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_state_align_x_set
edje_edit_state_align_y_set
edje_edit_state_aspect_min_set
edje_edit_state_aspect_max_set
edje_edit_state_aspect_pref_set
edje_edit_state_fill_origin_relative_x_set
edje_edit_state_fill_origin_relative_y_set
edje_edit_state_fill_origin_offset_x_set
edje_edit_state_fill_origin_offset_y_set
edje_edit_state_fill_size_relative_x_set
edje_edit_state_fill_size_relative_y_set
edje_edit_state_fill_size_offset_x_set
edje_edit_state_fill_size_offset_y_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D300
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_visible_set
edje_edit_state_color_class_set
Removed unnecessary check in edje_edit_state_image_border_fill_set.
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D305
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
With Eina_File we now can pass an efficient handler accross library boundary. Edje
and all underlayer already use it to avoid race condition when setting an Edje object.
Elementary and Enlightenment are still exposed to some potential race condition when
an Edje file is modified underneath there feet. With the following set of function it
should now be possible to avoid those race condition to:
edje_mmap_data_get
edje_mmap_collection_list
edje_mmap_collection_list_free
edje_mmap_group_exists
Make the following functions return Eina_Bool so the caller can detect errors:
edje_edit_state_font_set
edje_edit_part_effect_set
Also deleted duplicate of the "edje_edit_state_font_set" function in Edje_Edit.h
Moved some defines (EDJE_TEXT_EFFECT_MASK_BASIC, EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION etc),
so doxygen generation was fixed.
Also added link (see also) in "edje_edit_part_effect_set" to the Edje_Text_Effect enum.
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D302
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
Because of unconditional return in function, a huge part of its body was
skipped making this function useless. Looked like a typo or missed merge.
Reviewers: cedric, seoz
CC: seoz
Differential Revision: https://phab.enlightenment.org/D281
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Make the following function return Eina_Bool so the caller can detect errors :
List of updated functions:
edje_edit_state_min_h_set
edje_edit_state_min_w_set
edje_edit_state_max_h_set
edje_edit_state_max_w_set
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D299
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Make the following function return Eina_Bool so that the caller can detect errors :
edje_edit_group_min_w_set
edje_edit_group_min_h_set
edje_edit_group_max_w_set
edje_edit_group_max_h_set
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D291
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This patch make the following function return Eina_Bool so the caller can detect errors.
edje_edit_style_tag_value_set
edje_edit_style_tag_name_set
edje_edit_style_tag_del
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v, seoz
Differential Revision: https://phab.enlightenment.org/D294
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This patch make the following function return Eina_Bool so the caller can
detect errors.
edje_edit_state_image_set
edje_edit_state_image_border_set
edje_edit_state_image_border_fill_set
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D295
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Make the following function return an Eina_Bool so the caller can detect
errors if it want :
edje_edit_state_rel1_relative_x_set
edje_edit_state_rel1_relative_y_set
edje_edit_state_rel2_relative_x_set
edje_edit_state_rel2_relative_y_set
edje_edit_state_rel1_offset_x_set
edje_edit_state_rel1_offset_y_set
edje_edit_state_rel2_offset_x_set
edje_edit_state_rel2_offset_y_set
edje_edit_state_rel1_to_x_set
edje_edit_state_rel1_to_y_set
edje_edit_state_rel2_to_x_set
edje_edit_state_rel2_to_y_set
Reviewers: cedric, seoz
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D296
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This patch start returning Eina_Bool for the following color setters to be
able to detect errors when calling them.
edje_edit_state_color_set
edje_edit_state_color2_set
edje_edit_state_color3_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D297
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
This patch start returning Eina_Bool for state's min and max value setters, so
we can now catch error when calling those function.
edje_edit_state_min_h_set
edje_edit_state_min_w_set
edje_edit_state_max_h_set
edje_edit_state_max_w_set
Reviewers: cedric, seoz
Reviewed By: cedric
CC: reutskiy.v.v
Differential Revision: https://phab.enlightenment.org/D298
Signed-off-by: Cedric Bail <cedric.bail@free.fr>
Summary: This patch start returning Eina_Bool for deleting style from edje edit object to catch those error.
Reviewers: cedric
CC: reutskiy.v.v, seoz
Differential Revision: https://phab.enlightenment.org/D290
Many Edje_Edit API can fail and don't return any error information. This patch start returning
Eina_Bool for setters on dragable confine and event params to catch those error.
Reviewers: cedric
Reviewed By: cedric
CC: seoz
Differential Revision: https://phab.enlightenment.org/D274
Signed-off-by: Cedric Bail <cedric.bail@samsung.com>
This reverts commit 1714fe93f4.
We actually want this type, it makes things clearer.
Conflicts:
src/tests/eo/function_overrides/function_overrides_inherit2.c
src/tests/eo/function_overrides/function_overrides_simple.c
src/tests/eo/suite/eo_test_class_simple.c
It is quite common that in an image sets each image has different border size.
This patch permit to define the border value on a per image basis in the set.
I am really unhappy to have to do this patch myself. This commit is in since
May and I have continuously request to be fixed. It has taken way to long. It's
done now. Next time I see such a patch in EFL, I will revert it right away.
well well well. i WASN'T crazy. there WAS a leak. it was
ecore-audio+multisense. if a pulse audio output doesn't connect... NO
ONE KNOWS. all audio streams keep being appended to it forever just
consuming more memory indefinitely. there is no way to handle it.
expose events so it CAN be handled.
building of EFL :( I think perhaps you forgot to push the ecore_imf
code that goes with this ??
Revert "Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()"
This reverts commit 4b5ed04559.
Share a byte with 2 matchs and use bitwise operations to read/write they states
is not much readable and easily could lead a issues.
Use a struct is much simpler and only will coast a half of byte per match.
This was causing some callback be removed instead a deleted callback.
Also was leaking stringshare and decreasing matches_count.
SPANK SPANK SPANK cedric
NOTE: In C, you can only mark an area const if it is not changed at
runtime, this include also the job of the linker at runtime. So this
array can't be const because they use pointer from Evas that will be
resolved during link at runtime, instead of link at compile time.
This pass on Linux, but fail on other architecture and is actually
not correct. So let's not use const here.
+ Main cursor should be moved to selection start or selection end
cursor's position when selection handlers are pressed.
+ Fix my mistake in signal emit for end handler mouse down event.
Conflicts:
ChangeLog
NEWS
or tripple clicked.
selection should be allowed when select_allow is true whatever
select_mode is.
Reproduce step is below.
1. ELM_THEME=default-desktop ELM_PROFILE=standard elementary_test
--test-win-only "Entry Scrolled
2. double click on password entry.
When a signal change a state of a edje box to a state that was already active
and we add/del a item of edje box a crash happen.
Example:
test.edc:
collections {
group {
name: "box_text";
parts {
part {
name: "elm.box.buttons";
type: BOX;
description {
state: "default" 0.0;
min: 0 100;
max: 9999 100;
align: 0 0;
box {
layout: "horizontal";
min: 1 1;
}
visible: 0;
}
description {
state: "show" 0.0;
inherit: "default" 0.0;
visible: 1;
}
}
}
programs {
program {
signal: "show,buttons";
source: "gui";
action: STATE_SET "show" 0.0;
transition: ACCELERATE 1;
target: "elm.box.buttons";
}
program {
signal: "hide,buttons";
source: "gui";
action: STATE_SET "default" 0.0;
transition: ACCELERATE 1;
target: "elm.box.buttons";
}
}
}
}
test.c:
//Compile with:
//gcc -g test.c -o test `pkg-config --cflags --libs elementary edje ecore`
static int count = 0;
static Eina_Bool _fill(void *data)
{
int i;
Evas_Object *layout = data;
Evas_Object *edje = elm_layout_edje_get(layout);
edje_object_part_box_remove_all(edje, "elm.box.buttons", EINA_TRUE);
elm_layout_signal_emit(layout, "show,buttons", "gui");
printf("_fill()\n");
for (i = 0; i < 5; i++, count++)
{
Evas_Object *btn;
char buf[50];
btn = elm_button_add(layout);
snprintf(buf, sizeof(buf), "button %d", count);
elm_object_text_set(btn, buf);
edje_object_part_box_append(edje, "elm.box.buttons", btn);
evas_object_show(btn);
}
return EINA_TRUE;
}
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *win, *bg, *layout;
win = elm_win_add(NULL, "test", ELM_WIN_BASIC);
elm_win_title_set(win, "Test");
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
elm_win_autodel_set(win, EINA_TRUE);
bg = elm_bg_add(win);
elm_bg_color_set(bg, 255, 255, 255);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bg);
evas_object_show(bg);
layout = elm_layout_add(win);
elm_layout_file_set(layout, "test.edj", "box_text");
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(layout);
_fill(layout);
ecore_timer_add(5, _fill, layout);
evas_object_resize(win, 800, 320);
evas_object_show(win);
elm_run();
elm_shutdown();
return 0;
}
ELM_MAIN()
(gdb) bt
0x00000000 in ?? ()
0xb7add287 in _edje_box_layout_calculate_coords ()
from /usr/lib/libedje.so.1
0xb7add5cd in _edje_box_layout () from /usr/lib/libedje.so.1
0xb7c98ff7 in _evas_object_box_smart_calculate ()
from /usr/lib/libevas.so.1
0xb7c97a36 in evas_object_smart_calculate () from /usr/lib/libevas.so.1
0xb7ae1b12 in _edje_part_recalc_single () from /usr/lib/libedje.so.1
0xb7ae3380 in _edje_part_recalc () from /usr/lib/libedje.so.1
0xb7ae59ff in _edje_recalc_do () from /usr/lib/libedje.so.1
0xb7b3603a in _edje_smart_calculate () from /usr/lib/libedje.so.1
0xb7c97be2 in evas_call_smarts_calculate () from /usr/lib/libevas.so.1
0xb7cc7d88 in evas_render_updates_internal () from /usr/lib/libevas.so.1
0xb7ba7c97 in _ecore_evas_x_render () from /usr/lib/libecore_evas.so.1
0xb7ba27c6 in _ecore_evas_idle_enter () from /usr/lib/libecore_evas.so.1
0xb7c27212 in _ecore_idle_enterer_call () from /usr/lib/libecore.so.1
0xb7c28d3d in _ecore_main_loop_iterate_internal ()
from /usr/lib/libecore.so.1
0xb7c2941f in ecore_main_loop_begin () from /usr/lib/libecore.so.1
0xb7e8def8 in elm_run () from /usr/lib/libelementary.so.1
0xb7f6f8ee in appcore_efl_main () from /usr/lib/libappcore-efl.so.1
0xb7644bb5 in app_efl_main () from /usr/lib/libcapi-appfw-application.so.0
0x08074c5a in main (argc=1, argv=0xbffffb64) at src/main_tizen.c:155
==2036== Jump to the invalid address stated on the next line
==2036== at 0x0: ???
==2036== by 0x44C35CC: _edje_box_layout (in /usr/lib/libedje.so.1.7.99)
==2036== by 0x42E8FF6: _evas_object_box_smart_calculate (in /usr/lib/libevas.so.1.7.99)
==2036== by 0x42E7A35: evas_object_smart_calculate (in /usr/lib/libevas.so.1.7.99)
==2036== by 0x44C7B11: _edje_part_recalc_single (in /usr/lib/libedje.so.1.7.99)
==2036== by 0x44C937F: _edje_part_recalc (in /usr/lib/libedje.so.1.7.99)
==2036== by 0x44CB9FE: _edje_recalc_do (in /usr/lib/libedje.so.1.7.99)
==2036== by 0x451C039: _edje_smart_calculate (in /usr/lib/libedje.so.1.7.99)
==2036== by 0x42E7BE1: evas_call_smarts_calculate (in /usr/lib/libevas.so.1.7.99)
==2036== by 0x4317D87: evas_render_updates_internal (in /usr/lib/libevas.so.1.7.99)
==2036== by 0x4465C96: _ecore_evas_x_render (in /usr/lib/libecore_evas.so.1.7.99)
==2036== by 0x44607C5: _ecore_evas_idle_enter (in /usr/lib/libecore_evas.so.1.7.99)
==2036== Address 0x0 is not stack'd, malloc'd or (recently) free'd
We called anim->start aftwards just to be sure to stick to something if
all fail.
edje proxy parts seem to break (crash) when animating a state change from custom->default on an animator. adding a null check here avoids that and seems to work fine, but I am not an edje_calc expert
"edje: open Eina_File ourself instead of delegating it to edje."
"edje: don't never corrupt an opened edje object."
This reverts commits 8727e43c1f and 8f12f21cf0, which caused nonstop crashes.
Now, Edje.h includes three new files:
- Edje_Eo.h: Eo API functions (functions defines, enums, base id).
- Edje_Legacy.h: contains the API functions related to objects
- Edje_Common.h: common data (structs, enums...) + functions not related to
objects.
This phase is needed for the EFL 1.8 release to disable Eo APIs if we
consider it is not enough mature to be used by applications.
input_attach, input_detach, format_set, and source_set now return an
Eina_Bool
Tests, examples and edje_multisense adapted
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
If logical cursor is between LTR/RTL text two cursors will be shown.
Upper cursor is shown for the text of the same direction as
paragraph, lower cursor - for opposite.
NOT DONE YET
Signed-off-by: Tom 'TAsn' Hacohen <tom@stosb.com>
When user pressed home and ctrl+home, caret is normaly moved to first letter.
But, it is not common behavior for alt+home.
For example, gedit does not have any behavior and urlbar of firefox open
home page when alt+home is pressed.
This memset is not necessary as pack_it_copy can only be accessed when
the part type is a BOX or a TABLE and thus pack_it will be defined. Sadly
GCC 4.7 is more stupid than GCC 4.6 and think that it is an unitialized data
resulting in a massive number of useless warning that could hide real warning.
This is particularly useful when using table and replicating the
same group all over the place. At least for many games I have in mind
this will save a lot of lines !
This patch try to share signal callbacks and automate accross all Edje
object. It does use an Eina_Hash on the callback description (signal,
source, func). There is no need to check it against Edje file or group
only the callbacks matter.
This version remove all use of size_t as it should never be above 32bits.
We have a hard limit on the number of callback to 2^32 now. I am considering
it would be sane to make it a short.
Program received signal SIGSEGV, Segmentation fault.
_edje_emit_cb (ed=ed@entry=0x8ebd68, sig=sig@entry=0x8fba4c
"focus,part,in", src=src@entry=0x8222fc "elm.text",
data=data@entry=0x0, prop=prop@entry=0 '\000') at
lib/edje/edje_program.c:1442
warning: Source file is more recent than executable.
1442 eina_list_free(data.matches);
(gdb) bt
"focus,part,in", src=src@entry=0x8222fc "elm.text",
data=data@entry=0x0, prop=prop@entry=0 '\000') at
lib/edje/edje_program.c:1442
"focus,part,in", src=0x8222fc "elm.text", sdata=0x0, prop=0 '\000') at
lib/edje/edje_program.c:1366
_pd=0x8222f0, list=0x7fff00000001) at lib/edje/edje_message_queue.c:124
op_type=EO_OP_TYPE_REGULAR, op=564, p_list=0x7fffffffcf28) at
lib/eo/eo.c:364
op_type=EO_OP_TYPE_REGULAR, obj=0x8ebae0) at lib/eo/eo.c:404
op_type=op_type@entry=EO_OP_TYPE_REGULAR) at lib/eo/eo.c:435
(obj=<optimized out>) at lib/edje/edje_message_queue.c:71
(sid=sid@entry=0x8eae88) at elm_interface_scrollable.c:788
(sid=0x8eae88) at elm_interface_scrollable.c:805
_pd=0x8eae88, list=<optimized out>) at elm_interface_scrollable.c:3370
op_type=EO_OP_TYPE_REGULAR, op=840, p_list=0x7fffffffd158) at
lib/eo/eo.c:364
op_type=EO_OP_TYPE_REGULAR, obj=0x8ea9e0) at lib/eo/eo.c:404
op_type=op_type@entry=EO_OP_TYPE_REGULAR) at lib/eo/eo.c:435
_pd=0x8ead70, list=<optimized out>) at elm_entry.c:2804
op_type=EO_OP_TYPE_REGULAR, op=129, p_list=0x7fffffffd328) at
lib/eo/eo.c:364
op_type=EO_OP_TYPE_REGULAR, obj=0x8ea9e0) at lib/eo/eo.c:404
lib/eo/eo.c:435
op_type=EO_OP_TYPE_REGULAR, op=1, p_list=0x7fffffffd4a8) at
lib/eo/eo.c:364
(obj=obj@entry=0x8ea9e0, op_type=op_type@entry=EO_OP_TYPE_REGULAR,
op=1) at lib/eo/eo.c:463
class_data=<optimized out>, list=<optimized out>) at elm_widget.c:5526
op_type=EO_OP_TYPE_REGULAR, op=1, p_list=0x7fffffffd628) at
lib/eo/eo.c:364
(obj=obj@entry=0x8ea9e0, op_type=op_type@entry=EO_OP_TYPE_REGULAR,
op=1) at lib/eo/eo.c:463
out>, list=<optimized out>) at elm_layout.c:2157
op_type=EO_OP_TYPE_REGULAR, op=1, p_list=0x7fffffffd7b8) at
lib/eo/eo.c:364
op_type=<optimized out>, op=1) at lib/eo/eo.c:463
op_type=EO_OP_TYPE_REGULAR, op=1, p_list=0x7fffffffd928) at
lib/eo/eo.c:364
(obj=obj@entry=0x8ea9e0, op_type=op_type@entry=EO_OP_TYPE_REGULAR,
op=1) at lib/eo/eo.c:463
out>, list=<optimized out>) at elm_entry.c:3076
op_type=EO_OP_TYPE_REGULAR, op=1, p_list=0x7fffffffdad8) at
lib/eo/eo.c:364
op_type=EO_OP_TYPE_REGULAR, obj=0x8ea9e0) at lib/eo/eo.c:404
lib/eo/eo.c:1162
elm_entry.c:3068
autorun=0x0) at test.c:441
Revert "edje: reduce memory usage of Edje signal callbacks and automates."
This reverts commit 15aae2c0a4.
This patch try to share signal callbacks and automate accross all Edje
object. It does use an Eina_Hash on the callback description (signal,
source, func). There is no need to check it against Edje file or group
only the callbacks matter.
This reduce our waste of memory by 300K in most elementary application. There is
another 400K to win by merging edje signal callback automat.
SVN revision: 83879
From now, classes implementing the Eo function with id
EO_BASE_SUB_ID_DBG_INFO_GET will be able to show in Clouseau their own
specific information.
Information contents is controlled by the class itself and no more
by Clouseau. Basic types and lists are supported..
Signed-off-by: Aharon Hillel <a.hillel@samsung.com>
SVN revision: 83410
Hi,
Can some one please verify and merge the attahed patch with open source svn Edje code.
[Issue details :]
NULL checking is not done before sending a string to strcmp().
In _edje_real_part_swallow() function of edje_util.c file, evas_object_type_get() API can return NULL and if
this NULL value is directly passed to strcmp(), it causes a crash.
[Issue fix :]
NULL check is added for obj_type before passing it to strcmp().
Thanks & Regards,
Sumanth
Signed-Off-By: Sumanth Krishna (sumanth.m@samsung.com)
SVN revision: 83393
Ifdef all the functions that reference ecore_audio so this file can be
compiled without ecore_audio enabled.
Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
SVN revision: 83384
This one was a painful bitch. The edbus2 port was quite broken, mainly
leaking eina_stringshare and also not adding the '\0' to the strings
that are represented as bytearray (paths cannot be utf8 to avoid
translations).
Emotion plugin was also quite bogus and the video thumbnail as edje
(animated) is not working yet due bug in Edje_Edit api -- someone
needs to investigate this, seems strange.
Emotion plugin also had a bug that it was deleting the object from
inside object callback.
Now it seems to work. Please report if it does not.
SVN revision: 82675
This made no sense... as HAVE_ECORE_IMF was defined in a local (not
installed) config.h. With single-tree it is defined and will bring in
one useless include in our public header.
SVN revision: 82498
This warning was removed but I left the _edje_real_part_state_get() in
there as this will not just get the part state, but also call
_edje_part_recalc() if needed.
Should we completely remove the block, or is _edje_part_recalc() required?
SVN revision: 82366
use technique similar to elementary and delay init() of module, but
once you do, do it only once and avoid shutdown() until
edje_shutdown().
This is good if we keep creating and deleting edje objects with entry,
the count could go to 0 and ecore_imf_shutdown() would unload
everything, just to load it soon.
SVN revision: 82281
this is still in progress, mostly the multisense stuff is pending.
it seems that when we merge ecore_audio in edje the libremix and
similar are gone, at least from Edje, and will be in ecore_audio
itself (or pulseaudio).
Changes:
* __UNUSED__ to EINA_UNUSED
* binaries (epp, embryo_cc, edje_cc) now consider EFL_RUN_IN_TREE and
will assume the binaries are still not installed, running from
build tree location (needs more testing, maybe doesn't work with
srcdir != builddir, still doesn't solve cross compile builds)
SVN revision: 82139