Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Cedric BAIL
On Mon, Mar 10, 2014 at 2:47 AM, Gustavo Sverzut Barbieri
 wrote:
> On Mon, Mar 10, 2014 at 12:37 AM, Felipe Magno de Almeida
>  wrote:
>> cedric pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=416376e03c8ac2f5fa990956fbebcada5704c666
>>
>> commit 416376e03c8ac2f5fa990956fbebcada5704c666
>> Author: Felipe Magno de Almeida 
>> Date:   Mon Mar 10 12:25:20 2014 +0900
>>
>> eina-cxx: Added eina_log support for C++, using IOStreams syntax
>>
>> Summary:
>> Added eina_log support for C++ using the following macros:
>>
>> For logging into a domain:
>>
>> EINA_CXX_DOM_LOG
>> EINA_CXX_DOM_LOG_CRIT
>> EINA_CXX_DOM_LOG_ERR
>> EINA_CXX_DOM_LOG_INFO
>> EINA_CXX_DOM_LOG_DBG
>> EINA_CXX_DOM_LOG_WARN
>>
>> And for logging into the default domain:
>>
>> EINA_CXX_LOG
>> EINA_CXX_LOG_CRIT
>> EINA_CXX_LOG_ERR
>> EINA_CXX_LOG_INFO
>> EINA_CXX_LOG_DBG
>> EINA_CXX_LOG_WARN
>>
>> The usage is simple as can be seen in the tests:
>>
>>   efl::eina::log_domain domain("error_domain_name");
>>   domain.set_level(efl::eina::log_level::critical);
>>   EINA_CXX_DOM_LOG_CRIT(domain, "something went wrong with the following 
>> error: " << error);
>
> couldn't this be exposed in a shorter form, similar to:
>
> using namespace efl::eina:log;
>
> err << "hi there" << 5;
> mydom.dbg << "hello world" << 0.3456;
>
> no idea how to make it able to detect end of line so it issue the
> actual eina log print call, I always see people doing < could use the same, at each < So this would be allowed:
>
>err << "hi there" << 5 << endl << "new line" << endl;
>mydom.dbg << "hello world << 0.345 << endl << "new line" << endl;
>
> This would have a nice side effect that is to accumulate the string
> among different calls, producing a single output that in C would need
> to use strcat()/sprintf() such as:
>
>mydom.dbg << "options:";
>for (i = 0; i < options.length(); i++) mydom.dbg << " " << options.get(i);
>mydom.dbg << endl;
>
> I'm not sure if you can get caller information in C++ without
> resorting to CPP. If you can't, then something like this may do:
>
>   EINA_LOG(mydom.dbg) << "hello world" << 0.3456 << endl;
>
> would expand to something like: mydom.dbg(__FILE__, __LINE__, __FUNCTION__)
>
>
> Anyway I find the current implementation of this patch quite awful :-D
>
> EINA_CXX_DOM_LOG_CRIT(domain, "foo 0x" << std::hex << 10);
> EINA_CXX_LOG_CRIT("foo 0x" << std::hex << 10);
>
> versus:
>
> EINA_LOG(domain.crit) << "foo 0x" << std::hex << 10 << endl;
> EINA_LOG(crit) <<  "foo 0x" << std::hex << 10 << endl;
>
> (assuming the long version with macro and endl is required)

This solution has a draw back, you will always execute the string
generation even when not needed. I do think it will impact speed and
will limit the use case for efl::eina::log.
-- 
Cedric BAIL

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas-fb: Fix broken build of efl

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60

commit 8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
Author: Chris Michael 
Date:   Mon Mar 10 07:20:26 2014 +

evas-fb: Fix broken build of efl

@bugfix: structure fb_var_screeninfo does not have a colorspace field
defined in linux/fb.h, so (for now) comment out code which was
referencing that field. Not sure what the intent was here, but build
was broken because of this.

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/fb/evas_fb_main.c | 19 ---
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/modules/evas/engines/fb/evas_fb_main.c 
b/src/modules/evas/engines/fb/evas_fb_main.c
index b93e440..de6f65a 100644
--- a/src/modules/evas/engines/fb/evas_fb_main.c
+++ b/src/modules/evas/engines/fb/evas_fb_main.c
@@ -242,13 +242,18 @@ fb_var_str_convert(const struct fb_var_screeninfo *fbv)
 
eina_strbuf_append_printf(buf,
  ", "
- "rotate=%u, "
- "colorspace=%u",
- fbv->rotate,
- fbv->colorspace);
-
-   if (fbv->colorspace)
- eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4);
+ "rotate=%u, ",
+ fbv->rotate);
+
+   /* eina_strbuf_append_printf(buf, */
+   /*   ", " */
+   /*   "rotate=%u, " */
+   /*   "colorspace=%u", */
+   /*   fbv->rotate, */
+   /*   fbv->colorspace); */
+
+   /* if (fbv->colorspace) */
+   /*   eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4); */
 
ret = eina_strbuf_string_steal(buf);
eina_strbuf_free(buf);

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-fb: Fix broken build of efl

2014-03-10 Thread Daniel Juyung Seo
On Mon, Mar 10, 2014 at 4:22 PM, Christopher Michael  wrote:

> devilhorns pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>
> commit 8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
> Author: Chris Michael 
> Date:   Mon Mar 10 07:20:26 2014 +
>
> evas-fb: Fix broken build of efl
>
>
>
Hi


> @bugfix: structure fb_var_screeninfo does not have a colorspace field
>

This must be broken recenlty after 1.9 so this is not the target of
backport.
It means you don't need @bugfix tag.

Am I correct?

Daniel Juyung Seo (SeoZ)



> defined in linux/fb.h, so (for now) comment out code which was
> referencing that field. Not sure what the intent was here, but build
> was broken because of this.
>
> Signed-off-by: Chris Michael 
> ---
>  src/modules/evas/engines/fb/evas_fb_main.c | 19 ---
>  1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/src/modules/evas/engines/fb/evas_fb_main.c
> b/src/modules/evas/engines/fb/evas_fb_main.c
> index b93e440..de6f65a 100644
> --- a/src/modules/evas/engines/fb/evas_fb_main.c
> +++ b/src/modules/evas/engines/fb/evas_fb_main.c
> @@ -242,13 +242,18 @@ fb_var_str_convert(const struct fb_var_screeninfo
> *fbv)
>
> eina_strbuf_append_printf(buf,
>   ", "
> - "rotate=%u, "
> - "colorspace=%u",
> - fbv->rotate,
> - fbv->colorspace);
> -
> -   if (fbv->colorspace)
> - eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4);
> + "rotate=%u, ",
> + fbv->rotate);
> +
> +   /* eina_strbuf_append_printf(buf, */
> +   /*   ", " */
> +   /*   "rotate=%u, " */
> +   /*   "colorspace=%u", */
> +   /*   fbv->rotate, */
> +   /*   fbv->colorspace); */
> +
> +   /* if (fbv->colorspace) */
> +   /*   eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4); */
>
> ret = eina_strbuf_string_steal(buf);
> eina_strbuf_free(buf);
>
> --
>
>
>
--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: Entry test code: Added example to show the last character of entered password

2014-03-10 Thread Anand
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=855b78901027a33421a545659bf2464ff5805bd4

commit 855b78901027a33421a545659bf2464ff5805bd4
Author: Anand 
Date:   Mon Mar 10 16:25:23 2014 +0900

Entry test code: Added example to show the last character of entered 
password

Summary: Added example to show the last character of entered password

Test Plan: elementary_test 

Reviewers: singh.amitesh, seoz

CC: seoz

Differential Revision: https://phab.enlightenment.org/D610
---
 src/bin/test_entry.c | 30 --
 1 file changed, 28 insertions(+), 2 deletions(-)

diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
index 5e60712..7f7ea00 100644
--- a/src/bin/test_entry.c
+++ b/src/bin/test_entry.c
@@ -303,7 +303,7 @@ _end_hide_cb(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNU
 void
 test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
-   Evas_Object *win, *bx, *bx2, *bx3, *bt, *en, *en_p, *sp, *entry;
+   Evas_Object *win, *bx, *bx2, *bx3, *bx4, *bt, *en, *en_p, *sp, *entry, 
*label;
static Elm_Entry_Filter_Accept_Set digits_filter_data, digits_filter_data2;
static Elm_Entry_Filter_Limit_Size limit_filter_data, limit_filter_data2;
 
@@ -462,7 +462,33 @@ test_entry_scrolled(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *
evas_object_show(en_p);
elm_box_pack_end(bx, en_p);
 
-   /* entry with icon/end widgets*/
+   /* Last password show entry */
+   bx4 = elm_box_add(win);
+   evas_object_size_hint_weight_set(bx4, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   evas_object_show(bx4);
+
+   label = elm_label_add(bx4);
+   elm_object_text_set(label, "Last password show entry");
+   evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+   elm_box_pack_end(bx4, label);
+   evas_object_show(label);
+
+   en = elm_entry_add(bx4);
+   elm_entry_scrollable_set(en, EINA_TRUE);
+   evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, 0.0);
+   evas_object_size_hint_align_set(en, EVAS_HINT_FILL, 0.5);
+   elm_scroller_policy_set(en, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_OFF);
+   elm_entry_password_set(en, EINA_TRUE);
+   elm_object_text_set(en, "Last password show");
+   elm_entry_single_line_set(en, EINA_TRUE);
+   edje_password_show_last_set(EINA_TRUE);
+   edje_password_show_last_timeout_set(-1);
+   evas_object_show(en);
+
+   elm_box_pack_end(bx4, en);
+   elm_box_pack_end(bx, bx4);
+
+   /* entry with icon/end widgets */
entry = elm_entry_add(win);
elm_entry_scrollable_set(entry, EINA_TRUE);
elm_scroller_policy_set(entry, ELM_SCROLLER_POLICY_OFF, 
ELM_SCROLLER_POLICY_OFF);

-- 




[EGIT] [core/elementary] master 01/01: author: added Anand to author file.

2014-03-10 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=da84ff862f4b80b1d4b58a43772fab04ceaca372

commit da84ff862f4b80b1d4b58a43772fab04ceaca372
Author: Daniel Juyung Seo 
Date:   Mon Mar 10 17:58:10 2014 +0900

author: added Anand to author file.
---
 AUTHORS   | 1 +
 src/lib/elm_authors.h | 1 +
 2 files changed, 2 insertions(+)

diff --git a/AUTHORS b/AUTHORS
index 4a1da76..33ae7bf 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -150,3 +150,4 @@ Jeonghoon Park 
 Prashant 
 suxia li 
 yan.wang 
+Anand 
diff --git a/src/lib/elm_authors.h b/src/lib/elm_authors.h
index 63717e3..047e245 100644
--- a/src/lib/elm_authors.h
+++ b/src/lib/elm_authors.h
@@ -152,6 +152,7 @@
  * @author Prashant 
  * @author suxia li 
  * @author yan.wang 
+ * @author Anand 
  *
  * Please contact  to get in
  * contact with the developers and maintainers.

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-fb: Fix broken build of efl

2014-03-10 Thread Tom Hacohen
On 10/03/14 08:47, Daniel Juyung Seo wrote:
> On Mon, Mar 10, 2014 at 4:22 PM, Christopher Michael > wrote:
>
>> devilhorns pushed a commit to branch master.
>>
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>>
>> commit 8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>> Author: Chris Michael 
>> Date:   Mon Mar 10 07:20:26 2014 +
>>
>>  evas-fb: Fix broken build of efl
>>
>>
>>
> Hi
>
>
>>  @bugfix: structure fb_var_screeninfo does not have a colorspace field
>>
>
> This must be broken recenlty after 1.9 so this is not the target of
> backport.
> It means you don't need @bugfix tag.
>
> Am I correct?

You are correct.

1. We use @fix, not @bugfix.
2. We only use @fix when it's a fix from before the latest release.

More info: https://phab.enlightenment.org/w/git_practices/

--
Tom.


--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Evas map: fixed shadow warnings.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4b758f71c101fcaacde63a0893be18eee52c8fd8

commit 4b758f71c101fcaacde63a0893be18eee52c8fd8
Author: Tom Hacohen 
Date:   Mon Mar 10 09:25:21 2014 +

Evas map: fixed shadow warnings.

evas_map_image_loop is included from within code, so local variables
should not shadow other local variables. I just gave them a more
unique name.
---
 src/lib/evas/common/evas_map_image_loop.c | 30 +++---
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/src/lib/evas/common/evas_map_image_loop.c 
b/src/lib/evas/common/evas_map_image_loop.c
index 562f193..c6a9b3b 100644
--- a/src/lib/evas/common/evas_map_image_loop.c
+++ b/src/lib/evas/common/evas_map_image_loop.c
@@ -34,37 +34,37 @@
 # ifdef COLBLACK
 *d = 0xff00; // col
 # else
-FPc u1, v1, u2, v2;
+FPc uu1, vv1, uu2, vv2;
 FPc rv, ru;
 DATA32 val1, val2, val3, val4;
 
-u1 = u;
-if (u1 < 0) u1 = 0;
-else if (u1 >= swp) u1 = swp - 1;
+uu1 = u;
+if (uu1 < 0) uu1 = 0;
+else if (uu1 >= swp) uu1 = swp - 1;
 
-v1 = v;
-if (v1 < 0) v1 = 0;
-else if (v1 >= shp) v1 = shp - 1;
+vv1 = v;
+if (vv1 < 0) vv1 = 0;
+else if (vv1 >= shp) vv1 = shp - 1;
 
-u2 = u1 + FPFPI1;  // next u point
-if (u2 >= swp) u2 = swp - 1;
+uu2 = uu1 + FPFPI1;  // next u point
+if (uu2 >= swp) uu2 = swp - 1;
 
-v2 = v1 + FPFPI1;  // next v point
-if (v2 >= shp) v2 = shp - 1;
+vv2 = vv1 + FPFPI1;  // next v point
+if (vv2 >= shp) vv2 = shp - 1;
 
 ru = (u >> (FP + FPI - 8)) & 0xff;
 rv = (v >> (FP + FPI - 8)) & 0xff;
 
-s = sp + ((v1 >> (FP + FPI)) * sw) + (u1 >> (FP + FPI));
+s = sp + ((vv1 >> (FP + FPI)) * sw) + (uu1 >> (FP + FPI));
 val1 = *s; // current pixel
 
-s = sp + ((v1 >> (FP + FPI)) * sw) + (u2 >> (FP + FPI));
+s = sp + ((vv1 >> (FP + FPI)) * sw) + (uu2 >> (FP + FPI));
 val2 = *s; // right pixel
 
-s = sp + ((v2 >> (FP + FPI)) * sw) + (u1 >> (FP + FPI));
+s = sp + ((vv2 >> (FP + FPI)) * sw) + (uu1 >> (FP + FPI));
 val3 = *s; // bottom pixel
 
-s = sp + ((v2 >> (FP + FPI)) * sw) + (u2 >> (FP + FPI));
+s = sp + ((vv2 >> (FP + FPI)) * sw) + (uu2 >> (FP + FPI));
 val4 = *s; // right bottom pixel
 
 #  ifdef SCALE_USING_MMX

-- 




[EGIT] [core/enlightenment] master 01/01: tiling: Fixed Typo.

2014-03-10 Thread Marcel Hollerbach
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=99facedf12314bc0e430dc30d8defde0b5d93355

commit 99facedf12314bc0e430dc30d8defde0b5d93355
Author: Marcel Hollerbach 
Date:   Mon Mar 10 09:41:21 2014 +

tiling: Fixed Typo.

Summary: There was onfiguration instead of configuration

Reviewers: tasn

CC: cedric

Differential Revision: https://phab.enlightenment.org/D620
---
 config/tiling/profile.desktop | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/config/tiling/profile.desktop b/config/tiling/profile.desktop
index de57971..1236331 100644
--- a/config/tiling/profile.desktop
+++ b/config/tiling/profile.desktop
@@ -2,5 +2,5 @@
 Encoding=UTF-8
 Type=Link
 Name=Tiling (Standard Enlightenment)
-Comment=Tiling window management onfiguration for devices with keyboards and 
micelike your average PC Desktop, Laptop or Netbookwith Enlightenment's 
traditional keyboard bindingsand mouse controls.Default tiling bindings 
are: Win-key + Space, arrows, and left mouse button.See the module settings 
for more information.
+Comment=Tiling window management configuration for devices with keyboards and 
micelike your average PC Desktop, Laptop or Netbookwith Enlightenment's 
traditional keyboard bindingsand mouse controls.Default tiling bindings 
are: Win-key + Space, arrows, and left mouse button.See the module settings 
for more information.
 Icon=enlightenment-tiling

-- 




[E-devel] Weekly news from the automated build and QA front

2014-03-10 Thread Stefan Schmidt
Hello.

Summary:
o Still to many build problems for my taste. Even if we are in the
first merge window.
o With all the new code flowing into efl the issues detected by clang
and Coverity are increasing again. Please have a look at the reports
if you submitted new code.

This should give everyone an overview over what has happened in the last
week on the QA front. The numbers in parentheses reflect the values from
last week to give you a trend.

CI:
o Overall build statistic: 8.82% (11.58%) failed.
https://build.enlightenment.org/

clang scan-build:
o EFL scan-build reports 440 (426) issues.
https://build.enlightenment.org/job/nightly_efl_clang_x86_64/lastSuccessfu
lBuild/artifact/scan-build/build/
o Elementary scan-build reports 77 (76)
https://build.enlightenment.org/job/nightly_elm_clang_x86_64/lastSuccessfulBuild/artifact/scan-build/build

Exactness:
o The edje exactness builds are working now. Elm exactness still failing.
o Problems with icons and paths (file selector widget)
o Still waiting for the first successful run on jenkins

Unit tests:
o 343 (333) unit tests for efl and none failing

Coverage:
o EFL total coverage is at 29.3% (29.3%) lines and 32.6% (32.5%) functions
https://build.enlightenment.org/view/Test%20Coverage/

Coverity:
o EFL: Outstanding defects 326 (308) with a density of 0.52 (0.50)
o Elm: Outstanding defects 0 (0) with a density of 0 (0)
o E: Outstanding defects 178 (178) with a density of 0.68 (0.68)
o Terminology: Outstanding defects 7 (7) with a density of 0.11
(0.11)

Phab:
o Total bug count: 263 (253)
o Pending patch reviews: 30 (37)

regards
Stefan Schmidt

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/03: Eolian/Generator: fix for legacy function name overriding.

2014-03-10 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a04e80e7f6a708f533dc857b0ccdcbd05ce9c256

commit a04e80e7f6a708f533dc857b0ccdcbd05ce9c256
Author: Daniel Zaoui 
Date:   Sun Mar 9 14:07:39 2014 +0200

Eolian/Generator: fix for legacy function name overriding.

When legacy is specified in the .eo file, the generator was adding the
property/method name after the legacy name.
So if you have 'legacy evas_object_textblock_clear_all' for clear method,
it was adding the function evas_object_textblock_clear_all_clear.
---
 src/bin/eolian/common_funcs.c |  4 ++--
 src/bin/eolian/legacy_generator.c | 27 +++
 2 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/src/bin/eolian/common_funcs.c b/src/bin/eolian/common_funcs.c
index b3a5674..e98a02b 100644
--- a/src/bin/eolian/common_funcs.c
+++ b/src/bin/eolian/common_funcs.c
@@ -62,10 +62,10 @@ _template_fill(Eina_Strbuf *buf, const char* templ, const 
char* classname, const
 eina_strbuf_free(classobj);
  }
 
-   strncpy(capfunc, funcname, sizeof(capfunc) - 1);
+   if (funcname) strncpy(capfunc, funcname, sizeof(capfunc) - 1);
p = capfunc; eina_str_toupper(&p);
 
-   eina_strbuf_replace_all(buf, "@#func", funcname);
+   if (funcname) eina_strbuf_replace_all(buf, "@#func", funcname);
eina_strbuf_replace_all(buf, "@#FUNC", capfunc);
eina_strbuf_replace_all(buf, "@#Class", classname);
eina_strbuf_replace_all(buf, "@#class", lowclass);
diff --git a/src/bin/eolian/legacy_generator.c 
b/src/bin/eolian/legacy_generator.c
index 19fb74a..d219ab1 100644
--- a/src/bin/eolian/legacy_generator.c
+++ b/src/bin/eolian/legacy_generator.c
@@ -194,6 +194,7 @@ static void
 _eapi_func_generate(const char *classname, Eolian_Function funcid, 
Eolian_Function_Type ftype, Eina_Strbuf *buf)
 {
//TODO return value
+   char tmpstr[0xFF];
const char *suffix = "";
const char *func_lpref = NULL;
Eina_Bool var_as_ret = EINA_FALSE;
@@ -202,6 +203,10 @@ _eapi_func_generate(const char *classname, Eolian_Function 
funcid, Eolian_Functi
Eina_Bool ret_const = EINA_FALSE;
Eina_Bool add_star = EINA_FALSE;
 
+   Eina_Strbuf *fbody = eina_strbuf_new();
+   Eina_Strbuf *fparam = eina_strbuf_new();
+   Eina_Strbuf *eoparam = eina_strbuf_new();
+
rettype = eolian_function_return_type_get(funcid, ftype);
if (rettype && !strcmp(rettype, "void")) rettype = NULL;
retname = "ret";
@@ -229,24 +234,22 @@ _eapi_func_generate(const char *classname, 
Eolian_Function funcid, Eolian_Functi
  }
 
func_lpref = (func_lpref) ? func_lpref : eolian_function_data_get(funcid, 
EOLIAN_LEGACY);
-   func_lpref = (func_lpref) ? func_lpref : 
eolian_class_legacy_prefix_get(classname);
+   _template_fill(fbody, tmpl_eapi_body, classname, NULL, EINA_FALSE);
 
-   Eina_Strbuf *fbody = eina_strbuf_new();
-   Eina_Strbuf *fparam = eina_strbuf_new();
-   Eina_Strbuf *eoparam = eina_strbuf_new();
-
-   char tmpstr[0xFF];
-   sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix);
-   _template_fill(fbody, tmpl_eapi_body, classname, tmpstr, EINA_FALSE);
-
-   if (!func_lpref)
+   if (func_lpref)
+  eina_strbuf_replace_all(fbody, "@#eapi_prefix_@#func", func_lpref);
+   else
  {
+func_lpref = eolian_class_legacy_prefix_get(classname);
+eina_strbuf_replace_all(fbody, "@#eapi_prefix", func_lpref);
+
 strncpy(tmpstr, classname, sizeof(tmpstr) - 1);
 char *p = tmpstr;
 eina_str_tolower(&p);
-func_lpref = tmpstr;
  }
-   eina_strbuf_replace_all(fbody, "@#eapi_prefix", func_lpref);
+
+   sprintf (tmpstr, "%s%s", eolian_function_name_get(funcid), suffix);
+   eina_strbuf_replace_all(fbody, "@#func", tmpstr);
 
const Eina_List *l;
void *data;

-- 




[EGIT] [core/efl] master 03/03: Eolian: Integration of Evas Text Grid

2014-03-10 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2fe6c88cf0d7563bb63c0b3f3a7ea76269b2c767

commit 2fe6c88cf0d7563bb63c0b3f3a7ea76269b2c767
Author: Daniel Zaoui 
Date:   Sun Mar 9 14:21:41 2014 +0200

Eolian: Integration of Evas Text Grid
---
 src/Makefile_Evas.am   |  10 +-
 src/lib/evas/Evas_Eo.h |   4 +
 src/lib/evas/canvas/evas_object_textgrid.c | 382 +
 src/lib/evas/canvas/evas_textgrid.eo   | 283 +
 4 files changed, 356 insertions(+), 323 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index dd8f19c..efa9e24 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -11,14 +11,17 @@ BUILT_SOURCES += \
  lib/evas/canvas/evas_text.eo.c \
  lib/evas/canvas/evas_text.eo.h \
  lib/evas/canvas/evas_textblock.eo.c \
- lib/evas/canvas/evas_textblock.eo.h
+ lib/evas/canvas/evas_textblock.eo.h \
+ lib/evas/canvas/evas_textgrid.eo.c \
+ lib/evas/canvas/evas_textgrid.eo.h
 
 EXTRA_DIST += \
   lib/evas/canvas/evas_line.eo \
   lib/evas/canvas/evas_polygon.eo \
   lib/evas/canvas/evas_rectangle.eo \
   lib/evas/canvas/evas_text.eo \
-  lib/evas/canvas/evas_textblock.eo
+  lib/evas/canvas/evas_textblock.eo \
+  lib/evas/canvas/evas_textgrid.eo
 
 lib_LTLIBRARIES += lib/evas/libevas.la
 noinst_LTLIBRARIES =
@@ -38,7 +41,8 @@ nodist_installed_evascanvasheaders_DATA = \
 lib/evas/canvas/evas_polygon.eo.h \
 lib/evas/canvas/evas_rectangle.eo.h \
 lib/evas/canvas/evas_text.eo.h \
-lib/evas/canvas/evas_textblock.eo.h
+lib/evas/canvas/evas_textblock.eo.h \
+lib/evas/canvas/evas_textgrid.eo.h
 
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index b5f8152..8d9589e 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -2704,6 +2704,9 @@ enum
  * @{
  */
 
+#include "canvas/evas_textgrid.eo.h"
+
+#if 0
 #define EVAS_OBJ_TEXTGRID_CLASS evas_object_textgrid_class_get()
 
 const Eo_Class *evas_object_textgrid_class_get(void) EINA_CONST;
@@ -2920,6 +2923,7 @@ enum
  */
 #define evas_obj_textgrid_update_add(x, y, w, h) 
EVAS_OBJ_TEXTGRID_ID(EVAS_OBJ_TEXTGRID_SUB_ID_UPDATE_ADD), EO_TYPECHECK(int, 
x), EO_TYPECHECK(int, y), EO_TYPECHECK(int, w), EO_TYPECHECK(int, h)
 
+#endif
 /**
  * @}
  */
diff --git a/src/lib/evas/canvas/evas_object_textgrid.c 
b/src/lib/evas/canvas/evas_object_textgrid.c
index 6bfb5a1..fe6d0e2 100644
--- a/src/lib/evas/canvas/evas_object_textgrid.c
+++ b/src/lib/evas/canvas/evas_object_textgrid.c
@@ -3,8 +3,6 @@
 
 #include "Eo.h"
 
-EAPI Eo_Op EVAS_OBJ_TEXTGRID_BASE_ID = EO_NOOP;
-
 #define MY_CLASS EVAS_OBJ_TEXTGRID_CLASS
 
 #define MY_CLASS_NAME "Evas_Textgrid"
@@ -17,7 +15,7 @@ EAPI Eo_Op EVAS_OBJ_TEXTGRID_BASE_ID = EO_NOOP;
 static const char o_type[] = "textgrid";
 
 /* private struct for line object internal data */
-typedef struct _Evas_Object_Textgrid   Evas_Object_Textgrid;
+typedef struct _Evas_Textgrid_Data Evas_Textgrid_Data;
 typedef struct _Evas_Object_Textgrid_Cell  Evas_Object_Textgrid_Cell;
 typedef struct _Evas_Object_Textgrid_Color Evas_Object_Textgrid_Color;
 
@@ -38,7 +36,7 @@ struct _Evas_Textgrid_Hash_Glyphs
Evas_Text_Props props[256];
 };
 
-struct _Evas_Object_Textgrid
+struct _Evas_Textgrid_Data
 {
DATA32 magic;
 
@@ -171,7 +169,7 @@ static const Evas_Object_Func object_func =
 
 /* almost generic private array data type */
 static int
-evas_object_textgrid_textprop_get(Evas_Object *eo_obj, Evas_Object_Textgrid 
*o, Eina_Unicode codepoint,
+evas_object_textgrid_textprop_get(Evas_Object *eo_obj, Evas_Textgrid_Data *o, 
Eina_Unicode codepoint,
   unsigned int glyphs_index, unsigned char 
*used)
 {
Evas_Textgrid_Hash_Glyphs *glyph;
@@ -204,7 +202,7 @@ evas_object_textgrid_textprop_get(Evas_Object *eo_obj, 
Evas_Object_Textgrid *o,
 }
 
 static int
-evas_object_textgrid_textprop_ref(Evas_Object *eo_obj, Evas_Object_Textgrid 
*o, Eina_Unicode codepoint)
+evas_object_textgrid_textprop_ref(Evas_Object *eo_obj, Evas_Textgrid_Data *o, 
Eina_Unicode codepoint)
 {
unsigned int mask = 0xF000;
unsigned int shift = 28;
@@ -334,7 +332,7 @@ evas_object_textgrid_textprop_ref(Evas_Object *eo_obj, 
Evas_Object_Textgrid *o,
 }
 
 static void
-evas_object_textgrid_textprop_unref(Evas_Object_Textgrid *o, unsigned int 
props_index)
+evas_object_textgrid_textprop_unref(Evas_Textgrid_Data *o, unsigned int 
props_index)
 {
Evas_Text_Pro

[EGIT] [core/efl] master 10/15: evas-drm: Remove private framebuffer field from Outbuf structure

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=005169d775426375fcdbf35a49adc141768ef574

commit 005169d775426375fcdbf35a49adc141768ef574
Author: Chris Michael 
Date:   Mon Mar 10 10:51:21 2014 +

evas-drm: Remove private framebuffer field from Outbuf structure

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/drm/evas_engine.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/drm/evas_engine.h 
b/src/modules/evas/engines/drm/evas_engine.h
index 0487ad6..3d7eff8 100644
--- a/src/modules/evas/engines/drm/evas_engine.h
+++ b/src/modules/evas/engines/drm/evas_engine.h
@@ -108,7 +108,7 @@ struct _Outbuf
struct 
  {
 int fd;
-unsigned int conn, crtc, fb;
+unsigned int conn, crtc;
 
 Buffer buffer[NUM_BUFFERS];
 int curr, num;

-- 




[EGIT] [core/efl] master 14/15: ecore-drm: Set the window of the Ecore_Event_Key structure

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2a3644640272c8406e0a08808a94e65d821ebdf4

commit 2a3644640272c8406e0a08808a94e65d821ebdf4
Author: Chris Michael 
Date:   Mon Mar 10 12:36:53 2014 +

ecore-drm: Set the window of the Ecore_Event_Key structure

@feature: Add keyboard event processing for ecore-drm

When we get a key event from evdev and create an Ecore_Event_Key to
pass along, we need to set the window where this event occured.

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 17 +++--
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 83c11fe..2a85e8a 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -254,12 +254,15 @@ _device_notify_key(Ecore_Drm_Evdev *dev, struct 
input_event *event, unsigned int
xkb_keysym_t sym = XKB_KEY_NoSymbol;
char key[256], keyname[256], compose[256];
Ecore_Event_Key *e;
+   Ecore_Drm_Input *input;
+
+   if (!(input = dev->seat->input)) return;
 
/* FIXME: This will probably need to handle modifiers also */
 
-   DBG("Key Event");
-   DBG("\tCode: %d", event->code);
-   DBG("\tValue: %d", event->value);
+   /* DBG("Key Event"); */
+   /* DBG("\tCode: %d", event->code); */
+   /* DBG("\tValue: %d", event->value); */
 
/* xkb rules reflect X broken keycodes, so offset by 8 */
code = event->code + 8;
@@ -304,9 +307,11 @@ _device_notify_key(Ecore_Drm_Evdev *dev, struct 
input_event *event, unsigned int
strcpy((char *)e->key, key);
if (strlen(compose)) strcpy((char *)e->compose, compose);
 
-   /* e->window = win->id; */
-   /* e->event_window = win->id; */
+   e->window = (Ecore_Window)input->dev->window;
+   e->event_window = (Ecore_Window)input->dev->window;
+   e->root_window = (Ecore_Window)input->dev->window;
e->timestamp = timestamp;
+   /* e->same_screen = 1; */
 
e->modifiers = dev->xkb.modifiers;
 
@@ -394,7 +399,7 @@ _device_process(Ecore_Drm_Evdev *dev, struct input_event 
*event, int count)
struct input_event *ev, *end;
unsigned int timestamp = 0;
 
-   DBG("Evdev Device Process");
+   /* DBG("Evdev Device Process"); */
 
ev = event;
end = ev + count;

-- 




[EGIT] [core/efl] master 02/15: ecore-drm: Initialize ecore_event on ecore_drm_init

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=337a18a5dd15789c701976cf82a88fbff6d90ab5

commit 337a18a5dd15789c701976cf82a88fbff6d90ab5
Author: Chris Michael 
Date:   Mon Mar 10 08:26:53 2014 +

ecore-drm: Initialize ecore_event on ecore_drm_init

@bugfix: Initialize ecore_event on ecore_drm_init

We need to make sure ecore_event_init has been called so we can
process events for ecore_evas.

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm.c | 13 +
 1 file changed, 13 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm.c b/src/lib/ecore_drm/ecore_drm.c
index ac181e3..73585f4 100644
--- a/src/lib/ecore_drm/ecore_drm.c
+++ b/src/lib/ecore_drm/ecore_drm.c
@@ -275,12 +275,21 @@ ecore_drm_init(void)
/* try to init eina */
if (!eina_init()) return --_ecore_drm_init_count;
 
+   /* try to init ecore */
if (!ecore_init()) 
  {
 eina_shutdown();
 return --_ecore_drm_init_count;
  }
 
+   /* try to init ecore_event */
+   if (!ecore_event_init())
+ {
+ecore_shutdown();
+eina_shutdown();
+return --_ecore_drm_init_count;
+ }
+
/* set logging level */
eina_log_level_set(EINA_LOG_LEVEL_DBG);
 
@@ -377,6 +386,10 @@ ecore_drm_shutdown(void)
close(_ecore_drm_sockets[0]);
close(_ecore_drm_sockets[1]);
 
+   /* shutdown ecore_event */
+   ecore_event_shutdown();
+
+   /* shutdown ecore */
ecore_shutdown();
 
/* unregsiter log domain */

-- 




[EGIT] [core/efl] master 05/15: ecore-drm: Add xkbcontext to device structure

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2aa64616cb727422799d29dba045cc9bd59e0027

commit 2aa64616cb727422799d29dba045cc9bd59e0027
Author: Chris Michael 
Date:   Mon Mar 10 08:38:21 2014 +

ecore-drm: Add xkbcontext to device structure

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 36f041a..7f210cd 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -252,6 +252,8 @@ struct _Ecore_Drm_Device
Eina_Bool use_hw_accel : 1;
Eina_Bool cursors_broken : 1;
 
+   struct xkb_context *xkb_ctx;
+
 /* #ifdef HAVE_GBM */
 /*struct gbm_device *gbm; */
 /*struct */

-- 




[EGIT] [core/efl] master 01/15: ecore-drm: Add API function to return the vt fd

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=fe7206d334dcbbbe02bfc6083a22be8e382a5cc9

commit fe7206d334dcbbbe02bfc6083a22be8e382a5cc9
Author: Chris Michael 
Date:   Mon Mar 10 08:24:08 2014 +

ecore-drm: Add API function to return the vt fd

@feature: Added API function to return the file descriptor from the
opened virtual terminal.

This is needed for use in ecore_evas. When it sets up the canvas, we
pass this fd to the canvas for use in setting up the vt framebuffers

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/Ecore_Drm.h |  1 +
 src/lib/ecore_drm/ecore_drm_tty.c | 20 
 2 files changed, 21 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index e89d2df..d776097 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -147,6 +147,7 @@ EAPI Eina_Bool ecore_drm_tty_open(Ecore_Drm_Device *dev, 
const char *name);
 EAPI Eina_Bool ecore_drm_tty_close(Ecore_Drm_Device *dev);
 EAPI Eina_Bool ecore_drm_tty_release(Ecore_Drm_Device *dev);
 EAPI Eina_Bool ecore_drm_tty_acquire(Ecore_Drm_Device *dev);
+EAPI int ecore_drm_tty_get(Ecore_Drm_Device *dev);
 
 EAPI Eina_Bool ecore_drm_outputs_create(Ecore_Drm_Device *dev);
 EAPI void ecore_drm_output_free(Ecore_Drm_Output *output);
diff --git a/src/lib/ecore_drm/ecore_drm_tty.c 
b/src/lib/ecore_drm/ecore_drm_tty.c
index 41a0561..b9cd1eb 100644
--- a/src/lib/ecore_drm/ecore_drm_tty.c
+++ b/src/lib/ecore_drm/ecore_drm_tty.c
@@ -295,3 +295,23 @@ ecore_drm_tty_acquire(Ecore_Drm_Device *dev)
 
return EINA_TRUE;
 }
+
+/**
+ * Get the opened virtual terminal file descriptor
+ * 
+ * @param dev The Ecore_Drm_Device which owns this tty.
+ * 
+ * @returnThe tty fd opened from previous call to ecore_drm_tty_open
+ * 
+ * @ingroup Ecore_Drm_Tty_Group
+ * 
+ * @since 1.10
+ */
+EAPI int 
+ecore_drm_tty_get(Ecore_Drm_Device *dev)
+{
+   /* check for valid device */
+   if ((!dev) || (!dev->drm.name) || (dev->tty.fd < 0)) return -1;
+
+   return dev->tty.fd;
+}

-- 




[EGIT] [core/efl] master 15/15: ecore-evas-drm: Set window to receive input events

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=456e6f20e0feb41c8c72b8bdeea505ab8d75e4c8

commit 456e6f20e0feb41c8c72b8bdeea505ab8d75e4c8
Author: Chris Michael 
Date:   Mon Mar 10 12:38:51 2014 +

ecore-evas-drm: Set window to receive input events

After we have setup ecore-drm, we need to tell it where to send any
input events, so call the ecore-drm API function to set the window.
Also feed mouse_in to the canvas after creation, so that it gets focus.

Signed-off-by: Chris Michael 
---
 src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 17 -
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 78dc495..e3684a7 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -213,6 +213,11 @@ ecore_evas_drm_new_internal(const char *device, unsigned 
int parent, int x, int
 
_ecore_evas_register(ee);
ecore_evas_input_event_register(ee);
+   ecore_drm_device_window_set(dev, ee);
+   evas_event_feed_mouse_in(ee->evas, 
+(unsigned int)((unsigned long long)
+   (ecore_time_get() * 1000.0) & 
+   0x), NULL);
 
return ee;
 
@@ -266,12 +271,14 @@ _ecore_evas_drm_init(void)
 goto sprite_err;
  }
 
+   /* NB: We don't need to create outputs here. Evas will create the 
+* framebuffers it needs */
/* try to create outputs */
-   if (!ecore_drm_outputs_create(dev))
- {
-ERR("Could not create outputs: %m");
-goto output_err;
- }
+   /* if (!ecore_drm_outputs_create(dev)) */
+   /*   { */
+   /*  ERR("Could not create outputs: %m"); */
+   /*  goto output_err; */
+   /*   } */
 
/* try to create inputs */
if (!ecore_drm_inputs_create(dev))

-- 




[EGIT] [core/efl] master 08/15: ecore-drm: Add code pass along key events to ecore_event

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=90551ff49ca66dfef84ff7e6b6ee78468c46304d

commit 90551ff49ca66dfef84ff7e6b6ee78468c46304d
Author: Chris Michael 
Date:   Mon Mar 10 09:56:50 2014 +

ecore-drm: Add code pass along key events to ecore_event

@feature: Add keyboard input handling to ecore-drm library

This adds code to ecore_drm library to process keyboard events and
pass them to ecore_event so that ecore_evas can receive keyboard input

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 158 +++-
 1 file changed, 157 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index c363d02..83c11fe 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -15,8 +15,54 @@
 #include "ecore_drm_private.h"
 #include 
 #include 
+#include 
 
 /* local functions */
+static void 
+_device_keyboard_setup(Ecore_Drm_Evdev *edev)
+{
+   Ecore_Drm_Input *input;
+
+   if ((!edev) || (!edev->seat)) return;
+   if (!(input = edev->seat->input)) return;
+   if (!input->dev->xkb_ctx) return;
+
+   /* create keymap from xkb context */
+   edev->xkb.keymap = xkb_map_new_from_names(input->dev->xkb_ctx, NULL, 0);
+   if (!edev->xkb.keymap)
+ {
+ERR("Failed to create keymap: %m");
+return;
+ }
+
+   /* create xkb state */
+   if (!(edev->xkb.state = xkb_state_new(edev->xkb.keymap)))
+ {
+ERR("Failed to create xkb state: %m");
+return;
+ }
+
+   /* FIXME: setup modifiers ? */
+   edev->xkb.modifiers = 0;
+
+   edev->xkb.ctrl_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_CTRL);
+   edev->xkb.alt_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_ALT);
+   edev->xkb.shift_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_SHIFT);
+   edev->xkb.win_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_LOGO);
+   edev->xkb.scroll_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_LED_NAME_SCROLL);
+   edev->xkb.num_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_LED_NAME_NUM);
+   edev->xkb.caps_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_CAPS);
+   edev->xkb.altgr_mask = 
+ 1 << xkb_map_mod_get_index(edev->xkb.keymap, "ISO_Level3_Shift");
+}
+
 static Eina_Bool 
 _device_configure(Ecore_Drm_Evdev *edev)
 {
@@ -36,6 +82,7 @@ _device_configure(Ecore_Drm_Evdev *edev)
  {
 DBG("Input device %s is a keyboard", edev->name);
 edev->seat_caps |= EVDEV_SEAT_KEYBOARD;
+_device_keyboard_setup(edev);
 ret = EINA_TRUE;
  }
 
@@ -155,13 +202,119 @@ _device_handle(Ecore_Drm_Evdev *edev)
return EINA_TRUE;
 }
 
+static int 
+_device_keysym_translate(xkb_keysym_t keysym, unsigned int modifiers, char 
*buffer, int bytes)
+{
+   unsigned long hbytes = 0;
+   unsigned char c;
+
+   if (!keysym) return 0;
+   hbytes = (keysym >> 8);
+
+   if (!(bytes &&
+ ((hbytes == 0) ||
+  ((hbytes == 0xFF) &&
+   (((keysym >= XKB_KEY_BackSpace) && (keysym <= XKB_KEY_Clear)) ||
+(keysym == XKB_KEY_Return) || (keysym == XKB_KEY_Escape) ||
+(keysym == XKB_KEY_KP_Space) || (keysym == XKB_KEY_KP_Tab) ||
+(keysym == XKB_KEY_KP_Enter) ||
+((keysym >= XKB_KEY_KP_Multiply) && (keysym <= XKB_KEY_KP_9)) ||
+(keysym == XKB_KEY_KP_Equal) || (keysym == XKB_KEY_Delete))
+ return 0;
+
+   if (keysym == XKB_KEY_KP_Space)
+ c = (XKB_KEY_space & 0x7F);
+   else if (hbytes == 0xFF)
+ c = (keysym & 0x7F);
+   else
+ c = (keysym & 0xFF);
+
+   if (modifiers & ECORE_EVENT_MODIFIER_CTRL)
+ {
+if (((c >= '@') && (c < '\177')) || c == ' ')
+  c &= 0x1F;
+else if (c == '2')
+  c = '\000';
+else if ((c >= '3') && (c <= '7'))
+  c -= ('3' - '\033');
+else if (c == '8')
+  c = '\177';
+else if (c == '/')
+  c = '_' & 0x1F;
+ }
+   buffer[0] = c;
+   return 1;
+}
+
 static void 
-_device_notify_key(Ecore_Drm_Evdev *dev, struct input_event *event, unsigned 
int timestamp EINA_UNUSED)
+_device_notify_key(Ecore_Drm_Evdev *dev, struct input_event *event, unsigned 
int timestamp)
 {
+   unsigned int code, nsyms;
+   const xkb_keysym_t *syms;
+   xkb_keysym_t sym = XKB_KEY_NoSymbol;
+   char key[256], keyname[256], compose[256];
+   Ecore_Event_Key *e;
+
+   /* FIXME: This will probably need to handle modifiers also */
+
DBG("Key Event");
DBG("\tCode: %d", event->code);
DBG("\tValue: %d", event->value);
 
+   /* xkb rules reflect X broken keycodes, so offset by 8 */
+   code = event->code + 8;
+
+   /* get the keysym for this code */
+   nsyms = xkb_key_get_syms(dev->xkb.state, code, &syms);
+   if (nsyms == 1) sym = syms[0];
+

[EGIT] [core/efl] master 07/15: ecore-drm: Create xkb context on device open

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=739da9956ee3eccd584ea770ac48303a49ddd386

commit 739da9956ee3eccd584ea770ac48303a49ddd386
Author: Chris Michael 
Date:   Mon Mar 10 09:56:24 2014 +

ecore-drm: Create xkb context on device open

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_device.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 7e526f7..f1ab021 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -423,6 +423,13 @@ ecore_drm_device_open(Ecore_Drm_Device *dev)
 /* #endif */
 /*  } */
 
+   /* try to create xkb context */
+   if (!(dev->xkb_ctx = xkb_context_new(0)))
+ {
+ERR("Failed to create xkb context: %m");
+return EINA_FALSE;
+ }
+
dev->drm.hdlr = 
  ecore_main_fd_handler_add(dev->drm.fd, ECORE_FD_READ, 
_ecore_drm_device_cb_event, dev, NULL, NULL);
@@ -466,6 +473,9 @@ ecore_drm_device_close(Ecore_Drm_Device *dev)
 /*  } */
 /* #endif */
 
+   /* close xkb context */
+   if (dev->xkb_ctx) xkb_context_unref(dev->xkb_ctx);
+
if (dev->drm.hdlr) ecore_main_fd_handler_del(dev->drm.hdlr);
dev->drm.hdlr = NULL;
 

-- 




[EGIT] [core/efl] master 04/15: ecore-drm: Add xkbcommon header

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=3b5b60be45cea51428e750cb89039f145f8a349b

commit 3b5b60be45cea51428e750cb89039f145f8a349b
Author: Chris Michael 
Date:   Mon Mar 10 08:32:49 2014 +

ecore-drm: Add xkbcommon header

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 5e41be7..36f041a 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -16,6 +16,7 @@
 # include 
 # include 
 //# include 
+# include 
 
 # include 
 # include 

-- 




[EGIT] [core/efl] master 09/15: ecore-evas-drm: Add initial code to make ecore_evas render using drm

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c403035e1d571b6b5a9137c92578723b810f44e5

commit c403035e1d571b6b5a9137c92578723b810f44e5
Author: Chris Michael 
Date:   Mon Mar 10 10:02:31 2014 +

ecore-evas-drm: Add initial code to make ecore_evas render using drm

NB: This is still a work-in-progress and not complete yet

Signed-off-by: Chris Michael 
---
 .../ecore_evas/engines/drm/ecore_evas_drm.c| 335 +++--
 1 file changed, 318 insertions(+), 17 deletions(-)

diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 4cf2370..78dc495 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -14,10 +14,10 @@
 #include "ecore_evas_private.h"
 #include "ecore_evas_drm.h"
 
-#ifdef BUILD_ECORE_EVAS_DRM
+//#ifdef BUILD_ECORE_EVAS_DRM
 # include 
 # include 
-#endif
+//#endif
 
 /* local structures */
 typedef struct _Ecore_Evas_Engine_Data_Drm Ecore_Evas_Engine_Data_Drm;
@@ -32,17 +32,27 @@ static int _ecore_evas_drm_init(void);
 static int _ecore_evas_drm_shutdown(void);
 static Ecore_Evas_Interface_Drm *_ecore_evas_drm_interface_new(void);
 
+static void _ecore_evas_drm_free(Ecore_Evas *ee);
+static void _ecore_evas_drm_delete_request_set(Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
+static void _ecore_evas_drm_resize(Ecore_Evas *ee, int w, int h);
+static void _ecore_evas_drm_show(Ecore_Evas *ee);
+static void _ecore_evas_drm_hide(Ecore_Evas *ee);
+static int _ecore_evas_drm_render(Ecore_Evas *ee);
+static void _ecore_evas_drm_render_updates(void *data, Evas *evas EINA_UNUSED, 
void *event);
+static int _ecore_evas_drm_render_updates_process(Ecore_Evas *ee, Eina_List 
*updates);
+
 /* local variables */
 static int _ecore_evas_init_count = 0;
+static Ecore_Drm_Device *dev = NULL;
 
 static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func = 
 {
-   NULL, //void (*fn_free) (Ecore_Evas *ee);
+   _ecore_evas_drm_free,
NULL, //void (*fn_callback_resize_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb 
func);
NULL, //void (*fn_callback_move_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb 
func);
NULL, //void (*fn_callback_show_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb 
func);
NULL, //void (*fn_callback_hide_set) (Ecore_Evas *ee, Ecore_Evas_Event_Cb 
func);
-   NULL, //void (*fn_callback_delete_request_set) (Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
+   _ecore_evas_drm_delete_request_set,
NULL, //void (*fn_callback_destroy_set) (Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
NULL, //void (*fn_callback_focus_in_set) (Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
NULL, //void (*fn_callback_focus_out_set) (Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
@@ -54,12 +64,12 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
NULL, //void (*fn_callback_post_render_set) (Ecore_Evas *ee, 
Ecore_Evas_Event_Cb func);
NULL, //void (*fn_move) (Ecore_Evas *ee, int x, int y);
NULL, //void (*fn_managed_move) (Ecore_Evas *ee, int x, int y);
-   NULL, //void (*fn_resize) (Ecore_Evas *ee, int w, int h);
+   _ecore_evas_drm_resize,
NULL, //void (*fn_move_resize) (Ecore_Evas *ee, int x, int y, int w, int h);
NULL, //void (*fn_rotation_set) (Ecore_Evas *ee, int rot, int resize);
NULL, //void (*fn_shaped_set) (Ecore_Evas *ee, int shaped);
-   NULL, //void (*fn_show) (Ecore_Evas *ee);
-   NULL, //void (*fn_hide) (Ecore_Evas *ee);
+   _ecore_evas_drm_show,
+   _ecore_evas_drm_hide,
NULL, //void (*fn_raise) (Ecore_Evas *ee);
NULL, //void (*fn_lower) (Ecore_Evas *ee);
NULL, //void (*fn_activate) (Ecore_Evas *ee);
@@ -93,7 +103,8 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
NULL, //void (*fn_demands_attention_set) (Ecore_Evas *ee, Eina_Bool on);
NULL, //void (*fn_focus_skip_set) (Ecore_Evas *ee, Eina_Bool on);

-   NULL, //int (*fn_render) (Ecore_Evas *ee);
+   _ecore_evas_drm_render,
+
NULL, //void (*fn_screen_geometry_get) (const Ecore_Evas *ee, int *x, int 
*y, int *w, int *h);
NULL, //void (*fn_screen_dpi_get) (const Ecore_Evas *ee, int *xdpi, int 
*ydpi);
NULL, //void (*fn_msg_parent_send) (Ecore_Evas *ee, int maj, int min, void 
*data, int size);
@@ -114,6 +125,8 @@ EAPI Ecore_Evas *
 ecore_evas_drm_new_internal(const char *device, unsigned int parent, int x, 
int y, int w, int h)
 {
Ecore_Evas *ee;
+   Evas_Engine_Info_Drm *einfo;
+   Ecore_Evas_Interface_Drm *iface;
int method;
 
/* try to find the evas drm engine */
@@ -123,41 +136,329 @@ ecore_evas_drm_new_internal(const char *device, unsigned 
int parent, int x, int
 return NULL;
  }
 
+   /* try to init drm */
+   if (_ecore_evas_drm_init() < 1) return NULL;
+
/* try to allocate space for new ecore_evas */
if (!(ee = calloc(1, sizeof(Ecore_Evas
  {
 ERR("Failed to allocate space for new Ecore_Evas");
-  

[EGIT] [core/efl] master 12/15: ecore-drm: Add private window field to drm device structure

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=5ffa7cd23f4e1bd369dcffbecc2110bd07881c87

commit 5ffa7cd23f4e1bd369dcffbecc2110bd07881c87
Author: Chris Michael 
Date:   Mon Mar 10 12:35:50 2014 +

ecore-drm: Add private window field to drm device structure

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index e35edca..bbb2ec8 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -269,6 +269,8 @@ struct _Ecore_Drm_Device
 
struct xkb_context *xkb_ctx;
 
+   void *window;
+
 /* #ifdef HAVE_GBM */
 /*struct gbm_device *gbm; */
 /*struct */

-- 




[EGIT] [core/efl] master 03/15: ecore-drm: Add dependency on xkbcommon

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2d3cb24e4df6b9355f92dc03a2f44798b8f69807

commit 2d3cb24e4df6b9355f92dc03a2f44798b8f69807
Author: Chris Michael 
Date:   Mon Mar 10 08:30:21 2014 +

ecore-drm: Add dependency on xkbcommon

@feature: Add xkbcommon as a dependency for ecore_drm so we can
process input keys

In order for keyboard input to work for ecore_evas_drm, we will need
to translate keypress events into meaningful key names, so require
xkbcommon to deal with the translation.

Signed-off-by: Chris Michael 
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index d2a726f..0d7e464 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2618,7 +2618,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
 
-EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4])
+EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 
0.3.0])
 
 EFL_EVAL_PKGS([ECORE_DRM])
 

-- 




[EGIT] [core/efl] master 11/15: evas-drm: Remove private framebuffer

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c4fb746e0c64816f8bd568f64fed85b87ba81903

commit c4fb746e0c64816f8bd568f64fed85b87ba81903
Author: Chris Michael 
Date:   Mon Mar 10 10:51:48 2014 +

evas-drm: Remove private framebuffer

We don't need to store the framebuffer of the Outbuf as it's only used
once to set resolution.

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/drm/evas_drm.c | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/modules/evas/engines/drm/evas_drm.c 
b/src/modules/evas/engines/drm/evas_drm.c
index a19acda..0f63bad 100644
--- a/src/modules/evas/engines/drm/evas_drm.c
+++ b/src/modules/evas/engines/drm/evas_drm.c
@@ -469,6 +469,7 @@ evas_drm_outbuf_setup(Outbuf *ob)
drmModePlaneResPtr pres;
int i = 0;
uint64_t dumb;
+   unsigned int fb;
 
/* check for valid Output buffer */
if ((!ob) || (ob->priv.fd < 0)) return EINA_FALSE;
@@ -537,8 +538,8 @@ evas_drm_outbuf_setup(Outbuf *ob)
 /* record the crtc id */
 ob->priv.crtc = crtc;
 
-/* record the current framebuffer */
-ob->priv.fb = _evas_drm_crtc_buffer_get(ob->priv.fd, crtc);
+/* get the current framebuffer */
+fb = _evas_drm_crtc_buffer_get(ob->priv.fd, crtc);
 
 /* spew out connector properties for testing */
 /* drmModePropertyPtr props; */
@@ -575,7 +576,7 @@ evas_drm_outbuf_setup(Outbuf *ob)
 (ob->priv.mode.vdisplay != conn->modes[0].vdisplay))
   {
  /* set new crtc mode */
- drmModeSetCrtc(ob->priv.fd, ob->priv.crtc, ob->priv.fb, 0, 0, 
+ drmModeSetCrtc(ob->priv.fd, ob->priv.crtc, fb, 0, 0, 
 &ob->priv.conn, 1, &ob->priv.mode);
   }
 

-- 




[EGIT] [core/efl] master 13/15: ecore-drm: Add API function to set the window we should send events too.

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=42ed6173021b65a7213b9e4a6ed3759414d1045e

commit 42ed6173021b65a7213b9e4a6ed3759414d1045e
Author: Chris Michael 
Date:   Mon Mar 10 12:36:21 2014 +

ecore-drm: Add API function to set the window we should send events
too.

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/Ecore_Drm.h|  1 +
 src/lib/ecore_drm/ecore_drm_device.c | 14 ++
 2 files changed, 15 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index d776097..fdf41b4 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -142,6 +142,7 @@ EAPI Eina_Bool ecore_drm_device_master_get(Ecore_Drm_Device 
*dev);
 EAPI Eina_Bool ecore_drm_device_master_set(Ecore_Drm_Device *dev);
 EAPI Eina_Bool ecore_drm_device_master_drop(Ecore_Drm_Device *dev);
 EAPI int ecore_drm_device_fd_get(Ecore_Drm_Device *dev);
+EAPI void ecore_drm_device_window_set(Ecore_Drm_Device *dev, void *window);
 
 EAPI Eina_Bool ecore_drm_tty_open(Ecore_Drm_Device *dev, const char *name);
 EAPI Eina_Bool ecore_drm_tty_close(Ecore_Drm_Device *dev);
diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index f1ab021..0f7efdf 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -592,3 +592,17 @@ ecore_drm_device_fd_get(Ecore_Drm_Device *dev)
if (!dev) return -1;
return dev->drm.fd;
 }
+
+/**
+ * TODO: Doxy
+ * 
+ * @since 1.10
+ */
+EAPI void 
+ecore_drm_device_window_set(Ecore_Drm_Device *dev, void *window)
+{
+   /* check for valid device */
+   if ((!dev) || (dev->drm.fd < 0)) return;
+
+   dev->window = window;
+}

-- 




[EGIT] [core/efl] master 06/15: ecore-drm: Add xkb fields to Evdev structure

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0b1cc3a17c99e5ca5929ecb6ff214a76536f0c7c

commit 0b1cc3a17c99e5ca5929ecb6ff214a76536f0c7c
Author: Chris Michael 
Date:   Mon Mar 10 09:56:00 2014 +

ecore-drm: Add xkb fields to Evdev structure

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index 7f210cd..e35edca 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -185,6 +185,21 @@ struct _Ecore_Drm_Evdev
 int x, y;
  } abs;
 
+   struct 
+ {
+struct xkb_keymap *keymap;
+struct xkb_state *state;
+xkb_mod_mask_t ctrl_mask;
+xkb_mod_mask_t alt_mask;
+xkb_mod_mask_t shift_mask;
+xkb_mod_mask_t win_mask;
+xkb_mod_mask_t scroll_mask;
+xkb_mod_mask_t num_mask;
+xkb_mod_mask_t caps_mask;
+xkb_mod_mask_t altgr_mask;
+unsigned int modifiers;
+ } xkb;
+
Ecore_Drm_Evdev_Event_Type pending_event;
Ecore_Drm_Evdev_Capabilities caps;
Ecore_Drm_Seat_Capabilities seat_caps;

-- 




[EGIT] [core/efl] master 02/02: Eolian/Generator: support NULL pointers for return values.

2014-03-10 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d96c42917910ae12ca46a87b5e6c538502aa4a0d

commit d96c42917910ae12ca46a87b5e6c538502aa4a0d
Author: Daniel Zaoui 
Date:   Mon Mar 10 13:19:24 2014 +0200

Eolian/Generator: support NULL pointers for return values.

When an Eo operation returns a value, this one is stored in the last
parameter as an out parameter.
In case the caller doesn't set a pointer there, the storing will be done
in a NULL pointer and will bring to a segfault.

The generator has been modified to handle this case. Now, if the ret
pointer is NULL, the value will not be returned.
---
 src/bin/eolian/eo1_generator.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c
index f0075b6..3853a72 100644
--- a/src/bin/eolian/eo1_generator.c
+++ b/src/bin/eolian/eo1_generator.c
@@ -117,6 +117,7 @@ _eo_obj_@#class_@#func(Eo *obj, void *_pd, va_list 
*list@#list_unused)\n\
 {\n\
 @#list_vars\
@#ret_param_@#class_@#func(obj, _pd@#list_params);\n\
+@#return_ret\
 }\n\
 ";
 
@@ -428,16 +429,19 @@ eo1_bind_func_generate(const char *classname, 
Eolian_Function funcid, Eolian_Fun
   ret_const?"const ":"",
   rettype, had_star?"":" ");
 Eina_Strbuf *ret_param = eina_strbuf_new();
-eina_strbuf_append_printf(ret_param, "*%s = ", retname);
+if (rettype) eina_strbuf_append_printf(ret_param, "%s _%s = ", 
rettype, retname);
 eina_strbuf_replace_all(fbody, "@#ret_param", 
eina_strbuf_string_get(ret_param));
 sprintf(tmpstr, "%s%s", ret_const?"const ":"", rettype);
 eina_strbuf_replace_all(fbody, "@#ret_type", tmpstr);
+sprintf(tmpstr, "   if (%s) *%s = _%s;\n", retname, retname, retname);
+eina_strbuf_replace_all(fbody, "@#return_ret", tmpstr);
 eina_strbuf_free(ret_param);
  }
else
  {
 eina_strbuf_replace_all(fbody, "@#ret_param", "");
 eina_strbuf_replace_all(fbody, "@#ret_type", "void");
+eina_strbuf_replace_all(fbody, "@#return_ret", "");
  }
 
if (eina_list_count(eolian_parameters_list_get(funcid)) == 0 &&

-- 




[EGIT] [core/efl] master 01/01: edje - allow lager clipper space.

2014-03-10 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=514cd15ccc7092fa547902c24de81dd4bf9a6f1c

commit 514cd15ccc7092fa547902c24de81dd4bf9a6f1c
Author: ChunEon Park 
Date:   Mon Mar 10 22:22:42 2014 +0900

edje - allow lager clipper space.

In acutal case, some application encounted that a proxy object is larger 
than a source clipper size.
So the proxy is clipped by the edje clipper.
We don't have to limit the clipper size to 1x1

@fix
---
 src/lib/edje/edje_smart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 3c204d5..b14ba16 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -89,8 +89,8 @@ _edje_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_object_static_clip_set(ed->base->clipper, 1);
evas_object_smart_member_add(ed->base->clipper, obj);
evas_object_color_set(ed->base->clipper, 255, 255, 255, 255);
-   evas_object_move(ed->base->clipper, -1, -1);
-   evas_object_resize(ed->base->clipper, 2, 2);
+   evas_object_move(ed->base->clipper, -10, -10);
+   evas_object_resize(ed->base->clipper, 20, 20);
evas_object_pass_events_set(ed->base->clipper, 1);
ed->is_rtl = EINA_FALSE;
ed->have_objects = EINA_TRUE;

-- 




[EGIT] [core/efl] efl-1.9 01/01: edje - allow lager clipper space.

2014-03-10 Thread ChunEon Park
hermet pushed a commit to branch efl-1.9.

http://git.enlightenment.org/core/efl.git/commit/?id=820ff24337bbc71b016738d1bc6c4c8785f713ed

commit 820ff24337bbc71b016738d1bc6c4c8785f713ed
Author: ChunEon Park 
Date:   Mon Mar 10 22:22:42 2014 +0900

edje - allow lager clipper space.

In acutal case, some application encounted that a proxy object is larger 
than a source clipper size.
So the proxy is clipped by the edje clipper.
We don't have to limit the clipper size to 1x1

@fix
---
 src/lib/edje/edje_smart.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/edje/edje_smart.c b/src/lib/edje/edje_smart.c
index 3c204d5..b14ba16 100644
--- a/src/lib/edje/edje_smart.c
+++ b/src/lib/edje/edje_smart.c
@@ -89,8 +89,8 @@ _edje_smart_add(Eo *obj, void *_pd, va_list *list EINA_UNUSED)
evas_object_static_clip_set(ed->base->clipper, 1);
evas_object_smart_member_add(ed->base->clipper, obj);
evas_object_color_set(ed->base->clipper, 255, 255, 255, 255);
-   evas_object_move(ed->base->clipper, -1, -1);
-   evas_object_resize(ed->base->clipper, 2, 2);
+   evas_object_move(ed->base->clipper, -10, -10);
+   evas_object_resize(ed->base->clipper, 20, 20);
evas_object_pass_events_set(ed->base->clipper, 1);
ed->is_rtl = EINA_FALSE;
ed->have_objects = EINA_TRUE;

-- 




[EGIT] [core/efl] master 02/02: ecore-drm: Add code to handle modifiers in a key event

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f667f70db9a0dc051eb182d918076dd533352b13

commit f667f70db9a0dc051eb182d918076dd533352b13
Author: Chris Michael 
Date:   Mon Mar 10 13:32:20 2014 +

ecore-drm: Add code to handle modifiers in a key event

@feature: Add handling of modifiers in a drm key event

This adds code to deal with modifiers being pressed/released during a
key event and pass those along to the ecore_event structure

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 38 +
 1 file changed, 38 insertions(+)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 2a85e8a..1902252 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -247,6 +247,40 @@ _device_keysym_translate(xkb_keysym_t keysym, unsigned int 
modifiers, char *buff
 }
 
 static void 
+_device_modifiers_update(Ecore_Drm_Evdev *edev)
+{
+   xkb_mod_mask_t mask;
+
+   edev->xkb.depressed = 
+ xkb_state_serialize_mods(edev->xkb.state, XKB_STATE_DEPRESSED);
+   edev->xkb.latched = 
+ xkb_state_serialize_mods(edev->xkb.state, XKB_STATE_LATCHED);
+   edev->xkb.locked = 
+ xkb_state_serialize_mods(edev->xkb.state, XKB_STATE_LOCKED);
+   edev->xkb.group = 
+ xkb_state_serialize_mods(edev->xkb.state, XKB_STATE_EFFECTIVE);
+
+   mask = (edev->xkb.depressed | edev->xkb.latched);
+
+   if (mask & edev->xkb.ctrl_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_MODIFIER_CTRL;
+   if (mask & edev->xkb.alt_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_MODIFIER_ALT;
+   if (mask & edev->xkb.shift_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_MODIFIER_SHIFT;
+   if (mask & edev->xkb.win_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_MODIFIER_WIN;
+   if (mask & edev->xkb.scroll_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_LOCK_SCROLL;
+   if (mask & edev->xkb.num_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_LOCK_NUM;
+   if (mask & edev->xkb.caps_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_LOCK_CAPS;
+   if (mask & edev->xkb.altgr_mask)
+ edev->xkb.modifiers |= ECORE_EVENT_MODIFIER_ALTGR;
+}
+
+static void 
 _device_notify_key(Ecore_Drm_Evdev *dev, struct input_event *event, unsigned 
int timestamp)
 {
unsigned int code, nsyms;
@@ -267,6 +301,9 @@ _device_notify_key(Ecore_Drm_Evdev *dev, struct input_event 
*event, unsigned int
/* xkb rules reflect X broken keycodes, so offset by 8 */
code = event->code + 8;
 
+   xkb_state_update_key(dev->xkb.state, code, 
+(event->value ? XKB_KEY_DOWN : XKB_KEY_UP));
+
/* get the keysym for this code */
nsyms = xkb_key_get_syms(dev->xkb.state, code, &syms);
if (nsyms == 1) sym = syms[0];
@@ -313,6 +350,7 @@ _device_notify_key(Ecore_Drm_Evdev *dev, struct input_event 
*event, unsigned int
e->timestamp = timestamp;
/* e->same_screen = 1; */
 
+   _device_modifiers_update(dev);
e->modifiers = dev->xkb.modifiers;
 
if (event->value)

-- 




[EGIT] [core/efl] master 01/02: ecore-drm: Add private xkb fields for depressed, latched, locked, and group

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=71e3e63dfdce1dda870ba4904adb0d56b75d28e4

commit 71e3e63dfdce1dda870ba4904adb0d56b75d28e4
Author: Chris Michael 
Date:   Mon Mar 10 13:31:18 2014 +

ecore-drm: Add private xkb fields for depressed, latched, locked, and
group

This adds fields to the xkb structure for storing when modifiers are
pressed, released, etc so we can handle those in key events.

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_private.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/ecore_drm/ecore_drm_private.h 
b/src/lib/ecore_drm/ecore_drm_private.h
index bbb2ec8..b0fa1c9 100644
--- a/src/lib/ecore_drm/ecore_drm_private.h
+++ b/src/lib/ecore_drm/ecore_drm_private.h
@@ -198,6 +198,7 @@ struct _Ecore_Drm_Evdev
 xkb_mod_mask_t caps_mask;
 xkb_mod_mask_t altgr_mask;
 unsigned int modifiers;
+unsigned int depressed, latched, locked, group;
  } xkb;
 
Ecore_Drm_Evdev_Event_Type pending_event;

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: Remove FIXME comment

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c0894f4810f8cb16902802aee902de92e89bee6c

commit c0894f4810f8cb16902802aee902de92e89bee6c
Author: Chris Michael 
Date:   Mon Mar 10 13:38:01 2014 +

ecore-drm: Remove FIXME comment

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 1902252..1c0a3da 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -292,8 +292,6 @@ _device_notify_key(Ecore_Drm_Evdev *dev, struct input_event 
*event, unsigned int
 
if (!(input = dev->seat->input)) return;
 
-   /* FIXME: This will probably need to handle modifiers also */
-
/* DBG("Key Event"); */
/* DBG("\tCode: %d", event->code); */
/* DBG("\tValue: %d", event->value); */

-- 




[EGIT] [core/efl] master 01/02: ecore-drm: Reset modifiers to zero before updating them on keypress

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ee5caf9016b4ee86c765b7d65e51db60ebf6d28a

commit ee5caf9016b4ee86c765b7d65e51db60ebf6d28a
Author: Chris Michael 
Date:   Mon Mar 10 13:44:29 2014 +

ecore-drm: Reset modifiers to zero before updating them on keypress

Signed-off-by: Chris Michael 
---
 src/lib/ecore_drm/ecore_drm_evdev.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index 1c0a3da..4c52104 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -42,9 +42,6 @@ _device_keyboard_setup(Ecore_Drm_Evdev *edev)
 return;
  }
 
-   /* FIXME: setup modifiers ? */
-   edev->xkb.modifiers = 0;
-
edev->xkb.ctrl_mask = 
  1 << xkb_map_mod_get_index(edev->xkb.keymap, XKB_MOD_NAME_CTRL);
edev->xkb.alt_mask = 
@@ -251,6 +248,8 @@ _device_modifiers_update(Ecore_Drm_Evdev *edev)
 {
xkb_mod_mask_t mask;
 
+   edev->xkb.modifiers = 0;
+
edev->xkb.depressed = 
  xkb_state_serialize_mods(edev->xkb.state, XKB_STATE_DEPRESSED);
edev->xkb.latched = 

-- 




[EGIT] [core/efl] master 02/02: ecore-evas-wayland: Remove unused function & declaration

2014-03-10 Thread Christopher Michael
devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=7fe34af84b471ae59f171ba8587ab057c9e163b8

commit 7fe34af84b471ae59f171ba8587ab057c9e163b8
Author: Chris Michael 
Date:   Mon Mar 10 13:58:20 2014 +

ecore-evas-wayland: Remove unused function & declaration

Remove unused function and it's declaration. This function is not
being called from anywhere anymore, so it's no longer needed.

Signed-off-by: Chris Michael 
---
 .../engines/wayland/ecore_evas_wayland_common.c   | 19 ---
 1 file changed, 19 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 90223f8..dd0edd7 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -36,7 +36,6 @@ EVAS_SMART_SUBCLASS_NEW(_smart_frame_type, 
_ecore_evas_wl_frame,
 static int _ecore_evas_wl_init_count = 0;
 static Ecore_Event_Handler *_ecore_evas_wl_event_hdls[5];
 
-static void _ecore_evas_wayland_resize_edge_set(Ecore_Evas *ee, int edge);
 static void _ecore_evas_wayland_resize(Ecore_Evas *ee, int location);
 
 /* local function prototypes */
@@ -1521,24 +1520,6 @@ _ecore_evas_wl_common_screen_dpi_get(const Ecore_Evas 
*ee EINA_UNUSED, int *xdpi
if (ydpi) *ydpi = dpi;
 }
 
-static void 
-_ecore_evas_wayland_resize_edge_set(Ecore_Evas *ee, int edge)
-{
-   if (!ee) return;
-   if (!strcmp(ee->driver, "wayland_shm"))
- {
-#ifdef BUILD_ECORE_EVAS_WAYLAND_SHM
-_ecore_evas_wayland_shm_resize_edge_set(ee, edge);
-#endif
- }
-   else if (!strcmp(ee->driver, "wayland_egl"))
- {
-#ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
-_ecore_evas_wayland_egl_resize_edge_set(ee, edge);
-#endif
- }
-}
-
 static void
 _ecore_evas_wayland_resize(Ecore_Evas *ee, int location)
 {

-- 




[EGIT] [core/elementary] master 01/01: config - don't allocate memory that will be never read.

2014-03-10 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=7db940ce4108f318a2592be93a0ea8aabc7ffda0

commit 7db940ce4108f318a2592be93a0ea8aabc7ffda0
Author: ChunEon Park 
Date:   Mon Mar 10 23:18:29 2014 +0900

config - don't allocate memory that will be never read.

CID: c3b272 d9802b, c0c72f
---
 src/bin/config.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index eaf4768..830aa56 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -2522,7 +2522,6 @@ _profiles_list_selected_cb(void*data,
 else prof_name = cur_profile;
  }
 #endif
-   prof_name = cur_profile;
 
if (!pdir)
  elm_object_disabled_set(evas_object_data_get(obj, "prof_reset_btn"),
@@ -2582,7 +2581,6 @@ _profiles_list_fill(Evas_Object *l_widget,
 
 pdir = elm_config_profile_dir_get(profile, EINA_TRUE);
 if (!pdir) pdir = elm_config_profile_dir_get(profile, EINA_FALSE);
-label = profile;
 
 #ifdef ELM_EFREET
 snprintf(buf, sizeof(buf), "%s/profile.desktop", pdir);

-- 




[EGIT] [core/elementary] master 01/01: actionslider: Fixed mouse movement issue.

2014-03-10 Thread prashant
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=1458428e55f1260289de1f96d6218a155846cc36

commit 1458428e55f1260289de1f96d6218a155846cc36
Author: prashant 
Date:   Mon Mar 10 23:24:37 2014 +0900

actionslider: Fixed mouse movement issue.

@fix

Summary:
The name of the signal in edc (elm,right,mouse,down) was
 different from c (elm.right,mouse,down). After changed
 the signal name, mouse event is working as expected.

Test Plan: elementary_test -to actionslider (click right left & center by 
mouse)

Reviewers: seoz, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D618
---
 data/themes/edc/elm/actionslider.edc |  6 +++---
 src/lib/elm_actionslider.c   | 10 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/data/themes/edc/elm/actionslider.edc 
b/data/themes/edc/elm/actionslider.edc
index 613dd92..75d6ad9 100644
--- a/data/themes/edc/elm/actionslider.edc
+++ b/data/themes/edc/elm/actionslider.edc
@@ -231,15 +231,15 @@ group { name: "elm/actionslider/base/default";
   }
   program {
  signal: "mouse,down,1*"; source: "elm.text.right";
- action: SIGNAL_EMIT "elm,right,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,right" "elm";
   }
  program {
  signal: "mouse,down,1*"; source: "elm.text.left";
- action: SIGNAL_EMIT "elm,left,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,left" "elm";
   }
  program {
  signal: "mouse,down,1*"; source: "elm.text.center";
- action: SIGNAL_EMIT "elm,center,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,center" "elm";
   }
   program {
  signal: "elm,state,disabled"; source: "elm";
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
index 55d2e62..6cc92cc 100644
--- a/src/lib/elm_actionslider.c
+++ b/src/lib/elm_actionslider.c
@@ -361,7 +361,7 @@ _track_move_cb(void *data,
ELM_ACTIONSLIDER_DATA_GET(obj, sd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
-   if (!strcmp(emission, "elm.right,mouse,down"))
+   if (!strcmp(emission, "elm,action,down,right"))
  {
 if (sd->final_position == 0.0)
   {
@@ -383,7 +383,7 @@ _track_move_cb(void *data,
  sd->final_position = 1.0;
   }
  }
-   else if (!strcmp(emission, "elm.center,mouse,down"))
+   else if (!strcmp(emission, "elm,action,down,center"))
  {
 if (sd->enabled_position & ELM_ACTIONSLIDER_CENTER)
   {
@@ -485,13 +485,13 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
  (wd->resize_obj, "elm.drag_button,mouse,move", "*",
  _drag_button_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,right,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,right", "*",
  _track_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,left,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,left", "*",
  _track_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,center,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,center", "*",
  _track_move_cb, obj);
 
if (!elm_layout_theme_set

-- 




Re: [E-devel] [EGIT] [core/elementary] master 01/01: actionslider: Fixed mouse movement issue.

2014-03-10 Thread Daniel Juyung Seo
For those who have concern about this commit,
Even thought this patch looks like a theme API break, I accepted this patch
because it was not working anyway and the signal name convention was wrong.
I see no problem with this change.

Thanks.

Daniel Juyung Seo (SeoZ)


On Mon, Mar 10, 2014 at 11:34 PM, prashant  wrote:

> seoz pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/elementary.git/commit/?id=1458428e55f1260289de1f96d6218a155846cc36
>
> commit 1458428e55f1260289de1f96d6218a155846cc36
> Author: prashant 
> Date:   Mon Mar 10 23:24:37 2014 +0900
>
> actionslider: Fixed mouse movement issue.
>
> @fix
>
> Summary:
> The name of the signal in edc (elm,right,mouse,down) was
>  different from c (elm.right,mouse,down). After changed
>  the signal name, mouse event is working as expected.
>
> Test Plan: elementary_test -to actionslider (click right left & center
> by mouse)
>
> Reviewers: seoz, singh.amitesh
>
> Differential Revision: https://phab.enlightenment.org/D618
> ---
>  data/themes/edc/elm/actionslider.edc |  6 +++---
>  src/lib/elm_actionslider.c   | 10 +-
>  2 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/data/themes/edc/elm/actionslider.edc
> b/data/themes/edc/elm/actionslider.edc
> index 613dd92..75d6ad9 100644
> --- a/data/themes/edc/elm/actionslider.edc
> +++ b/data/themes/edc/elm/actionslider.edc
> @@ -231,15 +231,15 @@ group { name: "elm/actionslider/base/default";
>}
>program {
>   signal: "mouse,down,1*"; source: "elm.text.right";
> - action: SIGNAL_EMIT "elm,right,mouse,down" "elm";
> + action: SIGNAL_EMIT "elm,action,down,right" "elm";
>}
>   program {
>   signal: "mouse,down,1*"; source: "elm.text.left";
> - action: SIGNAL_EMIT "elm,left,mouse,down" "elm";
> + action: SIGNAL_EMIT "elm,action,down,left" "elm";
>}
>   program {
>   signal: "mouse,down,1*"; source: "elm.text.center";
> - action: SIGNAL_EMIT "elm,center,mouse,down" "elm";
> + action: SIGNAL_EMIT "elm,action,down,center" "elm";
>}
>program {
>   signal: "elm,state,disabled"; source: "elm";
> diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
> index 55d2e62..6cc92cc 100644
> --- a/src/lib/elm_actionslider.c
> +++ b/src/lib/elm_actionslider.c
> @@ -361,7 +361,7 @@ _track_move_cb(void *data,
> ELM_ACTIONSLIDER_DATA_GET(obj, sd);
> ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
>
> -   if (!strcmp(emission, "elm.right,mouse,down"))
> +   if (!strcmp(emission, "elm,action,down,right"))
>   {
>  if (sd->final_position == 0.0)
>{
> @@ -383,7 +383,7 @@ _track_move_cb(void *data,
>   sd->final_position = 1.0;
>}
>   }
> -   else if (!strcmp(emission, "elm.center,mouse,down"))
> +   else if (!strcmp(emission, "elm,action,down,center"))
>   {
>  if (sd->enabled_position & ELM_ACTIONSLIDER_CENTER)
>{
> @@ -485,13 +485,13 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd,
> va_list *list EINA_UNUSED)
>   (wd->resize_obj, "elm.drag_button,mouse,move", "*",
>   _drag_button_move_cb, obj);
> edje_object_signal_callback_add
> - (wd->resize_obj, "elm,right,mouse,down", "*",
> + (wd->resize_obj, "elm,action,down,right", "*",
>   _track_move_cb, obj);
> edje_object_signal_callback_add
> - (wd->resize_obj, "elm,left,mouse,down", "*",
> + (wd->resize_obj, "elm,action,down,left", "*",
>   _track_move_cb, obj);
> edje_object_signal_callback_add
> - (wd->resize_obj, "elm,center,mouse,down", "*",
> + (wd->resize_obj, "elm,action,down,center", "*",
>   _track_move_cb, obj);
>
> if (!elm_layout_theme_set
>
> --
>
>
>
--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: Evas textblock: Fix clipping issues with some texts with width > advance.

2014-03-10 Thread Tom Hacohen
Spank! You forgot to put @fix.

:(

--
Tom.

On 10/03/14 14:58, Tom Hacohen wrote:
> tasn pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=d175b8aa69c31fc155f05269350f6703e81886b7
>
> commit d175b8aa69c31fc155f05269350f6703e81886b7
> Author: Tom Hacohen 
> Date:   Thu Feb 27 10:39:52 2014 +
>
>  Evas textblock: Fix clipping issues with some texts with width > advance.
>
>  This happens with many texts. The issue occurs when the width of the
>  last char is larger than it's advance. Before this patch, we didn't the
>  width into account when calculating width, thus causing clipping issues
>  in some cases.
> ---
>   src/lib/evas/canvas/evas_object_textblock.c | 12 +---
>   src/lib/evas/common/evas_font_query.c   |  6 --
>   src/tests/evas/evas_test_textblock.c| 15 +--
>   3 files changed, 22 insertions(+), 11 deletions(-)
>
> diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
> b/src/lib/evas/canvas/evas_object_textblock.c
> index 1298a82..4956ac9 100644
> --- a/src/lib/evas/canvas/evas_object_textblock.c
> +++ b/src/lib/evas/canvas/evas_object_textblock.c
> @@ -3350,7 +3350,7 @@ loop_advance:
>   it->x = x;
>   x += it->adv;
>
> -if ((it->x + it->adv) > c->ln->w) c->ln->w = it->x + it->adv;
> +if ((it->w > 0) && ((it->x + it->w) > c->ln->w)) c->ln->w = it->x + 
> it->w;
>}
>
>  c->ln->y = c->y - c->par->y;
> @@ -4595,7 +4595,7 @@ _layout_par(Ctxt *c)
>   /* Check if we need to wrap, i.e the text is bigger than the width,
>  or we already found a wrap point. */
>   if ((c->w >= 0) &&
> -  (((c->x + it->adv) >
> +  (((c->x + it->w) >
>   (c->w - c->o->style_pad.l - c->o->style_pad.r -
>c->marginl - c->marginr)) || (wrap > 0)))
> {
> @@ -10304,7 +10304,7 @@ static void
>   _size_native_calc_line_finalize(const Evas_Object *eo_obj, Eina_List *items,
> Evas_Coord *ascent, Evas_Coord *descent, Evas_Coord *w, 
> Textblock_Position position)
>   {
> -   Evas_Object_Textblock_Item *it;
> +   Evas_Object_Textblock_Item *it, *last_it = NULL;
>  Eina_List *i;
>
>  it = eina_list_data_get(items);
> @@ -10358,7 +10358,13 @@ _size_native_calc_line_finalize(const Evas_Object 
> *eo_obj, Eina_List *items,
>
>   loop_advance:
>   *w += it->adv;
> +
> +if (!last_it || (it->visual_pos > last_it->visual_pos))
> +   last_it = it;
>}
> +
> +   if (last_it)
> +  *w += last_it->w - last_it->adv;
>   }
>
>   /* FIXME: doc */
> diff --git a/src/lib/evas/common/evas_font_query.c 
> b/src/lib/evas/common/evas_font_query.c
> index eebab70..1c219ee 100644
> --- a/src/lib/evas/common/evas_font_query.c
> +++ b/src/lib/evas/common/evas_font_query.c
> @@ -822,7 +822,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font *fn, 
> const Evas_Text_Props *text
> if (gli->index == 0) continue;
> if ((x >= pen_x) &&
>   (((i == 0) && (x <= full_adv)) ||
> - (x <= (full_adv - (gli[-1].pen_after - 
> start_pen &&
> + (x < (full_adv - (gli[-1].pen_after - start_pen)) ||
> + (x <= (pen_x + gli->width &&
>   (y >= -asc) && (y <= desc))
>   {
>   #ifdef OT_SUPPORT
> @@ -848,7 +849,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font *fn, 
> const Evas_Text_Props *text
>if (!EVAS_FONT_WALK_IS_VISIBLE) continue;
>
>if ((x >= EVAS_FONT_WALK_PEN_X) &&
> - (x <= (EVAS_FONT_WALK_PEN_X_AFTER)) &&
> +   ((x < (EVAS_FONT_WALK_PEN_X_AFTER)) ||
> +   (x <= (EVAS_FONT_WALK_PEN_X + _glyph_itr->width))) &&
>(y >= -asc) && (y <= desc))
>  {
> ret = EVAS_FONT_WALK_POS;
> diff --git a/src/tests/evas/evas_test_textblock.c 
> b/src/tests/evas/evas_test_textblock.c
> index dfddefa..7836e2e 100644
> --- a/src/tests/evas/evas_test_textblock.c
> +++ b/src/tests/evas/evas_test_textblock.c
> @@ -484,7 +484,7 @@ START_TEST(evas_textblock_cursor)
>evas_textblock_cursor_pen_geometry_get(cur, &x, &y, &w, &h);
>fail_if(0 != evas_textblock_cursor_line_geometry_get(
> cur, &lx, &ly, &lw, &lh));
> - fail_if((x < lx) || (x + w > lx + lw) ||
> + fail_if((x < lx) ||
>  (y < ly) || (y + h > ly + lh));
>fail_if((lx != plx) || (ly != ply) || (lw != plw) || (lh != 
> plh));
>
> @@ -505,7 +505,7 @@ START_TEST(evas_textblock_cursor)
>evas_textblock_cursor_pen_geometry_get(cur, &x, &y, &w, &h);
>fail_if(1 != evas_textblock_cursor_line_geometry_get(
> cur, &lx, &ly, &lw, &lh));
> - fail_if((x < lx) ||

[EGIT] [core/efl] master 01/01: Evas textblock: Fix clipping issues with some texts with width > advance.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d175b8aa69c31fc155f05269350f6703e81886b7

commit d175b8aa69c31fc155f05269350f6703e81886b7
Author: Tom Hacohen 
Date:   Thu Feb 27 10:39:52 2014 +

Evas textblock: Fix clipping issues with some texts with width > advance.

This happens with many texts. The issue occurs when the width of the
last char is larger than it's advance. Before this patch, we didn't the
width into account when calculating width, thus causing clipping issues
in some cases.
---
 src/lib/evas/canvas/evas_object_textblock.c | 12 +---
 src/lib/evas/common/evas_font_query.c   |  6 --
 src/tests/evas/evas_test_textblock.c| 15 +--
 3 files changed, 22 insertions(+), 11 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 1298a82..4956ac9 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -3350,7 +3350,7 @@ loop_advance:
 it->x = x;
 x += it->adv;
 
-if ((it->x + it->adv) > c->ln->w) c->ln->w = it->x + it->adv;
+if ((it->w > 0) && ((it->x + it->w) > c->ln->w)) c->ln->w = it->x + 
it->w;
  }
 
c->ln->y = c->y - c->par->y;
@@ -4595,7 +4595,7 @@ _layout_par(Ctxt *c)
 /* Check if we need to wrap, i.e the text is bigger than the width,
or we already found a wrap point. */
 if ((c->w >= 0) &&
-  (((c->x + it->adv) >
+  (((c->x + it->w) >
 (c->w - c->o->style_pad.l - c->o->style_pad.r -
  c->marginl - c->marginr)) || (wrap > 0)))
   {
@@ -10304,7 +10304,7 @@ static void
 _size_native_calc_line_finalize(const Evas_Object *eo_obj, Eina_List *items,
   Evas_Coord *ascent, Evas_Coord *descent, Evas_Coord *w, 
Textblock_Position position)
 {
-   Evas_Object_Textblock_Item *it;
+   Evas_Object_Textblock_Item *it, *last_it = NULL;
Eina_List *i;
 
it = eina_list_data_get(items);
@@ -10358,7 +10358,13 @@ _size_native_calc_line_finalize(const Evas_Object 
*eo_obj, Eina_List *items,
 
 loop_advance:
 *w += it->adv;
+
+if (!last_it || (it->visual_pos > last_it->visual_pos))
+   last_it = it;
  }
+
+   if (last_it)
+  *w += last_it->w - last_it->adv;
 }
 
 /* FIXME: doc */
diff --git a/src/lib/evas/common/evas_font_query.c 
b/src/lib/evas/common/evas_font_query.c
index eebab70..1c219ee 100644
--- a/src/lib/evas/common/evas_font_query.c
+++ b/src/lib/evas/common/evas_font_query.c
@@ -822,7 +822,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font *fn, const 
Evas_Text_Props *text
   if (gli->index == 0) continue;
   if ((x >= pen_x) &&
 (((i == 0) && (x <= full_adv)) ||
- (x <= (full_adv - (gli[-1].pen_after - start_pen 
&&
+ (x < (full_adv - (gli[-1].pen_after - start_pen)) ||
+ (x <= (pen_x + gli->width &&
 (y >= -asc) && (y <= desc))
 {
 #ifdef OT_SUPPORT
@@ -848,7 +849,8 @@ evas_common_font_query_last_up_to_pos(RGBA_Font *fn, const 
Evas_Text_Props *text
  if (!EVAS_FONT_WALK_IS_VISIBLE) continue;
 
  if ((x >= EVAS_FONT_WALK_PEN_X) &&
- (x <= (EVAS_FONT_WALK_PEN_X_AFTER)) &&
+   ((x < (EVAS_FONT_WALK_PEN_X_AFTER)) ||
+   (x <= (EVAS_FONT_WALK_PEN_X + _glyph_itr->width))) &&
  (y >= -asc) && (y <= desc))
{
   ret = EVAS_FONT_WALK_POS;
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index dfddefa..7836e2e 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -484,7 +484,7 @@ START_TEST(evas_textblock_cursor)
  evas_textblock_cursor_pen_geometry_get(cur, &x, &y, &w, &h);
  fail_if(0 != evas_textblock_cursor_line_geometry_get(
   cur, &lx, &ly, &lw, &lh));
- fail_if((x < lx) || (x + w > lx + lw) ||
+ fail_if((x < lx) ||
(y < ly) || (y + h > ly + lh));
  fail_if((lx != plx) || (ly != ply) || (lw != plw) || (lh != plh));
 
@@ -505,7 +505,7 @@ START_TEST(evas_textblock_cursor)
  evas_textblock_cursor_pen_geometry_get(cur, &x, &y, &w, &h);
  fail_if(1 != evas_textblock_cursor_line_geometry_get(
   cur, &lx, &ly, &lw, &lh));
- fail_if((x < lx) || (x + w > lx + lw) ||
+ fail_if((x < lx) ||
(y < ly) || (y + h > ly + lh));
  fail_if((lx != plx) || (ly != ply) || (lw != plw) || (lh != plh));
 
@@ -1596,6 +1596,7 @@ START_TEST(evas_textblock_wrapping)
evas_object_resize(tb, bw + 1, bh);
evas_object_textblock_size_formatted_get(tb, &w, &

[EGIT] [core/efl] master 01/01: Eolian: fix for nightly make distcheck.

2014-03-10 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c8dc39c9ae882bbe7314bc9311d20ef4bbe32abe

commit c8dc39c9ae882bbe7314bc9311d20ef4bbe32abe
Author: Daniel Zaoui 
Date:   Mon Mar 10 16:46:45 2014 +0200

Eolian: fix for nightly make distcheck.

Hmm, I forgot to add some .eo files to the EXTRA_DIST so they have not been
added inside the archive.
Eolian couldn't generate C files because of these missing files.
---
 src/Makefile_Eo.am   | 4 
 src/Makefile_Evas.am | 1 +
 2 files changed, 5 insertions(+)

diff --git a/src/Makefile_Eo.am b/src/Makefile_Eo.am
index b0d15bd..0e87e78 100644
--- a/src/Makefile_Eo.am
+++ b/src/Makefile_Eo.am
@@ -19,6 +19,10 @@ lib_eo_libeo_la_LIBADD = @EO_LIBS@
 lib_eo_libeo_la_DEPENDENCIES = @EO_INTERNAL_LIBS@
 lib_eo_libeo_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
 
+EXTRA_DIST += \
+  lib/eo/eo_base.eo \
+  lib/eo/eo_abstract_class.eo
+
 ### Unit tests
 
 if EFL_ENABLE_TESTS
diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index efa9e24..05f6f40 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -16,6 +16,7 @@ BUILT_SOURCES += \
  lib/evas/canvas/evas_textgrid.eo.h
 
 EXTRA_DIST += \
+  lib/evas/canvas/evas_object.eo \
   lib/evas/canvas/evas_line.eo \
   lib/evas/canvas/evas_polygon.eo \
   lib/evas/canvas/evas_rectangle.eo \

-- 




[EGIT] [tools/enventor] master 01/01: editor - now u can delete a current line with Ctrl+D

2014-03-10 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=8dcd605806a996e3145d9ae2a2b6891d1b114a1f

commit 8dcd605806a996e3145d9ae2a2b6891d1b114a1f
Author: ChunEon Park 
Date:   Tue Mar 11 00:01:23 2014 +0900

editor - now u can delete a current line with Ctrl+D
---
 README   |  1 +
 src/bin/edc_editor.c | 32 ++--
 2 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/README b/README
index da55d63..55494e6 100644
--- a/README
+++ b/README
@@ -68,6 +68,7 @@ Ctrl+Double Click = Select a word
 Ctrl+C = Copy Selected Text
 Ctrl+V = Paste Copied Text
 Ctrl+X = Cut Selected Text
+Ctrl+D = Delete a Current line
 Ctrl+F = Find/Replace
 Ctrl+Home = Go to the Top line
 Ctrl+End = Go to the Bottom line
diff --git a/src/bin/edc_editor.c b/src/bin/edc_editor.c
index dac46d8..04e2358 100644
--- a/src/bin/edc_editor.c
+++ b/src/bin/edc_editor.c
@@ -64,6 +64,8 @@ line_decrease(edit_data *ed, int cnt)
elm_entry_calc_force(ed->en_line);
 
ed->line_max -= cnt;
+
+   if (ed->line_max < 0) ed->line_max = 0;
 }
 
 static void
@@ -400,14 +402,14 @@ edit_mouse_down_cb(void *data EINA_UNUSED, Evas *e 
EINA_UNUSED,
 static void
 cur_line_pos_set(edit_data *ed)
 {
-   if (!config_stats_bar_get()) return;
-
Evas_Coord y, h;
elm_entry_cursor_geometry_get(ed->en_edit, NULL, &y, NULL, &h);
int line = (y / h) + 1;
if (line < 0) line = 0;
if (ed->cur_line == line) return;
ed->cur_line = line;
+
+   if (!config_stats_bar_get()) return;
stats_line_num_update(ed->cur_line, ed->line_max);
 }
 
@@ -636,23 +638,41 @@ edit_line_delete(edit_data *ed)
int line1 = ed->cur_line - 1;
int line2 = ed->cur_line;
 
+   //min position case
if (line1 < 0)
  {
-line1++;
-line2++;
+line1 = 0;
+line2 = 1;
+ }
+
+   //Max position case
+   Eina_Bool max = EINA_FALSE;
+   if (line2 >= ed->line_max)
+ {
+line1 = (ed->line_max - 2);
+line2 = (ed->line_max - 1);
+max = EINA_TRUE;
+ }
+
+   //only one line remain. clear it.
+   if (ed->line_max == 1)
+ {
+elm_entry_entry_set(ed->en_edit, "");
+line_decrease(ed, 1);
+return;
  }
 
Evas_Textblock_Cursor *cur1 = evas_object_textblock_cursor_new(textblock);
evas_textblock_cursor_line_set(cur1, line1);
+   if (max) evas_textblock_cursor_line_char_last(cur1);
 
Evas_Textblock_Cursor *cur2 = evas_object_textblock_cursor_new(textblock);
evas_textblock_cursor_line_set(cur2, line2);
+   if (max) evas_textblock_cursor_line_char_last(cur2);
 
evas_textblock_cursor_range_delete(cur1, cur2);
-
evas_textblock_cursor_free(cur1);
evas_textblock_cursor_free(cur2);
-
elm_entry_calc_force(ed->en_edit);
 
line_decrease(ed, 1);

-- 




Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Gustavo Sverzut Barbieri
Cedric,

while I agree with performance concerns, nobody is doing core parts in
C++ (yet), so for the random app user this is negligible performance
hit. Of course C++ mixes nicely with C, so it is still possible to use
the original macros/functions which will execute vfprintf() only if
log level is required.

Felipe, could we make the operator implementations just return if
current log level is not to be used? Like, in the beginning of the
operator we could do:

if (eina_log_domain_registered_level_get(mydom.id) >
EINA_LOG_LEVEL_DBG) return;  // used for mydom.dbg "io";

that way the performance impact is negligible. AFAIR the evaluation is
left->right, thus the following could be grouped as:

mydom.dbg << "hello world" << 0.3456;
   (mydom.dbg << "hello world") << 0.3456;

which usually the operator<<() would return an instance of itself,
then it results in:

   mydom.dbg << "hello world" << 0.3456;
   mydom.dbg << "hello world";  mydom.dbg << 0.3456;

so if operator<<() does the level check (which is very light), then we
get performance and usability.



On Mon, Mar 10, 2014 at 4:19 AM, Cedric BAIL  wrote:
> On Mon, Mar 10, 2014 at 2:47 AM, Gustavo Sverzut Barbieri
>  wrote:
>> On Mon, Mar 10, 2014 at 12:37 AM, Felipe Magno de Almeida
>>  wrote:
>>> cedric pushed a commit to branch master.
>>>
>>> http://git.enlightenment.org/core/efl.git/commit/?id=416376e03c8ac2f5fa990956fbebcada5704c666
>>>
>>> commit 416376e03c8ac2f5fa990956fbebcada5704c666
>>> Author: Felipe Magno de Almeida 
>>> Date:   Mon Mar 10 12:25:20 2014 +0900
>>>
>>> eina-cxx: Added eina_log support for C++, using IOStreams syntax
>>>
>>> Summary:
>>> Added eina_log support for C++ using the following macros:
>>>
>>> For logging into a domain:
>>>
>>> EINA_CXX_DOM_LOG
>>> EINA_CXX_DOM_LOG_CRIT
>>> EINA_CXX_DOM_LOG_ERR
>>> EINA_CXX_DOM_LOG_INFO
>>> EINA_CXX_DOM_LOG_DBG
>>> EINA_CXX_DOM_LOG_WARN
>>>
>>> And for logging into the default domain:
>>>
>>> EINA_CXX_LOG
>>> EINA_CXX_LOG_CRIT
>>> EINA_CXX_LOG_ERR
>>> EINA_CXX_LOG_INFO
>>> EINA_CXX_LOG_DBG
>>> EINA_CXX_LOG_WARN
>>>
>>> The usage is simple as can be seen in the tests:
>>>
>>>   efl::eina::log_domain domain("error_domain_name");
>>>   domain.set_level(efl::eina::log_level::critical);
>>>   EINA_CXX_DOM_LOG_CRIT(domain, "something went wrong with the 
>>> following error: " << error);
>>
>> couldn't this be exposed in a shorter form, similar to:
>>
>> using namespace efl::eina:log;
>>
>> err << "hi there" << 5;
>> mydom.dbg << "hello world" << 0.3456;
>>
>> no idea how to make it able to detect end of line so it issue the
>> actual eina log print call, I always see people doing <> could use the same, at each <> So this would be allowed:
>>
>>err << "hi there" << 5 << endl << "new line" << endl;
>>mydom.dbg << "hello world << 0.345 << endl << "new line" << endl;
>>
>> This would have a nice side effect that is to accumulate the string
>> among different calls, producing a single output that in C would need
>> to use strcat()/sprintf() such as:
>>
>>mydom.dbg << "options:";
>>for (i = 0; i < options.length(); i++) mydom.dbg << " " << options.get(i);
>>mydom.dbg << endl;
>>
>> I'm not sure if you can get caller information in C++ without
>> resorting to CPP. If you can't, then something like this may do:
>>
>>   EINA_LOG(mydom.dbg) << "hello world" << 0.3456 << endl;
>>
>> would expand to something like: mydom.dbg(__FILE__, __LINE__, __FUNCTION__)
>>
>>
>> Anyway I find the current implementation of this patch quite awful :-D
>>
>> EINA_CXX_DOM_LOG_CRIT(domain, "foo 0x" << std::hex << 10);
>> EINA_CXX_LOG_CRIT("foo 0x" << std::hex << 10);
>>
>> versus:
>>
>> EINA_LOG(domain.crit) << "foo 0x" << std::hex << 10 << endl;
>> EINA_LOG(crit) <<  "foo 0x" << std::hex << 10 << endl;
>>
>> (assuming the long version with macro and endl is required)
>
> This solution has a draw back, you will always execute the string
> generation even when not needed. I do think it will impact speed and
> will limit the use case for efl::eina::log.
> --
> Cedric BAIL
>
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn Graph Databa

Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-fb: Fix broken build of efl

2014-03-10 Thread Gustavo Sverzut Barbieri
On Mon, Mar 10, 2014 at 4:22 AM, Christopher Michael
 wrote:
> devilhorns pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>
> commit 8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
> Author: Chris Michael 
> Date:   Mon Mar 10 07:20:26 2014 +
>
> evas-fb: Fix broken build of efl
>
> @bugfix: structure fb_var_screeninfo does not have a colorspace field
> defined in linux/fb.h, so (for now) comment out code which was
> referencing that field. Not sure what the intent was here, but build
> was broken because of this.
>
> Signed-off-by: Chris Michael 
> ---
>  src/modules/evas/engines/fb/evas_fb_main.c | 19 ---
>  1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/src/modules/evas/engines/fb/evas_fb_main.c 
> b/src/modules/evas/engines/fb/evas_fb_main.c
> index b93e440..de6f65a 100644
> --- a/src/modules/evas/engines/fb/evas_fb_main.c
> +++ b/src/modules/evas/engines/fb/evas_fb_main.c
> @@ -242,13 +242,18 @@ fb_var_str_convert(const struct fb_var_screeninfo *fbv)
>
> eina_strbuf_append_printf(buf,
>   ", "
> - "rotate=%u, "
> - "colorspace=%u",
> - fbv->rotate,
> - fbv->colorspace);
> -
> -   if (fbv->colorspace)
> - eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4);
> + "rotate=%u, ",
> + fbv->rotate);
> +
> +   /* eina_strbuf_append_printf(buf, */
> +   /*   ", " */
> +   /*   "rotate=%u, " */
> +   /*   "colorspace=%u", */
> +   /*   fbv->rotate, */
> +   /*   fbv->colorspace); */
> +
> +   /* if (fbv->colorspace) */
> +   /*   eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4); */


while this is only for debug purposes and shouldn't matter much, I
wonder which kernel-headers version do you have. Because it does exit
in ArchLinux 3.13.12, the linux/fb.h header has no marks saying when
it was added.

my bad.


-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread Stefan Schmidt
stefan pushed a commit to branch efl-1.9.

http://git.enlightenment.org/core/efl.git/commit/?id=bd039ce80daac9e7bb83296e00d645c9226c4957

commit bd039ce80daac9e7bb83296e00d645c9226c4957
Author: Stefan Schmidt 
Date:   Mon Mar 10 16:18:01 2014 +0100

release: Update NEWS and bump version for 1.9.1 release
---
 NEWS | 30 +-
 configure.ac |  2 +-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/NEWS b/NEWS
index af440d8..9b1d4b4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,7 +1,35 @@
 =
-EFL 1.9.0
+EFL 1.9.1
 =
 
+Changes since 1.9.0:
+
+
+Additions:
+
+Improvements:
+
+Fixes:
+
+   * edje - allow lager clipper space.
+   * eina_log: Update domain colouring when color_disable_set is called (T1029)
+   * edje/entry: fix to not emit "changed" signal in unnecessary cases of 
password mode.
+   * Edje entry: fix bug preedit text is committed in the next entry when Tab 
key is pressed.
+   * Evas filters: Avoid CRI message when using the GL engine
+   * Evas filters: fix clip to target calculation
+   * Evas filters: fix random cases of 'dancing text'
+   * Evas filters: fix black squares with the GL engine
+   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
+   * examples/evas: Set a proper format string for fprintf
+   * ecore_avahi: fix timeout to be relative from now.
+   * ecore: @fix race condition when using 
ecore_main_loop_thread_safe_call_sync.
+   * edje: Fix CURRENT option works.
+   * evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
+   * Fix Wayland Shm engine destination calculation typo
+
+Removals:
+
+
 Changes since 1.8.0:
 
 
diff --git a/configure.ac b/configure.ac
index 8f4023e..e534af5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-EFL_VERSION([1], [9], [0], [release])
+EFL_VERSION([1], [9], [1], [release])
 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
 
 AC_PREREQ([2.60])

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: evas-fb: Fix broken build of efl

2014-03-10 Thread Chris Michael
On 10/03/14 15:49, Gustavo Sverzut Barbieri wrote:
> On Mon, Mar 10, 2014 at 4:22 AM, Christopher Michael
>  wrote:
>> devilhorns pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>>
>> commit 8a8924ba7988d554a19ec3a2e7eccbf7bfee5c60
>> Author: Chris Michael 
>> Date:   Mon Mar 10 07:20:26 2014 +
>>
>>  evas-fb: Fix broken build of efl
>>
>>  @bugfix: structure fb_var_screeninfo does not have a colorspace field
>>  defined in linux/fb.h, so (for now) comment out code which was
>>  referencing that field. Not sure what the intent was here, but build
>>  was broken because of this.
>>
>>  Signed-off-by: Chris Michael 
>> ---
>>   src/modules/evas/engines/fb/evas_fb_main.c | 19 ---
>>   1 file changed, 12 insertions(+), 7 deletions(-)
>>
>> diff --git a/src/modules/evas/engines/fb/evas_fb_main.c 
>> b/src/modules/evas/engines/fb/evas_fb_main.c
>> index b93e440..de6f65a 100644
>> --- a/src/modules/evas/engines/fb/evas_fb_main.c
>> +++ b/src/modules/evas/engines/fb/evas_fb_main.c
>> @@ -242,13 +242,18 @@ fb_var_str_convert(const struct fb_var_screeninfo *fbv)
>>
>>  eina_strbuf_append_printf(buf,
>>", "
>> - "rotate=%u, "
>> - "colorspace=%u",
>> - fbv->rotate,
>> - fbv->colorspace);
>> -
>> -   if (fbv->colorspace)
>> - eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4);
>> + "rotate=%u, ",
>> + fbv->rotate);
>> +
>> +   /* eina_strbuf_append_printf(buf, */
>> +   /*   ", " */
>> +   /*   "rotate=%u, " */
>> +   /*   "colorspace=%u", */
>> +   /*   fbv->rotate, */
>> +   /*   fbv->colorspace); */
>> +
>> +   /* if (fbv->colorspace) */
>> +   /*   eina_strbuf_append_n(buf, (const char *)&(fbv->colorspace), 4); */
>
>
> while this is only for debug purposes and shouldn't matter much, I
> wonder which kernel-headers version do you have. Because it does exit
> in ArchLinux 3.13.12, the linux/fb.h header has no marks saying when
> it was added.
>
> my bad.
>
>

No worries. I also did not see anything in the header to support 
versioning of this :( Perhaps it is just dependant on kernel version ... 
I'll email tomorrow when at work with some versions for ya.

Cheers,
dh


--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Evas font: Don't add canvas specific path to the global fontconfig path list.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=cb9a06f550fb3e8f497350f88e9e639445db05fd

commit cb9a06f550fb3e8f497350f88e9e639445db05fd
Author: Tom Hacohen 
Date:   Mon Mar 10 16:15:28 2014 +

Evas font: Don't add canvas specific path to the global fontconfig path 
list.

This will come back when D621 gets in (which implements it correctly).
---
 src/lib/evas/canvas/evas_font_dir.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/lib/evas/canvas/evas_font_dir.c 
b/src/lib/evas/canvas/evas_font_dir.c
index 0e67bf8..f8a8a10 100644
--- a/src/lib/evas/canvas/evas_font_dir.c
+++ b/src/lib/evas/canvas/evas_font_dir.c
@@ -1281,11 +1281,6 @@ _canvas_font_path_clear(Eo *eo_e EINA_UNUSED, void *_pd, 
va_list *list EINA_UNUS
eina_stringshare_del(evas->font_path->data);
evas->font_path = eina_list_remove(evas->font_path, 
evas->font_path->data);
  }
-
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontClear(fc_config);
-#endif
 }
 
 EAPI void
@@ -1306,10 +1301,6 @@ _canvas_font_path_append(Eo *eo_e EINA_UNUSED, void 
*_pd, va_list *list)
e->font_path = eina_list_append(e->font_path, eina_stringshare_add(path));
 
evas_font_init();
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
-#endif
 }
 
 EAPI void
@@ -1330,10 +1321,6 @@ _canvas_font_path_prepend(Eo *eo_e EINA_UNUSED, void 
*_pd, va_list *list)
e->font_path = eina_list_prepend(e->font_path, eina_stringshare_add(path));
 
evas_font_init();
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
-#endif
 }
 
 EAPI const Eina_List *

-- 




Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread Gustavo Sverzut Barbieri
sorry, but you did release it with the Eina_Log_Domain struct abi
break that I requested the guy to fix, it wasn't fixed and got
released :-(

move new member color as the last one in the struct, not in the
middle. And this needs fixing in the main branch.

On Mon, Mar 10, 2014 at 12:59 PM, Stefan Schmidt
 wrote:
> stefan pushed a commit to branch efl-1.9.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=bd039ce80daac9e7bb83296e00d645c9226c4957
>
> commit bd039ce80daac9e7bb83296e00d645c9226c4957
> Author: Stefan Schmidt 
> Date:   Mon Mar 10 16:18:01 2014 +0100
>
> release: Update NEWS and bump version for 1.9.1 release
> ---
>  NEWS | 30 +-
>  configure.ac |  2 +-
>  2 files changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index af440d8..9b1d4b4 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -1,7 +1,35 @@
>  =
> -EFL 1.9.0
> +EFL 1.9.1
>  =
>
> +Changes since 1.9.0:
> +
> +
> +Additions:
> +
> +Improvements:
> +
> +Fixes:
> +
> +   * edje - allow lager clipper space.
> +   * eina_log: Update domain colouring when color_disable_set is called 
> (T1029)
> +   * edje/entry: fix to not emit "changed" signal in unnecessary cases of 
> password mode.
> +   * Edje entry: fix bug preedit text is committed in the next entry when 
> Tab key is pressed.
> +   * Evas filters: Avoid CRI message when using the GL engine
> +   * Evas filters: fix clip to target calculation
> +   * Evas filters: fix random cases of 'dancing text'
> +   * Evas filters: fix black squares with the GL engine
> +   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
> +   * examples/evas: Set a proper format string for fprintf
> +   * ecore_avahi: fix timeout to be relative from now.
> +   * ecore: @fix race condition when using 
> ecore_main_loop_thread_safe_call_sync.
> +   * edje: Fix CURRENT option works.
> +   * evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
> +   * Fix Wayland Shm engine destination calculation typo
> +
> +Removals:
> +
> +
>  Changes since 1.8.0:
>  
>
> diff --git a/configure.ac b/configure.ac
> index 8f4023e..e534af5 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -1,4 +1,4 @@
> -EFL_VERSION([1], [9], [0], [release])
> +EFL_VERSION([1], [9], [1], [release])
>  AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
>
>  AC_PREREQ([2.60])
>
> --
>
>



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] efl-1.9 01/01: Evas font: Don't add canvas specific path to the global fontconfig path list.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch efl-1.9.

http://git.enlightenment.org/core/efl.git/commit/?id=b9664c1059aca533c7175055535bc15e320b8ff5

commit b9664c1059aca533c7175055535bc15e320b8ff5
Author: Tom Hacohen 
Date:   Mon Mar 10 16:15:28 2014 +

Evas font: Don't add canvas specific path to the global fontconfig path 
list.

This will come back when D621 gets in (which implements it correctly).
---
 src/lib/evas/canvas/evas_font_dir.c | 13 -
 1 file changed, 13 deletions(-)

diff --git a/src/lib/evas/canvas/evas_font_dir.c 
b/src/lib/evas/canvas/evas_font_dir.c
index 0e67bf8..f8a8a10 100644
--- a/src/lib/evas/canvas/evas_font_dir.c
+++ b/src/lib/evas/canvas/evas_font_dir.c
@@ -1281,11 +1281,6 @@ _canvas_font_path_clear(Eo *eo_e EINA_UNUSED, void *_pd, 
va_list *list EINA_UNUS
eina_stringshare_del(evas->font_path->data);
evas->font_path = eina_list_remove(evas->font_path, 
evas->font_path->data);
  }
-
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontClear(fc_config);
-#endif
 }
 
 EAPI void
@@ -1306,10 +1301,6 @@ _canvas_font_path_append(Eo *eo_e EINA_UNUSED, void 
*_pd, va_list *list)
e->font_path = eina_list_append(e->font_path, eina_stringshare_add(path));
 
evas_font_init();
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
-#endif
 }
 
 EAPI void
@@ -1330,10 +1321,6 @@ _canvas_font_path_prepend(Eo *eo_e EINA_UNUSED, void 
*_pd, va_list *list)
e->font_path = eina_list_prepend(e->font_path, eina_stringshare_add(path));
 
evas_font_init();
-#ifdef HAVE_FONTCONFIG
-   if (fc_config)
-  FcConfigAppFontAddDir(fc_config, (const FcChar8 *) path);
-#endif
 }
 
 EAPI const Eina_List *

-- 




Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread Stefan Schmidt
Hello.

On Mon, 2014-03-10 at 13:20, Gustavo Sverzut Barbieri wrote:
> sorry, but you did release it with the Eina_Log_Domain struct abi
> break that I requested the guy to fix, it wasn't fixed and got
> released :-(

I have good news for you. It was not released. Was still in the
preparation when Tom pointed this mail out to me. Not even testing
tarballs for efl are up.

> move new member color as the last one in the struct, not in the
> middle. And this needs fixing in the main branch.

I will postpone 1.9.1 until this is fixed in master and backported to
the 1.9 branch.

I have seen your complain before put somehow had it in my had that it
was already taken care of. :)

Anyway, not released yet so all is good. Waiting for Andy to fix it up
now. :)

regards
Stefan Schmidt

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] elementary-1.9 01/01: actionslider: Fixed mouse movement issue.

2014-03-10 Thread prashant
seoz pushed a commit to branch elementary-1.9.

http://git.enlightenment.org/core/elementary.git/commit/?id=70970f011dc2ac4a79ce7168324d6fb1bcc4c5cf

commit 70970f011dc2ac4a79ce7168324d6fb1bcc4c5cf
Author: prashant 
Date:   Mon Mar 10 23:24:37 2014 +0900

actionslider: Fixed mouse movement issue.

@fix

Summary:
The name of the signal in edc (elm,right,mouse,down) was
 different from c (elm.right,mouse,down). After changed
 the signal name, mouse event is working as expected.

Test Plan: elementary_test -to actionslider (click right left & center by 
mouse)

Reviewers: seoz, singh.amitesh

Differential Revision: https://phab.enlightenment.org/D618
---
 data/themes/edc/elm/actionslider.edc |  6 +++---
 src/lib/elm_actionslider.c   | 10 +-
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/data/themes/edc/elm/actionslider.edc 
b/data/themes/edc/elm/actionslider.edc
index 613dd92..75d6ad9 100644
--- a/data/themes/edc/elm/actionslider.edc
+++ b/data/themes/edc/elm/actionslider.edc
@@ -231,15 +231,15 @@ group { name: "elm/actionslider/base/default";
   }
   program {
  signal: "mouse,down,1*"; source: "elm.text.right";
- action: SIGNAL_EMIT "elm,right,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,right" "elm";
   }
  program {
  signal: "mouse,down,1*"; source: "elm.text.left";
- action: SIGNAL_EMIT "elm,left,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,left" "elm";
   }
  program {
  signal: "mouse,down,1*"; source: "elm.text.center";
- action: SIGNAL_EMIT "elm,center,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,center" "elm";
   }
   program {
  signal: "elm,state,disabled"; source: "elm";
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
index 55d2e62..6cc92cc 100644
--- a/src/lib/elm_actionslider.c
+++ b/src/lib/elm_actionslider.c
@@ -361,7 +361,7 @@ _track_move_cb(void *data,
ELM_ACTIONSLIDER_DATA_GET(obj, sd);
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
-   if (!strcmp(emission, "elm.right,mouse,down"))
+   if (!strcmp(emission, "elm,action,down,right"))
  {
 if (sd->final_position == 0.0)
   {
@@ -383,7 +383,7 @@ _track_move_cb(void *data,
  sd->final_position = 1.0;
   }
  }
-   else if (!strcmp(emission, "elm.center,mouse,down"))
+   else if (!strcmp(emission, "elm,action,down,center"))
  {
 if (sd->enabled_position & ELM_ACTIONSLIDER_CENTER)
   {
@@ -485,13 +485,13 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
  (wd->resize_obj, "elm.drag_button,mouse,move", "*",
  _drag_button_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,right,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,right", "*",
  _track_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,left,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,left", "*",
  _track_move_cb, obj);
edje_object_signal_callback_add
- (wd->resize_obj, "elm,center,mouse,down", "*",
+ (wd->resize_obj, "elm,action,down,center", "*",
  _track_move_cb, obj);
 
if (!elm_layout_theme_set

-- 




[EGIT] [core/efl] master 01/01: Eina Log: Fixed ABI break introduce by the addition of 'color'.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=c6589ffc1929b920dbbe536c19a137678f1d3ce4

commit c6589ffc1929b920dbbe536c19a137678f1d3ce4
Author: Tom Hacohen 
Date:   Mon Mar 10 16:50:03 2014 +

Eina Log: Fixed ABI break introduce by the addition of 'color'.

ABI break was introduced here 5913ce7ec87beb267d2d02846e5267eae08ef860

Always add new members at the end of public structures.
---
 src/lib/eina/eina_log.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_log.h b/src/lib/eina/eina_log.h
index 70f9b40..c2ac46f 100644
--- a/src/lib/eina/eina_log.h
+++ b/src/lib/eina/eina_log.h
@@ -413,13 +413,15 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain;
 struct _Eina_Log_Domain
 {
int level; /**< Max level to log */
-   const char *color; /**< Color to use when printing in this domain */
const char *domain_str; /**< Formatted string with color to print */
const char *name; /**< Domain name */
size_t  namelen; /**< strlen(name) */
 
/* Private */
Eina_Bool   deleted : 1; /**< Flags deletion of domain, a free slot */
+
+   /* Add new members here. */
+   const char *color; /**< Color to use when printing in this domain */
 };
 
 /**

-- 




[EGIT] [core/efl] efl-1.9 01/01: Eina Log: Fixed ABI break introduce by the addition of 'color'.

2014-03-10 Thread Tom Hacohen
tasn pushed a commit to branch efl-1.9.

http://git.enlightenment.org/core/efl.git/commit/?id=da06a4d3168d977d8cb5f0af7c8111f0e1bd81a1

commit da06a4d3168d977d8cb5f0af7c8111f0e1bd81a1
Author: Tom Hacohen 
Date:   Mon Mar 10 16:50:03 2014 +

Eina Log: Fixed ABI break introduce by the addition of 'color'.

ABI break was introduced here 5913ce7ec87beb267d2d02846e5267eae08ef860

Always add new members at the end of public structures.
---
 src/lib/eina/eina_log.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_log.h b/src/lib/eina/eina_log.h
index bc59d78..4d8f3ef 100644
--- a/src/lib/eina/eina_log.h
+++ b/src/lib/eina/eina_log.h
@@ -413,13 +413,15 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain;
 struct _Eina_Log_Domain
 {
int level; /**< Max level to log */
-   const char *color; /**< Color to use when printing in this domain */
const char *domain_str; /**< Formatted string with color to print */
const char *name; /**< Domain name */
size_t  namelen; /**< strlen(name) */
 
/* Private */
Eina_Bool   deleted : 1; /**< Flags deletion of domain, a free slot */
+
+   /* Add new members here. */
+   const char *color; /**< Color to use when printing in this domain */
 };
 
 /**

-- 




Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread Tom Hacohen
On 10/03/14 16:32, Stefan Schmidt wrote:
> Hello.
>
> On Mon, 2014-03-10 at 13:20, Gustavo Sverzut Barbieri wrote:
>> sorry, but you did release it with the Eina_Log_Domain struct abi
>> break that I requested the guy to fix, it wasn't fixed and got
>> released :-(
>
> I have good news for you. It was not released. Was still in the
> preparation when Tom pointed this mail out to me. Not even testing
> tarballs for efl are up.
>
>> move new member color as the last one in the struct, not in the
>> middle. And this needs fixing in the main branch.
>
> I will postpone 1.9.1 until this is fixed in master and backported to
> the 1.9 branch.
>
> I have seen your complain before put somehow had it in my had that it
> was already taken care of. :)
>
> Anyway, not released yet so all is good. Waiting for Andy to fix it up
> now. :)
>
> regards
> Stefan Schmidt
>
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>


Fixed and backported.

Gustavo: next time you see something like this which is not addressed 
(reply or fix) after a timely manner, just revert.

--
Tom.


--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: eolian: generate eo_lexer.c with ragel if available

2014-03-10 Thread Jérémy Zurcher
jeyzu pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=995eac166a22b61054be0ccc8901db04f49a1ec7

commit 995eac166a22b61054be0ccc8901db04f49a1ec7
Author: Jérémy Zurcher 
Date:   Mon Mar 10 18:14:16 2014 +0100

eolian: generate eo_lexer.c with ragel if available
---
 configure.ac   |  5 +
 src/Makefile_Eolian.am | 13 +
 2 files changed, 18 insertions(+)

diff --git a/configure.ac b/configure.ac
index 0d7e464..0b0dac3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -330,6 +330,11 @@ fi
 
 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
 
+# ragel
+
+AC_CHECK_PROG([have_ragel], [ragel], [yes], [no])
+AM_CONDITIONAL([EFL_HAVE_RAGEL], [test "${have_ragel}" = "yes"])
+
  Checks for libraries
 
 # check unit testing library
diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index 871..6807557 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -42,3 +42,16 @@ bin_eolian_eolian_gen_DEPENDENCIES = 
@USE_EOLIAN_INTERNAL_LIBS@
 include Makefile_Eolian_Helper.am
 
 EXTRA_DIST += lib/eolian/eo_lexer.rl
+
+if EFL_HAVE_RAGEL
+SUFFIXES += .rl
+
+AM_V_RAGEL = $(am__v_RAGEL_@AM_V@)
+am__v_RAGEL_ = $(am__v_RAGEL_@AM_DEFAULT_V@)
+am__v_RAGEL_0 = @echo "  RAGEL   " $@;
+
+.rl.c:
+   $(AM_V_RAGEL) ragel -o $@ $<
+
+lib/eolian/eo_lexer.c: lib/eolian/eo_lexer.rl
+endif

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: eolian: generate eo_lexer.c with ragel if available

2014-03-10 Thread Tom Hacohen
Hey,

The reason why I haven't added it until now, is that we do 
auto-detection any more (i.e you have to enable/disable), and I didn't 
want to pollute the configure script with this option. Not sure which is 
worse.

Anyhow, is
"lib/eolian/eo_lexer.c: lib/eolian/eo_lexer.rl"

Really needed? The whole point of adding the .rl.c rule, is that it's 
done automatically, no?

--
Tom.

On 10/03/14 17:00, Jérémy Zurcher wrote:
> jeyzu pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=995eac166a22b61054be0ccc8901db04f49a1ec7
>
> commit 995eac166a22b61054be0ccc8901db04f49a1ec7
> Author: Jérémy Zurcher 
> Date:   Mon Mar 10 18:14:16 2014 +0100
>
>  eolian: generate eo_lexer.c with ragel if available
> ---
>   configure.ac   |  5 +
>   src/Makefile_Eolian.am | 13 +
>   2 files changed, 18 insertions(+)
>
> diff --git a/configure.ac b/configure.ac
> index 0d7e464..0b0dac3 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -330,6 +330,11 @@ fi
>
>   AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
>
> +# ragel
> +
> +AC_CHECK_PROG([have_ragel], [ragel], [yes], [no])
> +AM_CONDITIONAL([EFL_HAVE_RAGEL], [test "${have_ragel}" = "yes"])
> +
>    Checks for libraries
>
>   # check unit testing library
> diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
> index 871..6807557 100644
> --- a/src/Makefile_Eolian.am
> +++ b/src/Makefile_Eolian.am
> @@ -42,3 +42,16 @@ bin_eolian_eolian_gen_DEPENDENCIES = 
> @USE_EOLIAN_INTERNAL_LIBS@
>   include Makefile_Eolian_Helper.am
>
>   EXTRA_DIST += lib/eolian/eo_lexer.rl
> +
> +if EFL_HAVE_RAGEL
> +SUFFIXES += .rl
> +
> +AM_V_RAGEL = $(am__v_RAGEL_@AM_V@)
> +am__v_RAGEL_ = $(am__v_RAGEL_@AM_DEFAULT_V@)
> +am__v_RAGEL_0 = @echo "  RAGEL   " $@;
> +
> +.rl.c:
> + $(AM_V_RAGEL) ragel -o $@ $<
> +
> +lib/eolian/eo_lexer.c: lib/eolian/eo_lexer.rl
> +endif
>




--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread Davide Andreoli
Also this change broke something
* evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

and still waiting a replay from the author in ML...

Just try elementary_test -to Photo, it segfault on start with that change



2014-03-10 17:20 GMT+01:00 Gustavo Sverzut Barbieri :

> sorry, but you did release it with the Eina_Log_Domain struct abi
> break that I requested the guy to fix, it wasn't fixed and got
> released :-(
>
> move new member color as the last one in the struct, not in the
> middle. And this needs fixing in the main branch.
>
> On Mon, Mar 10, 2014 at 12:59 PM, Stefan Schmidt
>  wrote:
> > stefan pushed a commit to branch efl-1.9.
> >
> >
> http://git.enlightenment.org/core/efl.git/commit/?id=bd039ce80daac9e7bb83296e00d645c9226c4957
> >
> > commit bd039ce80daac9e7bb83296e00d645c9226c4957
> > Author: Stefan Schmidt 
> > Date:   Mon Mar 10 16:18:01 2014 +0100
> >
> > release: Update NEWS and bump version for 1.9.1 release
> > ---
> >  NEWS | 30 +-
> >  configure.ac |  2 +-
> >  2 files changed, 30 insertions(+), 2 deletions(-)
> >
> > diff --git a/NEWS b/NEWS
> > index af440d8..9b1d4b4 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -1,7 +1,35 @@
> >  =
> > -EFL 1.9.0
> > +EFL 1.9.1
> >  =
> >
> > +Changes since 1.9.0:
> > +
> > +
> > +Additions:
> > +
> > +Improvements:
> > +
> > +Fixes:
> > +
> > +   * edje - allow lager clipper space.
> > +   * eina_log: Update domain colouring when color_disable_set is called
> (T1029)
> > +   * edje/entry: fix to not emit "changed" signal in unnecessary cases
> of password mode.
> > +   * Edje entry: fix bug preedit text is committed in the next entry
> when Tab key is pressed.
> > +   * Evas filters: Avoid CRI message when using the GL engine
> > +   * Evas filters: fix clip to target calculation
> > +   * Evas filters: fix random cases of 'dancing text'
> > +   * Evas filters: fix black squares with the GL engine
> > +   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
> > +   * examples/evas: Set a proper format string for fprintf
> > +   * ecore_avahi: fix timeout to be relative from now.
> > +   * ecore: @fix race condition when using
> ecore_main_loop_thread_safe_call_sync.
> > +   * edje: Fix CURRENT option works.
> > +   * evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
> > +   * Fix Wayland Shm engine destination calculation typo
> > +
> > +Removals:
> > +
> > +
> >  Changes since 1.8.0:
> >  
> >
> > diff --git a/configure.ac b/configure.ac
> > index 8f4023e..e534af5 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -1,4 +1,4 @@
> > -EFL_VERSION([1], [9], [0], [release])
> > +EFL_VERSION([1], [9], [1], [release])
> >  AC_INIT([efl], [efl_version], [
> enlightenment-devel@lists.sourceforge.net])
> >
> >  AC_PREREQ([2.60])
> >
> > --
> >
> >
>
>
>
> --
> Gustavo Sverzut Barbieri
> --
> Mobile: +55 (19) 99225-2202
> Contact: http://www.gustavobarbieri.com.br/contact
>
>
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/elementary] master 01/01: actionslider: Fixed wrong signal names but still support backward compatibility.

2014-03-10 Thread Daniel Juyung Seo
seoz pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=97039d7f206670cba1ce5b2dfd4c31944dace4c8

commit 97039d7f206670cba1ce5b2dfd4c31944dace4c8
Author: Daniel Juyung Seo 
Date:   Tue Mar 11 02:27:26 2014 +0900

actionslider: Fixed wrong signal names but still support backward
compatibility.

- "elm.drag_button,mouse,up" -> "elm,action,up,drag_button"
- "elm.drag_button,mouse,down" -> "elm,action,down,drag_button"
- "elm.drag_button,mouse,move" -> "elm,action,move,drag_button"

This is not the target of backport.
---
 data/themes/edc/elm/actionslider.edc |  6 +++---
 src/lib/elm_actionslider.c   | 11 +++
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/data/themes/edc/elm/actionslider.edc 
b/data/themes/edc/elm/actionslider.edc
index 75d6ad9..0950396 100644
--- a/data/themes/edc/elm/actionslider.edc
+++ b/data/themes/edc/elm/actionslider.edc
@@ -207,7 +207,7 @@ group { name: "elm/actionslider/base/default";
programs {
   program {
  signal: "mouse,up,1"; source: "elm.drag_button";
- action: SIGNAL_EMIT "elm.drag_button,mouse,up" "elm";
+ action: SIGNAL_EMIT "elm,action,up,drag_button" "elm";
  after: "button_unclick_anim";
   }
   program { name: "button_unclick_anim";
@@ -217,7 +217,7 @@ group { name: "elm/actionslider/base/default";
   }
   program {
  signal: "mouse,down,1*"; source: "elm.drag_button";
- action: SIGNAL_EMIT "elm.drag_button,mouse,down" "elm";
+ action: SIGNAL_EMIT "elm,action,down,drag_button" "elm";
  after: "button_click_anim";
   }
   program { name: "button_click_anim";
@@ -227,7 +227,7 @@ group { name: "elm/actionslider/base/default";
   }
   program {
  signal: "mouse,move"; source: "elm.drag_button_base";
- action: SIGNAL_EMIT "elm.drag_button,mouse,move" "elm";
+ action: SIGNAL_EMIT "elm,action,move,drag_button" "elm";
   }
   program {
  signal: "mouse,down,1*"; source: "elm.text.right";
diff --git a/src/lib/elm_actionslider.c b/src/lib/elm_actionslider.c
index 6cc92cc..2e7aaeb 100644
--- a/src/lib/elm_actionslider.c
+++ b/src/lib/elm_actionslider.c
@@ -475,6 +475,7 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
  evas_object_rectangle_add(evas_object_evas_get(obj));
evas_object_color_set(priv->drag_button_base, 0, 0, 0, 0);
 
+   // dirty support for the backward compatibility
edje_object_signal_callback_add
  (wd->resize_obj, "elm.drag_button,mouse,up", "*",
  _drag_button_up_cb, obj);
@@ -484,6 +485,16 @@ _elm_actionslider_smart_add(Eo *obj, void *_pd, va_list 
*list EINA_UNUSED)
edje_object_signal_callback_add
  (wd->resize_obj, "elm.drag_button,mouse,move", "*",
  _drag_button_move_cb, obj);
+
+   edje_object_signal_callback_add
+ (wd->resize_obj, "elm,action,up,drag_button", "elm",
+ _drag_button_up_cb, obj);
+   edje_object_signal_callback_add
+ (wd->resize_obj, "elm,action,down,drag_button", "elm",
+ _drag_button_down_cb, obj);
+   edje_object_signal_callback_add
+ (wd->resize_obj, "elm,action,move,drag_button", "elm",
+ _drag_button_move_cb, obj);
edje_object_signal_callback_add
  (wd->resize_obj, "elm,action,down,right", "*",
  _track_move_cb, obj);

-- 




Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
Hi folks,

On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  wrote:
> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
> 
> said:
>
>> i recall flavio used the pulseaudio library, just integrated into the
>> ecore main loop.
>
> aaah god it.
>
>> he had an elm ui that looks like the pavucontrol or that gnome volume
>> settings, you could even see which app is running and control their
>> volume, mute and output device
>>
>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
>> wrote:
>> > On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>> >  said:
>> >
>> >> Flavio Ceolin was doing one, let's see if he plans to integrate or at
>> >> least publish what he wrote so far
>> >
>> > was it going to use pulses dbus api... i was looking into it and it seems
>> > at a glance it was a direct point-to-point dbus api - not via session or
>> > system buses. am i wrong in that view?
>> >
>> >> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
>> >> wrote:
>> >> > Are there any plans to improve the mixer's current pulseaudio support?
>> >> > There are a select number of things you still need to install 
>> >> > pavucontrol
>> >> > to access if you are using pulse with E currently.
>> >> >
>> >> > --
>> >> > ~Jeff Hoogland 
>> >> > Thoughts on Technology , Tech Blog
>> >> > Bodhi Linux , Enlightenment for your Desktop
>> >> > --
>> >> > Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> > Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> > actually works. Faster operations. Version large binaries.  Built-in WAN
>> >> > optimization and the freedom to use Git, Perforce or both. Make the move
>> >> > to Perforce.
>> >> > http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> >> > ___ enlightenment-devel
>> >> > mailing list enlightenment-devel@lists.sourceforge.net
>> >> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >>
>> >>
>> >> --
>> >> Gustavo Sverzut Barbieri
>> >> --
>> >> Mobile: +55 (19) 99225-2202
>> >> Contact: http://www.gustavobarbieri.com.br/contact
>> >>
>> >> --
>> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> actually works. Faster operations. Version large binaries.  Built-in WAN
>> >> optimization and the freedom to use Git, Perforce or both. Make the move
>> >> to Perforce.
>> >> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> >> ___ enlightenment-devel
>> >> mailing list enlightenment-devel@lists.sourceforge.net
>> >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> >>
>> >
>> >
>> > --
>> > - Codito, ergo sum - "I code, therefore I am" --
>> > The Rasterman (Carsten Haitzler)ras...@rasterman.com
>> >
>>
>>
>>
>> --
>> Gustavo Sverzut Barbieri
>> --
>> Mobile: +55 (19) 99225-2202
>> Contact: http://www.gustavobarbieri.com.br/contact
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler)ras...@rasterman.com
>
>
> --
> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works.
> Faster operations. Version large binaries.  Built-in WAN optimization and the
> freedom to use Git, Perforce or both. Make the move to Perforce.
> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

I intend to publish it, at the moment i've a mixer like pavcontrol
that makes possible change volume and redirect streams for different
sinks (outputs).
As Gustavo said, it was done integrating the pulseaudio with ecore
mainloop. The applet for E is not finished yet. I just need few days
to clean the code before push it.

Regard,
Flavio Ceolin

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enl

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread jeffhoogland
This is amazing, thank you for your work. Looking forward to it being published.


On 3/10/14 12:00 Flávio Ceolin wrote:

Hi folks,


On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  wrote:
> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
> 
> said:
>
>> i recall flavio used the pulseaudio library, just integrated into the
>> ecore main loop.
>
> aaah god it.
>
>> he had an elm ui that looks like the pavucontrol or that gnome volume
>> settings, you could even see which app is running and control their
>> volume, mute and output device
>>
>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
>> wrote:
>> > On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>> >  said:
>> >
>> >> Flavio Ceolin was doing one, let's see if he plans to integrate or at
>> >> least publish what he wrote so far
>> >
>> > was it going to use pulses dbus api... i was looking into it and it seems
>> > at a glance it was a direct point-to-point dbus api - not via session or
>> > system buses. am i wrong in that view?
>> >
>> >> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
>> >> wrote:
>> >> > Are there any plans to improve the mixer's current pulseaudio support?
>> >> > There are a select number of things you still need to install 
>> >> > pavucontrol
>> >> > to access if you are using pulse with E currently.
>> >> >
>> >> > --
>> >> > ~Jeff Hoogland 
>> >> > Thoughts on Technology , Tech Blog
>> >> > Bodhi Linux , Enlightenment for your Desktop
>> >> > --
>> >> > Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> > Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> > actually works. Faster operations. Version large binaries. Built-in WAN
>> >> > optimization and the freedom to use Git, Perforce or both. Make the move
>> >> > to Perforce.
>> >> > http://jeffhoogland.com/
>> >> > ___ enlightenment-devel
>> >> > mailing list ras...@rasterman.com
>> >> > http://jeffhoogland.com/
>> >>
>> >>
>> >>
>> >> --
>> >> Gustavo Sverzut Barbieri
>> >> --
>> >> Mobile: +55 (19) 99225-2202
>> >> Contact: http://jeffhoogland.com/
>> >>
>> >> --
>> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> actually works. Faster operations. Version large binaries. Built-in WAN
>> >> optimization and the freedom to use Git, Perforce or both. Make the move
>> >> to Perforce.
>> >> http://jeffhoogland.com/
>> >> ___ enlightenment-devel
>> >> mailing list ras...@rasterman.com
>> >> http://jeffhoogland.com/
>> >>
>> >
>> >
>> > --
>> > - Codito, ergo sum - "I code, therefore I am" --
>> > The Rasterman (Carsten Haitzler) ras...@rasterman.com
>> >
>>
>>
>>
>> --
>> Gustavo Sverzut Barbieri
>> --
>> Mobile: +55 (19) 99225-2202
>> Contact: http://jeffhoogland.com/
>>
>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler) ras...@rasterman.com
>
>
> --
> Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
> With Perforce, you get hassle-free workflows. Merge that actually works.
> Faster operations. Version large binaries. Built-in WAN optimization and the
> freedom to use Git, Perforce or both. Make the move to Perforce.
> http://jeffhoogland.com/
> ___
> enlightenment-devel mailing list
> ras...@rasterman.com
> http://jeffhoogland.com/


I intend to publish it, at the moment i've a mixer like pavcontrol
that makes possible change volume and redirect streams for different
sinks (outputs).
As Gustavo said, it was done integrating the pulseaudio with ecore
mainloop. The applet for E is not finished yet. I just need few days
to clean the code before push it.


Regard,
Flavio Ceolin

--

Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!

http://jeffhoogland.com/
___

enlightenment-devel mailing list

ras...@rasterman.com
http://jeffhoogland.com/



--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Wri

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Marcel Hollerbach
Great ! I am very curious about it! :)

How should the applet work ?

Greetings bu5hm4n !

Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
> This is amazing, thank you for your work. Looking forward to it being 
> published.
>
>
> On 3/10/14 12:00 Flávio Ceolin wrote:
>
> Hi folks,
>
>
> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  
> wrote:
>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
>> 
>> said:
>>
>>> i recall flavio used the pulseaudio library, just integrated into the
>>> ecore main loop.
>> aaah god it.
>>
>>> he had an elm ui that looks like the pavucontrol or that gnome volume
>>> settings, you could even see which app is running and control their
>>> volume, mute and output device
>>>
>>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
>>> wrote:
 On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
  said:

> Flavio Ceolin was doing one, let's see if he plans to integrate or at
> least publish what he wrote so far
 was it going to use pulses dbus api... i was looking into it and it seems
 at a glance it was a direct point-to-point dbus api - not via session or
 system buses. am i wrong in that view?

> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
> wrote:
>> Are there any plans to improve the mixer's current pulseaudio support?
>> There are a select number of things you still need to install pavucontrol
>> to access if you are using pulse with E currently.
>>
>> --
>> ~Jeff Hoogland 
>> Thoughts on Technology , Tech Blog
>> Bodhi Linux , Enlightenment for your Desktop
>> --
>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> actually works. Faster operations. Version large binaries. Built-in WAN
>> optimization and the freedom to use Git, Perforce or both. Make the move
>> to Perforce.
>> http://jeffhoogland.com/
>> ___ enlightenment-devel
>> mailing list ras...@rasterman.com
>> http://jeffhoogland.com/
>
>
> --
> Gustavo Sverzut Barbieri
> --
> Mobile: +55 (19) 99225-2202
> Contact: http://jeffhoogland.com/
>
> --
> Subversion Kills Productivity. Get off Subversion & Make the Move to
> Perforce. With Perforce, you get hassle-free workflows. Merge that
> actually works. Faster operations. Version large binaries. Built-in WAN
> optimization and the freedom to use Git, Perforce or both. Make the move
> to Perforce.
> http://jeffhoogland.com/
> ___ enlightenment-devel
> mailing list ras...@rasterman.com
> http://jeffhoogland.com/
>

 --
 - Codito, ergo sum - "I code, therefore I am" --
 The Rasterman (Carsten Haitzler) ras...@rasterman.com

>>>
>>>
>>> --
>>> Gustavo Sverzut Barbieri
>>> --
>>> Mobile: +55 (19) 99225-2202
>>> Contact: http://jeffhoogland.com/
>>>
>>
>> --
>> - Codito, ergo sum - "I code, therefore I am" --
>> The Rasterman (Carsten Haitzler) ras...@rasterman.com
>>
>>
>> --
>> Subversion Kills Productivity. Get off Subversion & Make the Move to 
>> Perforce.
>> With Perforce, you get hassle-free workflows. Merge that actually works.
>> Faster operations. Version large binaries. Built-in WAN optimization and the
>> freedom to use Git, Perforce or both. Make the move to Perforce.
>> http://jeffhoogland.com/
>> ___
>> enlightenment-devel mailing list
>> ras...@rasterman.com
>> http://jeffhoogland.com/
>
> I intend to publish it, at the moment i've a mixer like pavcontrol
> that makes possible change volume and redirect streams for different
> sinks (outputs).
> As Gustavo said, it was done integrating the pulseaudio with ecore
> mainloop. The applet for E is not finished yet. I just need few days
> to clean the code before push it.
>
>
> Regard,
> Flavio Ceolin
>
> --
>
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
>
> http://jeffhoogland.com/
> ___
>
> enlightenment-devel mailing list
>
> ras...@rasterman.com
> http://jeffhoogland.com/
>
>
>
> 

Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Felipe Magno de Almeida
Hello Gustavo,

On Mon, Mar 10, 2014 at 12:45 PM, Gustavo Sverzut Barbieri
 wrote:
> Cedric,
>
> while I agree with performance concerns, nobody is doing core parts in
> C++ (yet), so for the random app user this is negligible performance
> hit. Of course C++ mixes nicely with C, so it is still possible to use
> the original macros/functions which will execute vfprintf() only if
> log level is required.
>
> Felipe, could we make the operator implementations just return if
> current log level is not to be used? Like, in the beginning of the
> operator we could do:
>
> if (eina_log_domain_registered_level_get(mydom.id) >
> EINA_LOG_LEVEL_DBG) return;  // used for mydom.dbg "io";

One problem is that we can't stop the evaluation of function calls, so
for example:

err << "hello world " << expensive_call();

expensive_call is evaluated before the operator overload runs. By
that time, it doesn't really matter anymore. Also, the check runs
multiple times for each operator<< function call.

Also, with the positive case for logging we must share
std::stringstream's or create one for each operator<< call. Both
have important disadvantages, for the first we need synchronization,
for the second we don't get amortized dynamic allocations. It is
already bad that I can't steal the std::string from std::stringstream,
which means an unnecessary copy.

Since I can't stop evaluation of expressions without macros here,
it can have a significant impact on performance.

> that way the performance impact is negligible. AFAIR the evaluation is
> left->right, thus the following could be grouped as:
>
> mydom.dbg << "hello world" << 0.3456;
>(mydom.dbg << "hello world") << 0.3456;
>
> which usually the operator<<() would return an instance of itself,
> then it results in:
>
>mydom.dbg << "hello world" << 0.3456;
>mydom.dbg << "hello world";  mydom.dbg << 0.3456;
>
> so if operator<<() does the level check (which is very light), then we
> get performance and usability.

For printing constants that is true, but not negligible for expressions
that are expensive to evaluate.

What I *may* do is: (without impacting performance)

EINA_CXX_DOM_LOG_CRIT(domain) << "hello world " << 0.3456;

But I'm not 100% sure.

Even with expression templates I can't stop the evaluation of the
expressions, because it is its results that are passed to the
operator<< function call as arguments.

[snip]

> --
> Gustavo Sverzut Barbieri
> --
> Mobile: +55 (19) 99225-2202
> Contact: http://www.gustavobarbieri.com.br/contact

Regards,
-- 
Felipe Magno de Almeida

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Andrew F
Oh this is great, we need this also.  Thanks for the hard work.


On Monday, March 10, 2014, Marcel Hollerbach 
wrote:

> Great ! I am very curious about it! :)
>
> How should the applet work ?
>
> Greetings bu5hm4n !
>
> Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com :
> > This is amazing, thank you for your work. Looking forward to it being
> published.
> >
> >
> > On 3/10/14 12:00 Flávio Ceolin wrote:
> >
> > Hi folks,
> >
> >
> > On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler 
> wrote:
> >> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri <
> ras...@rasterman.com>
> >> said:
> >>
> >>> i recall flavio used the pulseaudio library, just integrated into the
> >>> ecore main loop.
> >> aaah god it.
> >>
> >>> he had an elm ui that looks like the pavucontrol or that gnome volume
> >>> settings, you could even see which app is running and control their
> >>> volume, mute and output device
> >>>
> >>> On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler <
> ras...@rasterman.com>
> >>> wrote:
>  On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>   said:
> 
> > Flavio Ceolin was doing one, let's see if he plans to integrate or at
> > least publish what he wrote so far
>  was it going to use pulses dbus api... i was looking into it and it
> seems
>  at a glance it was a direct point-to-point dbus api - not via session
> or
>  system buses. am i wrong in that view?
> 
> > On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland  >
> > wrote:
> >> Are there any plans to improve the mixer's current pulseaudio
> support?
> >> There are a select number of things you still need to install
> pavucontrol
> >> to access if you are using pulse with E currently.
> >>
> >> --
> >> ~Jeff Hoogland 
> >> Thoughts on Technology , Tech Blog
> >> Bodhi Linux , Enlightenment for your
> Desktop
> >>
> --
> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
> >> actually works. Faster operations. Version large binaries. Built-in
> WAN
> >> optimization and the freedom to use Git, Perforce or both. Make the
> move
> >> to Perforce.
> >> http://jeffhoogland.com/
> >> ___ enlightenment-devel
> >> mailing list ras...@rasterman.com
> >> http://jeffhoogland.com/
> >
> >
> > --
> > Gustavo Sverzut Barbieri
> > --
> > Mobile: +55 (19) 99225-2202
> > Contact: http://jeffhoogland.com/
> >
> >
> --
> > Subversion Kills Productivity. Get off Subversion & Make the Move to
> > Perforce. With Perforce, you get hassle-free workflows. Merge that
> > actually works. Faster operations. Version large binaries. Built-in
> WAN
> > optimization and the freedom to use Git, Perforce or both. Make the
> move
> > to Perforce.
> > http://jeffhoogland.com/
> > ___ en
--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Felipe Magno de Almeida
On Mon, Mar 10, 2014 at 5:02 PM, Felipe Magno de Almeida
 wrote:
> Hello Gustavo,

[snip]

Hello Gustavo,

> What I *may* do is: (without impacting performance)
>
> EINA_CXX_DOM_LOG_CRIT(domain) << "hello world " << 0.3456;
>
> But I'm not 100% sure.

Yeah, I think I can do it using a trick with some for statements:

#define EINA_CXX_DOM_LOG(DOMAIN, LEVEL) \
for( bool stop = false ; !stop ; stop = true )  \
  for(std::stringstream stream; !stop &&
::eina_log_domain_level_check((DOMAIN), LEVEL); \
  ::efl::eina::_log(std::move(stream), (DOMAIN), LEVEL  \
, __FILE__, __FUNCTION__, __LINE__), stop = true) \
stream

This works:

  EINA_CXX_DOM_LOG_CRIT(domain) << "foo 0x" << std::hex << 10;

[snip]

Is this better?

>> --
>> Gustavo Sverzut Barbieri
>> --
>> Mobile: +55 (19) 99225-2202
>> Contact: http://www.gustavobarbieri.com.br/contact
>
> Regards,
> --
> Felipe Magno de Almeida


Regards,
-- 
Felipe Magno de Almeida

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-10 Thread Davide Andreoli
2014-03-08 10:01 GMT+01:00 Davide Andreoli :

>
> 2014-03-07 9:33 GMT+01:00 woohyun :
>
> It would be much helpful if you can give the valgrind trace :)
>> Only with the result of gdb, it's little bit hard to check ~
>>
>
> I do have the valgrid output but I now the segfault seems reproducible
> also in the C elm test.
> Please try:
> elementary_test -to Photo
>

woohyun: so? any news about the issue? did you tested as I suggest?

People are going to make a stable release and your commit is going to be
included, but it is still broken. Please fix it asap or we will need to
revert it.

Thanks


>
>
>
>>
>> -Original Message-
>> From: "Davide Andreoli"
>> To: "Enlightenment developer list"&
>> lt;enlightenment-devel@lists.sourceforge.net>;
>> Cc:
>> Sent: 2014-03-07 (금) 16:22:43
>> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace
>> EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
>>
>> 2014-03-06 23:28 GMT+01:00 Cedric BAIL @free.fr>:
>>
>> > On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli &
>> lt;dave>@gurumeditation.it>
>> > wrote:
>> > > 2014-02-27 2:36 GMT+01:00 WooHyun Jung &
>> lt;wh0705.jung>@samsung.com>:
>> > >
>> > >> woohyun pushed a commit to branch master.
>> > >>
>> > >>
>> > >>
>> >
>> http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
>> >>;
>> >>
>> > >> commit 6093e68cb01cf915057b9e330f7586039d092990
>> > >> Author: WooHyun Jung @samsung.com>
>> > >> Date:   Thu Feb 27 10:31:42 2014 +0900
>> > >>
>> > >> evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
>> > >>
>> > >> EINA_LIST_FREE does eina_list_remove_list, and
>> clip_unset does
>> > >> the same thing to the same list pointer. So,
>> EINA_LIST_FOREACH_SAFE
>> > >> is proper for this case.
>> > >> ---
>> > >>  src/lib/evas/canvas/evas_object_main.c | 2 +-
>> > >>  1 file changed, 1 insertion(+), 1 deletion(-)
>> > >>
>> > >> diff --git a/src/lib/evas/canvas/evas_object_main.c
>> > >> b/src/lib/evas/canvas/evas_object_main.c
>> > >> index 9db95d4..d8d3850 100644
>> > >> --- a/src/lib/evas/canvas/evas_object_main.c
>> > >> +++ b/src/lib/evas/canvas/evas_object_main.c
>> > >> @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd,
>> va_list *list
>> > >> EINA_UNUSED)
>> > >>  goto end;
>> > >>   }
>> > >> evas_object_grabs_cleanup(eo_obj, obj);
>> > >> -   EINA_LIST_FREE(obj->clip.clipees, tmp)
>> > >> +   EINA_LIST_FOREACH_SAFE(obj->clip.clipees, l, l2, tmp)
>> > >>   evas_object_clip_unset(tmp->object);
>> > >> EINA_LIST_FOREACH_SAFE(obj->proxy->proxies, l,
>> l2, proxy)
>> > >>   evas_object_image_source_unset(proxy);
>> > >>
>> > >
>> > > Weird, this commit is causing a segfault in the elementary
>> photo test in
>> > > python bindings...and in my Git user interface :(
>> > >
>> > > strangely the segfault seems not reproducible in the C photo
>> test.
>> > >
>> > > The segfault is triggered when elm_object_style_set(photo,
>> "shadow") is
>> > > called.
>> > >
>> > > If I revert this commit the segfault goes away, I have no idea
>> why this
>> > is
>> > > happening, can you please give a look? Or tell me what I can
>> check
>> > >
>> > > This is the first part of the gdb backtrace:
>> >
>> > Would you have valgrind trace to ?
>> >
>>
>> No, sorry, I never used valgrind in python apps, dunno how to make it. If
>> it is really needed I can make a try this evening
>>
>>
>> > --
>> > Cedric BAIL
>> >
>> >
>> >
>> --
>> > Subversion Kills Productivity. Get off Subversion & Make the
>> Move to
>> > Perforce.
>> > With Perforce, you get hassle-free workflows. Merge that actually
>> works.
>> > Faster operations. Version large binaries.  Built-in WAN
>> optimization and
>> > the
>> > freedom to use Git, Perforce or both. Make the move to Perforce.
>> >
>> >
>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> >>;
>> ___
>> > enlightenment-devel mailing list
>> > enlightenment-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > >
>> ;
>>
>> --
>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> Perforce.
>> With Perforce, you get hassle-free workflows. Merge that actually works.
>> Faster operations. Version large binaries.  Built-in WAN optimization and
>> the
>> freedom to use Git, Perforce or both. Make the move to Perforce.
>>
>> http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
I'm using the same edj of the current mixer, so  it looks exaclty the
same, but i intend to replace the label with the channel name with a
toggle to become easy change the volume of any output. The config
dialog was replaced by a standalone application similar the
pavucontrol (with less functionality). The cool thing is that the
default output is gotten from pulseaudio exaclty as gnome-applet (and
probably the kde mixer) does, so we'll have the same behaviour on E.

Flavio Ceolin

On Mon, Mar 10, 2014 at 3:36 PM, Marcel Hollerbach
 wrote:
> Great ! I am very curious about it! :)
>
> How should the applet work ?
>
> Greetings bu5hm4n !
>
> Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
>> This is amazing, thank you for your work. Looking forward to it being 
>> published.
>>
>>
>> On 3/10/14 12:00 Flávio Ceolin wrote:
>>
>> Hi folks,
>>
>>
>> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler  
>> wrote:
>>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri 
>>> 
>>> said:
>>>
 i recall flavio used the pulseaudio library, just integrated into the
 ecore main loop.
>>> aaah god it.
>>>
 he had an elm ui that looks like the pavucontrol or that gnome volume
 settings, you could even see which app is running and control their
 volume, mute and output device

 On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler 
 wrote:
> On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>  said:
>
>> Flavio Ceolin was doing one, let's see if he plans to integrate or at
>> least publish what he wrote so far
> was it going to use pulses dbus api... i was looking into it and it seems
> at a glance it was a direct point-to-point dbus api - not via session or
> system buses. am i wrong in that view?
>
>> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland 
>> wrote:
>>> Are there any plans to improve the mixer's current pulseaudio support?
>>> There are a select number of things you still need to install 
>>> pavucontrol
>>> to access if you are using pulse with E currently.
>>>
>>> --
>>> ~Jeff Hoogland 
>>> Thoughts on Technology , Tech Blog
>>> Bodhi Linux , Enlightenment for your Desktop
>>> --
>>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>>> actually works. Faster operations. Version large binaries. Built-in WAN
>>> optimization and the freedom to use Git, Perforce or both. Make the move
>>> to Perforce.
>>> http://jeffhoogland.com/
>>> ___ enlightenment-devel
>>> mailing list ras...@rasterman.com
>>> http://jeffhoogland.com/
>>
>>
>> --
>> Gustavo Sverzut Barbieri
>> --
>> Mobile: +55 (19) 99225-2202
>> Contact: http://jeffhoogland.com/
>>
>> --
>> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> actually works. Faster operations. Version large binaries. Built-in WAN
>> optimization and the freedom to use Git, Perforce or both. Make the move
>> to Perforce.
>> http://jeffhoogland.com/
>> ___ enlightenment-devel
>> mailing list ras...@rasterman.com
>> http://jeffhoogland.com/
>>
>
> --
> - Codito, ergo sum - "I code, therefore I am" --
> The Rasterman (Carsten Haitzler) ras...@rasterman.com
>


 --
 Gustavo Sverzut Barbieri
 --
 Mobile: +55 (19) 99225-2202
 Contact: http://jeffhoogland.com/

>>>
>>> --
>>> - Codito, ergo sum - "I code, therefore I am" --
>>> The Rasterman (Carsten Haitzler) ras...@rasterman.com
>>>
>>>
>>> --
>>> Subversion Kills Productivity. Get off Subversion & Make the Move to 
>>> Perforce.
>>> With Perforce, you get hassle-free workflows. Merge that actually works.
>>> Faster operations. Version large binaries. Built-in WAN optimization and the
>>> freedom to use Git, Perforce or both. Make the move to Perforce.
>>> http://jeffhoogland.com/
>>> ___
>>> enlightenment-devel mailing list
>>> ras...@rasterman.com
>>> http://jeffhoogland.com/
>>
>> I intend to publish it, at the moment i've a mixer like pavcontrol
>> that makes possible change volume and redirect streams for different
>> sinks (outputs).
>> As Gustavo said, it was done integrating the pulseaudio with ecore
>> mainloop

Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Felipe Magno de Almeida
On Mon, Mar 10, 2014 at 5:47 PM, Felipe Magno de Almeida
 wrote:
> On Mon, Mar 10, 2014 at 5:02 PM, Felipe Magno de Almeida
>  wrote:
>> Hello Gustavo,
>
> [snip]
>
> Hello Gustavo,
>
>> What I *may* do is: (without impacting performance)
>>
>> EINA_CXX_DOM_LOG_CRIT(domain) << "hello world " << 0.3456;
>>
>> But I'm not 100% sure.
>
> Yeah, I think I can do it using a trick with some for statements:
>
> #define EINA_CXX_DOM_LOG(DOMAIN, LEVEL) \
> for( bool stop = false ; !stop ; stop = true )  \
>   for(std::stringstream stream; !stop &&
> ::eina_log_domain_level_check((DOMAIN), LEVEL); \
>   ::efl::eina::_log(std::move(stream), (DOMAIN), LEVEL  \
> , __FILE__, __FUNCTION__, __LINE__), stop = true) 
> \
> stream
>
> This works:
>
>   EINA_CXX_DOM_LOG_CRIT(domain) << "foo 0x" << std::hex << 10;
>
> [snip]
>
> Is this better?

https://phab.enlightenment.org/D623

>>> --
>>> Gustavo Sverzut Barbieri
>>> --
>>> Mobile: +55 (19) 99225-2202
>>> Contact: http://www.gustavobarbieri.com.br/contact

Regards,
-- 
Felipe Magno de Almeida

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Jeff Hoogland
This will be AWESOME. Shame you missed the change window for E19 for this
to be included in core. Once you have code to share I'll be getting this
into the Bodhi 3.0.0 testing repos ASAP.


On Mon, Mar 10, 2014 at 3:54 PM, Flávio Ceolin  wrote:

> I'm using the same edj of the current mixer, so  it looks exaclty the
> same, but i intend to replace the label with the channel name with a
> toggle to become easy change the volume of any output. The config
> dialog was replaced by a standalone application similar the
> pavucontrol (with less functionality). The cool thing is that the
> default output is gotten from pulseaudio exaclty as gnome-applet (and
> probably the kde mixer) does, so we'll have the same behaviour on E.
>
> Flavio Ceolin
>
> On Mon, Mar 10, 2014 at 3:36 PM, Marcel Hollerbach
>  wrote:
> > Great ! I am very curious about it! :)
> >
> > How should the applet work ?
> >
> > Greetings bu5hm4n !
> >
> > Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
> >> This is amazing, thank you for your work. Looking forward to it being
> published.
> >>
> >>
> >> On 3/10/14 12:00 Flávio Ceolin wrote:
> >>
> >> Hi folks,
> >>
> >>
> >> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler 
> wrote:
> >>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri <
> ras...@rasterman.com>
> >>> said:
> >>>
>  i recall flavio used the pulseaudio library, just integrated into the
>  ecore main loop.
> >>> aaah god it.
> >>>
>  he had an elm ui that looks like the pavucontrol or that gnome volume
>  settings, you could even see which app is running and control their
>  volume, mute and output device
> 
>  On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler <
> ras...@rasterman.com>
>  wrote:
> > On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
> >  said:
> >
> >> Flavio Ceolin was doing one, let's see if he plans to integrate or
> at
> >> least publish what he wrote so far
> > was it going to use pulses dbus api... i was looking into it and it
> seems
> > at a glance it was a direct point-to-point dbus api - not via
> session or
> > system buses. am i wrong in that view?
> >
> >> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland <
> ras...@rasterman.com>
> >> wrote:
> >>> Are there any plans to improve the mixer's current pulseaudio
> support?
> >>> There are a select number of things you still need to install
> pavucontrol
> >>> to access if you are using pulse with E currently.
> >>>
> >>> --
> >>> ~Jeff Hoogland 
> >>> Thoughts on Technology , Tech Blog
> >>> Bodhi Linux , Enlightenment for your
> Desktop
> >>>
> --
> >>> Subversion Kills Productivity. Get off Subversion & Make the Move
> to
> >>> Perforce. With Perforce, you get hassle-free workflows. Merge that
> >>> actually works. Faster operations. Version large binaries.
> Built-in WAN
> >>> optimization and the freedom to use Git, Perforce or both. Make
> the move
> >>> to Perforce.
> >>> http://jeffhoogland.com/
> >>> ___ enlightenment-devel
> >>> mailing list ras...@rasterman.com
> >>> http://jeffhoogland.com/
> >>
> >>
> >> --
> >> Gustavo Sverzut Barbieri
> >> --
> >> Mobile: +55 (19) 99225-2202
> >> Contact: http://jeffhoogland.com/
> >>
> >>
> --
> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
> >> actually works. Faster operations. Version large binaries. Built-in
> WAN
> >> optimization and the freedom to use Git, Perforce or both. Make the
> move
> >> to Perforce.
> >> http://jeffhoogland.com/
> >> ___ enlightenment-devel
> >> mailing list ras...@rasterman.com
> >> http://jeffhoogland.com/
> >>
> >
> > --
> > - Codito, ergo sum - "I code, therefore I am"
> --
> > The Rasterman (Carsten Haitzler) ras...@rasterman.com
> >
> 
> 
>  --
>  Gustavo Sverzut Barbieri
>  --
>  Mobile: +55 (19) 99225-2202
>  Contact: http://jeffhoogland.com/
> 
> >>>
> >>> --
> >>> - Codito, ergo sum - "I code, therefore I am"
> --
> >>> The Rasterman (Carsten Haitzler) ras...@rasterman.com
> >>>
> >>>
> >>>
> --
> >>> Subversion Kills Productivity. Get off Subversion & Make the Move to
> Perforce.
> >>> With Perforce, you get hassle-free workflows. Merge that actually
> works.
> >>> Faster o

Re: [E-devel] Any Improved Pulseaudio support for Mixer planned?

2014-03-10 Thread Flávio Ceolin
On Mon, Mar 10, 2014 at 6:43 PM, Jeff Hoogland  wrote:
> This will be AWESOME. Shame you missed the change window for E19 for this
> to be included in core. Once you have code to share I'll be getting this
> into the Bodhi 3.0.0 testing repos ASAP.
>

Yeah i  know, my bad :(  but I'll release something usable soon.
>
> On Mon, Mar 10, 2014 at 3:54 PM, Flávio Ceolin > wrote:
>
>> I'm using the same edj of the current mixer, so  it looks exaclty the
>> same, but i intend to replace the label with the channel name with a
>> toggle to become easy change the volume of any output. The config
>> dialog was replaced by a standalone application similar the
>> pavucontrol (with less functionality). The cool thing is that the
>> default output is gotten from pulseaudio exaclty as gnome-applet (and
>> probably the kde mixer) does, so we'll have the same behaviour on E.
>>
>> Flavio Ceolin
>>
>> On Mon, Mar 10, 2014 at 3:36 PM, Marcel Hollerbach
>>  wrote:
>> > Great ! I am very curious about it! :)
>> >
>> > How should the applet work ?
>> >
>> > Greetings bu5hm4n !
>> >
>> > Am 10.03.2014 18:58, schrieb jeffhoogl...@gmail.com:
>> >> This is amazing, thank you for your work. Looking forward to it being
>> published.
>> >>
>> >>
>> >> On 3/10/14 12:00 Flávio Ceolin wrote:
>> >>
>> >> Hi folks,
>> >>
>> >>
>> >> On Sun, Mar 9, 2014 at 12:57 AM, Carsten Haitzler 
>> wrote:
>> >>> On Sat, 8 Mar 2014 14:22:40 -0300 Gustavo Sverzut Barbieri <
>> ras...@rasterman.com>
>> >>> said:
>> >>>
>>  i recall flavio used the pulseaudio library, just integrated into the
>>  ecore main loop.
>> >>> aaah god it.
>> >>>
>>  he had an elm ui that looks like the pavucontrol or that gnome volume
>>  settings, you could even see which app is running and control their
>>  volume, mute and output device
>> 
>>  On Sat, Mar 8, 2014 at 10:55 AM, Carsten Haitzler <
>> ras...@rasterman.com>
>>  wrote:
>> > On Sat, 8 Mar 2014 02:22:48 -0300 Gustavo Sverzut Barbieri
>> >  said:
>> >
>> >> Flavio Ceolin was doing one, let's see if he plans to integrate or
>> at
>> >> least publish what he wrote so far
>> > was it going to use pulses dbus api... i was looking into it and it
>> seems
>> > at a glance it was a direct point-to-point dbus api - not via
>> session or
>> > system buses. am i wrong in that view?
>> >
>> >> On Sat, Mar 8, 2014 at 12:55 AM, Jeff Hoogland <
>> ras...@rasterman.com>
>> >> wrote:
>> >>> Are there any plans to improve the mixer's current pulseaudio
>> support?
>> >>> There are a select number of things you still need to install
>> pavucontrol
>> >>> to access if you are using pulse with E currently.
>> >>>
>> >>> --
>> >>> ~Jeff Hoogland 
>> >>> Thoughts on Technology , Tech Blog
>> >>> Bodhi Linux , Enlightenment for your
>> Desktop
>> >>>
>> --
>> >>> Subversion Kills Productivity. Get off Subversion & Make the Move
>> to
>> >>> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >>> actually works. Faster operations. Version large binaries.
>> Built-in WAN
>> >>> optimization and the freedom to use Git, Perforce or both. Make
>> the move
>> >>> to Perforce.
>> >>> http://jeffhoogland.com/
>> >>> ___ enlightenment-devel
>> >>> mailing list ras...@rasterman.com
>> >>> http://jeffhoogland.com/
>> >>
>> >>
>> >> --
>> >> Gustavo Sverzut Barbieri
>> >> --
>> >> Mobile: +55 (19) 99225-2202
>> >> Contact: http://jeffhoogland.com/
>> >>
>> >>
>> --
>> >> Subversion Kills Productivity. Get off Subversion & Make the Move to
>> >> Perforce. With Perforce, you get hassle-free workflows. Merge that
>> >> actually works. Faster operations. Version large binaries. Built-in
>> WAN
>> >> optimization and the freedom to use Git, Perforce or both. Make the
>> move
>> >> to Perforce.
>> >> http://jeffhoogland.com/
>> >> ___ enlightenment-devel
>> >> mailing list ras...@rasterman.com
>> >> http://jeffhoogland.com/
>> >>
>> >
>> > --
>> > - Codito, ergo sum - "I code, therefore I am"
>> --
>> > The Rasterman (Carsten Haitzler) ras...@rasterman.com
>> >
>> 
>> 
>>  --
>>  Gustavo Sverzut Barbieri
>>  --
>>  Mobile: +55 (19) 99225-2202
>>  Contact: http://jeffhoogland.com/
>> 
>> >>>
>> >>> --
>> >>> - Codito, ergo sum - "I code, therefore I am"
>> --
>> >>> The Rasterman (Carsten Haitzler) ras...@rasterman.com
>> >>>
>> >>>
>> >>>
>

[EGIT] [core/enlightenment] master 01/01: Updating italian translation

2014-03-10 Thread maxerba
maxerba pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=75b736a9fe5db124e19158a8c2b36cf30394c3ea

commit 75b736a9fe5db124e19158a8c2b36cf30394c3ea
Author: maxerba 
Date:   Mon Mar 10 23:18:24 2014 +0100

Updating italian translation
---
 po/it.po | 516 ---
 1 file changed, 265 insertions(+), 251 deletions(-)

diff --git a/po/it.po b/po/it.po
index b7947b2..63567c2 100644
--- a/po/it.po
+++ b/po/it.po
@@ -6,8 +6,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Enlightenment 0.17\n"
 "Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2014-02-24 19:27+0100\n"
-"PO-Revision-Date: 2014-02-24 19:33+0100\n"
+"POT-Creation-Date: 2014-03-10 22:11+0100\n"
+"PO-Revision-Date: 2014-03-10 23:17+0100\n"
 "Last-Translator: Massimo Maiurana \n"
 "Language-Team: none\n"
 "Language: it\n"
@@ -78,9 +78,9 @@ msgstr "Uccidi"
 #: src/bin/e_actions.c:375 src/bin/e_actions.c:2083 src/bin/e_actions.c:2177
 #: src/bin/e_actions.c:2237 src/bin/e_actions.c:2297 src/bin/e_actions.c:2362
 #: src/bin/e_actions.c:2427 src/bin/e_confirm_dialog.c:53
-#: src/bin/e_desklock.c:539 src/bin/e_fm.c:10522 src/bin/e_fm.c:10875
+#: src/bin/e_desklock.c:539 src/bin/e_fm.c:10523 src/bin/e_fm.c:10876
 #: src/bin/e_screensaver.c:192
-#: src/modules/quickaccess/e_mod_quickaccess.c:1300
+#: src/modules/quickaccess/e_mod_quickaccess.c:1302
 msgid "No"
 msgstr "No"
 
@@ -94,9 +94,9 @@ msgstr "Siete sicuri di voler uscire da Enlightement?"
 
 #: src/bin/e_actions.c:2081 src/bin/e_actions.c:2175 src/bin/e_actions.c:2235
 #: src/bin/e_actions.c:2295 src/bin/e_actions.c:2360 src/bin/e_actions.c:2425
-#: src/bin/e_confirm_dialog.c:52 src/bin/e_desklock.c:537 src/bin/e_fm.c:10525
+#: src/bin/e_confirm_dialog.c:52 src/bin/e_desklock.c:537 src/bin/e_fm.c:10526
 #: src/bin/e_screensaver.c:190
-#: src/modules/quickaccess/e_mod_quickaccess.c:1300
+#: src/modules/quickaccess/e_mod_quickaccess.c:1302
 msgid "Yes"
 msgstr "Sì"
 
@@ -149,7 +149,7 @@ msgstr "Siete sicuri di voler ibernare il computer?"
 msgid "Window : Actions"
 msgstr "Finestre : Azioni"
 
-#: src/bin/e_actions.c:2911 src/bin/e_fm.c:11641
+#: src/bin/e_actions.c:2911 src/bin/e_fm.c:11642
 #: src/bin/e_int_client_menu.c:709
 msgid "Move"
 msgstr "Sposta"
@@ -719,7 +719,7 @@ msgstr "Commuta il modulo specificato"
 #: src/bin/e_actions.c:3382 src/bin/e_actions.c:3386 src/bin/e_configure.c:417
 #: src/bin/e_int_config_modules.c:52
 #: src/modules/conf_applications/e_int_config_apps.c:278
-#: src/modules/conf_display/e_int_config_desklock_fsel.c:87
+#: src/modules/conf_display/e_int_config_desklock_fsel.c:100
 #: src/modules/conf_intl/e_int_config_imc.c:808
 #: src/modules/conf_theme/e_int_config_theme.c:663
 #: src/modules/conf_theme/e_int_config_wallpaper.c:427
@@ -804,59 +804,59 @@ msgstr "Seleziona"
 #: src/modules/conf_theme/e_int_config_theme_import.c:123
 #: src/modules/connman/agent.c:251
 #: src/modules/fileman/e_int_config_mime_edit.c:314
-#: src/modules/quickaccess/e_mod_quickaccess.c:329
-#: src/modules/quickaccess/e_mod_quickaccess.c:391
+#: src/modules/quickaccess/e_mod_quickaccess.c:331
+#: src/modules/quickaccess/e_mod_quickaccess.c:393
 #: src/modules/shot/e_mod_main.c:297 src/modules/shot/e_mod_main.c:548
 #: src/modules/shot/e_mod_main.c:574 src/modules/shot/e_mod_main.c:806
 #: src/modules/syscon/e_syscon.c:92 src/modules/xkbswitch/e_mod_config.c:499
 msgid "Cancel"
 msgstr "Annulla"
 
-#: src/bin/e_comp.c:1093 src/bin/e_comp.c:1099 src/bin/e_comp.c:1104
+#: src/bin/e_comp.c:1097 src/bin/e_comp.c:1103 src/bin/e_comp.c:1108
 #: src/bin/e_configure.c:33
 msgid "Compositor"
 msgstr "Compositor"
 
-#: src/bin/e_comp.c:1094
+#: src/bin/e_comp.c:1098
 msgid "Change current window opacity"
 msgstr "Cambia opacità finestra corrente"
 
-#: src/bin/e_comp.c:1100
+#: src/bin/e_comp.c:1104
 msgid "Set current window opacity"
 msgstr "Imposta opacità finestra corrente"
 
-#: src/bin/e_comp.c:1105
+#: src/bin/e_comp.c:1109
 msgid "Toggle focused client's redirect state"
 msgstr "Commuta stato redirect del client a fuoco"
 
-#: src/bin/e_comp.c:1169 src/modules/bluez4/e_mod_main.c:204
+#: src/bin/e_comp.c:1173 src/modules/bluez4/e_mod_main.c:204
 msgid "Visible"
 msgstr "Visibile"
 
-#: src/bin/e_comp.c:1174
+#: src/bin/e_comp.c:1178
 msgid "Focus-Out"
 msgstr "fuori fuoco"
 
-#: src/bin/e_comp.c:1179
+#: src/bin/e_comp.c:1183
 msgid "Focus-In"
 msgstr "A fuoco"
 
-#: src/bin/e_comp.c:1184 src/bin/e_int_client_prop.c:510
+#: src/bin/e_comp.c:1188 src/bin/e_int_client_prop.c:510
 msgid "Hidden"
 msgstr "Nascosto"
 
-#: src/bin/e_comp.c:1291 src/bin/e_int_client_prop.c:444
+#: src/bin/e_comp.c:1295 src/bin/e_int_client_prop.c:444
 #: src/bin/e_int_client_remember.c:700 src/bin/e_int_config_comp_match.c:349
 #: src/modules/wizard/page_050.c:96
 msgid "Title"
 msgstr "Titolo"
 
-#: src/bin/e_comp.c:1338
+#: src/bin/e_comp.c:1342
 #, c-format
 msgid "Compositor %

Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Gustavo Sverzut Barbieri
On Mon, Mar 10, 2014 at 5:02 PM, Felipe Magno de Almeida
 wrote:
> Hello Gustavo,
>
> On Mon, Mar 10, 2014 at 12:45 PM, Gustavo Sverzut Barbieri
>  wrote:
>> Cedric,
>>
>> while I agree with performance concerns, nobody is doing core parts in
>> C++ (yet), so for the random app user this is negligible performance
>> hit. Of course C++ mixes nicely with C, so it is still possible to use
>> the original macros/functions which will execute vfprintf() only if
>> log level is required.
>>
>> Felipe, could we make the operator implementations just return if
>> current log level is not to be used? Like, in the beginning of the
>> operator we could do:
>>
>> if (eina_log_domain_registered_level_get(mydom.id) >
>> EINA_LOG_LEVEL_DBG) return;  // used for mydom.dbg "io";
>
> One problem is that we can't stop the evaluation of function calls, so
> for example:
>
> err << "hello world " << expensive_call();
>
> expensive_call is evaluated before the operator overload runs. By
> that time, it doesn't really matter anymore.

that doesn't change anything from what we have in C now. If you do say
DBG("%s", expensive_call()) it will happen as well. UNLESS you do the
--with-maximum-log-level, then you fall in the constant < constant
evaluation and the compiler removes the whole block.

that's why we have the eina_log_domain_registered_level_get(). I often
use this to avoid the expensive calls (let's say converting a struct
to string using strbuf or walking a hash/list). This way we keep it
dynamic (unlike maximum-log-level) and allows to avoid expensive
calls.



> Also, the check runs
> multiple times for each operator<< function call.

doesn't matter this is super-cheap. One could also save the actual
Eina_Log_Domain structure and check ->level directly. But I don' t
think it is required.


> Also, with the positive case for logging we must share
> std::stringstream's or create one for each operator<< call. Both
> have important disadvantages, for the first we need synchronization,
> for the second we don't get amortized dynamic allocations. It is
> already bad that I can't steal the std::string from std::stringstream,
> which means an unnecessary copy.

that's an implementation detail I'd say. You can create your own
version of stringstream that you can keep reusing, even by using
eina_strbuf internally.

IMO this would be a bit different than what you propose, which makes
it simpler. You'd need a lock, sure, but this is the case with eina
log as well, so much of the same.

You create a stream for each domain log level. That's why I'm saying
efl::eina::log::domain::level_as_stream. This is not what you propose
as using just domain and the macro evaluates the level. By using a
"level_as_stream" you can keep a single stringstream, every "<<"
operation you append to that stringstream. Upon termination (ie:
"endl"), you use the contents of stringstream and reset it to
length=0.


> Since I can't stop evaluation of expressions without macros here,
> it can have a significant impact on performance.

it is the same as in c... as I said above.



>> that way the performance impact is negligible. AFAIR the evaluation is
>> left->right, thus the following could be grouped as:
>>
>> mydom.dbg << "hello world" << 0.3456;
>>(mydom.dbg << "hello world") << 0.3456;
>>
>> which usually the operator<<() would return an instance of itself,
>> then it results in:
>>
>>mydom.dbg << "hello world" << 0.3456;
>>mydom.dbg << "hello world";  mydom.dbg << 0.3456;
>>
>> so if operator<<() does the level check (which is very light), then we
>> get performance and usability.
>
> For printing constants that is true, but not negligible for expressions
> that are expensive to evaluate.
>
> What I *may* do is: (without impacting performance)
>
> EINA_CXX_DOM_LOG_CRIT(domain) << "hello world " << 0.3456;
>
> But I'm not 100% sure.

I disagree with EINA_CXX_DOM_LOG_CRIT(). You just need a macro to get
__FILE__, __FUNCTION__ and __LINE__. Then the following is better:

EINA_CXX_LOG(domain.crit) << "hello world" << 0.3456;

domain is a class instance and "crit" is member providing another
instance that implements a stream-like iface. Then EINA_CXX_DOM_LOG()
could be like:

   #define EINA_CXX_LOG(stream) \
  stream.start(__FILE__, __FUNCTION__, __LINE__)


[note: start() may be a horrible name, feel free to change that.]

With stream.start(const char *file, int line, const char *funcname)
returning "this" after setting those internally:

stream start(const char *file, const char *funcname, int line) {
   this.file = file; /* assume std::string or something that gets
memory right *'/
   this.funcname = funcname;
   this.line = line;
   return this;
}

Then operator<<() is something like:

stream operator<<(const char *string) {
   if (eina_log_domain_registered_level_get(this.dom)  Even with expression templates I can't stop the evaluation of the
> expressions, because it is its results that are pas

Re: [E-devel] [EGIT] [core/efl] master 02/03: eina-cxx: Added eina_log support for C++, using IOStreams syntax

2014-03-10 Thread Gustavo Sverzut Barbieri
On Mon, Mar 10, 2014 at 6:14 PM, Felipe Magno de Almeida
 wrote:
> On Mon, Mar 10, 2014 at 5:47 PM, Felipe Magno de Almeida
>  wrote:
>> On Mon, Mar 10, 2014 at 5:02 PM, Felipe Magno de Almeida
>>  wrote:
>>> Hello Gustavo,
>>
>> [snip]
>>
>> Hello Gustavo,
>>
>>> What I *may* do is: (without impacting performance)
>>>
>>> EINA_CXX_DOM_LOG_CRIT(domain) << "hello world " << 0.3456;
>>>
>>> But I'm not 100% sure.
>>
>> Yeah, I think I can do it using a trick with some for statements:
>>
>> #define EINA_CXX_DOM_LOG(DOMAIN, LEVEL) \
>> for( bool stop = false ; !stop ; stop = true )  \
>>   for(std::stringstream stream; !stop &&
>> ::eina_log_domain_level_check((DOMAIN), LEVEL); \
>>   ::efl::eina::_log(std::move(stream), (DOMAIN), LEVEL  \
>> , __FILE__, __FUNCTION__, __LINE__), stop = 
>> true) \
>> stream
>>
>> This works:
>>
>>   EINA_CXX_DOM_LOG_CRIT(domain) << "foo 0x" << std::hex << 10;
>>
>> [snip]
>>
>> Is this better?
>
> https://phab.enlightenment.org/D623

no, I'm complaining about a different issue. See my other email. I'm
complaining about the syntax and usage.

You can also think about a different solution where instead of locking
and an internal "this.message" you keep a per-thread local storage,
each thread appends to its own string/stringstream.

Your idea to have a stack-allocated stream may work to avoid the issue
as well, not sure if it will trigger a shadow warning if there is a
"stream" variable set before or how that behaves with memory
allocations. In any way there are multiple ways to achieve that, be
your for() trick, Thread-Local-Storage or whatever. That's not my
issue.

Also, I do think we do NOT need one macro per level, that's an issue
for C, but not for C++. Eventually we can even remove the CXX from the
name as it doesn't conflict with C and use either EINA_CXX_LOG(stream)
or EINA_LOG(stream). A small and simple way to log is essential to
allow someone to use logs.

The global log level just expose its level_as_stream as globals or
efl::eina:log namespace, such as err, dbg, crit, inf, wrn...

BTW, you don't need to cope with log domains created by C other than
the global log level (that is a special case). If you want to use a
log level in C++ you will be creating that in C++, there should be no
reason to use one that was created by C and use that in C++. If one
that that ever comes to happen, the developer can fallback to use the
C macros.

I'm telling you that because once you instantiate a new log domain you
already instantiate the level_as_streams, or make it lazy-allocate
based on usage.

-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (19) 99225-2202
Contact: http://www.gustavobarbieri.com.br/contact

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: Eina Log: Fixed ABI break introduce by the addition of 'color'.

2014-03-10 Thread Cedric BAIL
On Tue, Mar 11, 2014 at 1:51 AM, Tom Hacohen  wrote:
> tasn pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=c6589ffc1929b920dbbe536c19a137678f1d3ce4
>
> commit c6589ffc1929b920dbbe536c19a137678f1d3ce4
> Author: Tom Hacohen 
> Date:   Mon Mar 10 16:50:03 2014 +
>
> Eina Log: Fixed ABI break introduce by the addition of 'color'.
>
> ABI break was introduced here 5913ce7ec87beb267d2d02846e5267eae08ef860
>
> Always add new members at the end of public structures.

It would be good to also mark this field as being @since 1.10 or 1.9...

> ---
>  src/lib/eina/eina_log.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/eina/eina_log.h b/src/lib/eina/eina_log.h
> index 70f9b40..c2ac46f 100644
> --- a/src/lib/eina/eina_log.h
> +++ b/src/lib/eina/eina_log.h
> @@ -413,13 +413,15 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain;
>  struct _Eina_Log_Domain
>  {
> int level; /**< Max level to log */
> -   const char *color; /**< Color to use when printing in this domain */
> const char *domain_str; /**< Formatted string with color to print */
> const char *name; /**< Domain name */
> size_t  namelen; /**< strlen(name) */
>
> /* Private */
> Eina_Bool   deleted : 1; /**< Flags deletion of domain, a free slot */
> +
> +   /* Add new members here. */
> +   const char *color; /**< Color to use when printing in this domain */
>  };
>
>  /**
>
> --
>
>
>



-- 
Cedric BAIL

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread The Rasterman
On Mon, 10 Mar 2014 13:20:39 -0300 Gustavo Sverzut Barbieri
 said:

> sorry, but you did release it with the Eina_Log_Domain struct abi
> break that I requested the guy to fix, it wasn't fixed and got
> released :-(
> 
> move new member color as the last one in the struct, not in the
> middle. And this needs fixing in the main branch.

it's fixed in master already. :)

> On Mon, Mar 10, 2014 at 12:59 PM, Stefan Schmidt
>  wrote:
> > stefan pushed a commit to branch efl-1.9.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=bd039ce80daac9e7bb83296e00d645c9226c4957
> >
> > commit bd039ce80daac9e7bb83296e00d645c9226c4957
> > Author: Stefan Schmidt 
> > Date:   Mon Mar 10 16:18:01 2014 +0100
> >
> > release: Update NEWS and bump version for 1.9.1 release
> > ---
> >  NEWS | 30 +-
> >  configure.ac |  2 +-
> >  2 files changed, 30 insertions(+), 2 deletions(-)
> >
> > diff --git a/NEWS b/NEWS
> > index af440d8..9b1d4b4 100644
> > --- a/NEWS
> > +++ b/NEWS
> > @@ -1,7 +1,35 @@
> >  =
> > -EFL 1.9.0
> > +EFL 1.9.1
> >  =
> >
> > +Changes since 1.9.0:
> > +
> > +
> > +Additions:
> > +
> > +Improvements:
> > +
> > +Fixes:
> > +
> > +   * edje - allow lager clipper space.
> > +   * eina_log: Update domain colouring when color_disable_set is called
> > (T1029)
> > +   * edje/entry: fix to not emit "changed" signal in unnecessary cases of
> > password mode.
> > +   * Edje entry: fix bug preedit text is committed in the next entry when
> > Tab key is pressed.
> > +   * Evas filters: Avoid CRI message when using the GL engine
> > +   * Evas filters: fix clip to target calculation
> > +   * Evas filters: fix random cases of 'dancing text'
> > +   * Evas filters: fix black squares with the GL engine
> > +   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
> > +   * examples/evas: Set a proper format string for fprintf
> > +   * ecore_avahi: fix timeout to be relative from now.
> > +   * ecore: @fix race condition when using
> > ecore_main_loop_thread_safe_call_sync.
> > +   * edje: Fix CURRENT option works.
> > +   * evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
> > +   * Fix Wayland Shm engine destination calculation typo
> > +
> > +Removals:
> > +
> > +
> >  Changes since 1.8.0:
> >  
> >
> > diff --git a/configure.ac b/configure.ac
> > index 8f4023e..e534af5 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -1,4 +1,4 @@
> > -EFL_VERSION([1], [9], [0], [release])
> > +EFL_VERSION([1], [9], [1], [release])
> >  AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
> >
> >  AC_PREREQ([2.60])
> >
> > --
> >
> >
> 
> 
> 
> -- 
> Gustavo Sverzut Barbieri
> --
> Mobile: +55 (19) 99225-2202
> Contact: http://www.gustavobarbieri.com.br/contact
> 
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
- Codito, ergo sum - "I code, therefore I am" --
The Rasterman (Carsten Haitzler)ras...@rasterman.com


--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] efl-1.9 01/01: release: Update NEWS and bump version for 1.9.1 release

2014-03-10 Thread The Rasterman
On Mon, 10 Mar 2014 18:12:21 +0100 Davide Andreoli 
said:

> Also this change broke something
> * evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
> 
> and still waiting a replay from the author in ML...
> 
> Just try elementary_test -to Photo, it segfault on start with that change

yeah. this is a problem... i am unsure why though. i haven't looked yet.
valgrind says:

==31531== Memcheck, a memory error detector
==31531== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==31531== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info
==31531== Command: elementary_test -to Photo
==31531==
==31531== Invalid read of size 8
==31531==at 0xAA10820: _destructor (eina_inline_list.x:47)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0xD51FA77: eo_do_internal (eo_private.h:220)
==31531==by 0x7D22D69: _edje_file_del (edje_load.c:1396)
==31531==by 0x7D23581: _edje_object_file_set_internal (edje_load.c:408)
==31531==by 0x7D352B1: _edje_smart_mmap_set (edje_smart.c:378)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0x7D21FB8: edje_object_mmap_set (edje_load.c:91)
==31531==by 0x4FA9BBE: _elm_theme_set (elm_theme.c:324)
==31531==by 0x4FA9D2F: _elm_theme_object_set (elm_theme.c:288)
==31531==by 0x4FC4C82: _elm_widget_theme_object_set (elm_widget.c:4573)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0x4FCCFA6: elm_widget_theme_object_set (elm_widget.c:4559)
==31531==by 0x4F7E418: _elm_photo_smart_theme (elm_photo.c:67)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0x4FC94C2: elm_widget_theme (elm_widget.c:836)
==31531==by 0x4FC9548: _elm_widget_style_set (elm_widget.c:4354)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0x4FCCAE5: elm_widget_style_set (elm_widget.c:4340)
==31531==by 0x16A527: test_photo (test_photo.c:83)
==31531==by 0x123327: elm_main (test.c:829)
==31531==by 0xEFD4B04: (below main) (in /usr/lib/libc-2.19.so)
==31531==  Address 0x16d7bda0 is 2,912 bytes inside a recently re-allocated
block of size 8,192 alloc'd ==31531==at 0x4C28730: malloc
(in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==31531==by
0xE21839A: eina_chained_mempool_malloc (eina_chained_mempool.c:127)
==31531==by 0xE1F232E: eina_list_append (eina_inline_mempool.x:103)
==31531==by 0x4FD505C: _elm_widget_sub_object_add (elm_widget.c:1158)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306) ==31531==by 0x4FC6279:
elm_widget_sub_object_parent_add (elm_widget.c:1046) ==31531==by 0x4F3C00F:
_elm_image_smart_add (elm_image.c:461) ==31531==by 0xD51D036:
eo_do_super_internal (eo.c:306) ==31531==by 0x4F37E07: _elm_icon_smart_add
(elm_icon.c:594) ==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0xAA2337F: _constructor (evas_object_smart.c:678)
==31531==by 0xD51D036: eo_do_super_internal (eo.c:306)
==31531==by 0x4FD3BFD: _constructor (elm_widget.c:6569)
==31531==by 0xD51D036: eo_do_super_internal (eo.c:306)
==31531==by 0x4F3C112: _constructor (elm_image.c:823)
==31531==by 0xD51D036: eo_do_super_internal (eo.c:306)
==31531==by 0x4F37E65: _constructor (elm_icon.c:724)
==31531==by 0xD5215C7: eo_add_internal (eo.c:306)
==31531==by 0x4F369C7: elm_icon_add (elm_icon.c:713)
==31531==by 0x4F7E8AF: _elm_photo_smart_add (elm_photo.c:267)
==31531==by 0xD51F90A: eo_do_internal (eo.c:306)
==31531==by 0xAA2337F: _constructor (evas_object_smart.c:678)
==31531==by 0xD51D036: eo_do_super_internal (eo.c:306)
==31531==by 0x4FD3BFD: _constructor (elm_widget.c:6569)
==31531==by 0xD51D036: eo_do_super_internal (eo.c:306)
==31531==by 0x4F7EB52: _constructor (elm_photo.c:323)
==31531==by 0xD5215C7: eo_add_internal (eo.c:306)
==31531==by 0x4F7DD77: elm_photo_add (elm_photo.c:315)
==31531==by 0x16A3B5: test_photo (test_photo.c:58)
==31531==by 0x123327: elm_main (test.c:829)
==31531==by 0xEFD4B04: (below main) (in /usr/lib/libc-2.19.so)


> 2014-03-10 17:20 GMT+01:00 Gustavo Sverzut Barbieri :
> 
> > sorry, but you did release it with the Eina_Log_Domain struct abi
> > break that I requested the guy to fix, it wasn't fixed and got
> > released :-(
> >
> > move new member color as the last one in the struct, not in the
> > middle. And this needs fixing in the main branch.
> >
> > On Mon, Mar 10, 2014 at 12:59 PM, Stefan Schmidt
> >  wrote:
> > > stefan pushed a commit to branch efl-1.9.
> > >
> > >
> > http://git.enlightenment.org/core/efl.git/commit/?id=bd039ce80daac9e7bb83296e00d645c9226c4957
> > >
> > > commit bd039ce80daac9e7bb83296e00d645c9226c4957
> > > Author: Stefan Schmidt 
> > > Date:   Mon Mar 10 16:18:01 2014 +0100
> > >
> > > release: Update NEWS and bump version for 1.9.1 release
> > > ---
> > >  NEWS | 30 +-
> > >  configure.ac |  2 +-
> > >  2 files changed, 30 insertions(+), 2 deletions(-)
> > >

Re: [E-devel] [EGIT] [core/efl] master 01/01: Eina Log: Fixed ABI break introduce by the addition of 'color'.

2014-03-10 Thread Tom Hacohen
I wonder if this even handles pre-change code correctly. I.e code that
doesn't set color, thus having color be garbage. I bet it doesn't. This
should probably be reverted until properly fixed.


On Tue, Mar 11, 2014 at 12:29 AM, Cedric BAIL  wrote:

> On Tue, Mar 11, 2014 at 1:51 AM, Tom Hacohen  wrote:
> > tasn pushed a commit to branch master.
> >
> >
> http://git.enlightenment.org/core/efl.git/commit/?id=c6589ffc1929b920dbbe536c19a137678f1d3ce4
> >
> > commit c6589ffc1929b920dbbe536c19a137678f1d3ce4
> > Author: Tom Hacohen 
> > Date:   Mon Mar 10 16:50:03 2014 +
> >
> > Eina Log: Fixed ABI break introduce by the addition of 'color'.
> >
> > ABI break was introduced here
> 5913ce7ec87beb267d2d02846e5267eae08ef860
> >
> > Always add new members at the end of public structures.
>
> It would be good to also mark this field as being @since 1.10 or 1.9...
>
> > ---
> >  src/lib/eina/eina_log.h | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/lib/eina/eina_log.h b/src/lib/eina/eina_log.h
> > index 70f9b40..c2ac46f 100644
> > --- a/src/lib/eina/eina_log.h
> > +++ b/src/lib/eina/eina_log.h
> > @@ -413,13 +413,15 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain;
> >  struct _Eina_Log_Domain
> >  {
> > int level; /**< Max level to log */
> > -   const char *color; /**< Color to use when printing in this domain */
> > const char *domain_str; /**< Formatted string with color to print */
> > const char *name; /**< Domain name */
> > size_t  namelen; /**< strlen(name) */
> >
> > /* Private */
> > Eina_Bool   deleted : 1; /**< Flags deletion of domain, a free slot
> */
> > +
> > +   /* Add new members here. */
> > +   const char *color; /**< Color to use when printing in this domain */
> >  };
> >
> >  /**
> >
> > --
> >
> >
> >
>
>
>
> --
> Cedric BAIL
>
>
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/enventor] master 01/01: syntax_color - add a keyword CURRENT

2014-03-10 Thread ChunEon Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=b9f8a09820478c601e4102ff9d95dab6057eb23f

commit b9f8a09820478c601e4102ff9d95dab6057eb23f
Author: ChunEon Park 
Date:   Tue Mar 11 09:54:12 2014 +0900

syntax_color - add a keyword CURRENT
---
 src/bin/syntax_color.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/syntax_color.c b/src/bin/syntax_color.c
index 494b457..1b40c19 100644
--- a/src/bin/syntax_color.c
+++ b/src/bin/syntax_color.c
@@ -518,6 +518,7 @@ color_apply(color_data *cd, const char *src, int length)
 COLOR_INSERT(strbuf, &src, length, &cur, &prev, "BOUNCE", col4);
 COLOR_INSERT(strbuf, &src, length, &cur, &prev, "BOX", col4);
 COLOR_INSERT(strbuf, &src, length, &cur, &prev, "COMP", col4);
+COLOR_INSERT(strbuf, &src, length, &cur, &prev, "CURRENT", col4);
 COLOR_INSERT(strbuf, &src, length, &cur, &prev, "DECELERATE_FACTOR",
  col4);
 COLOR_INSERT(strbuf, &src, length, &cur, &prev, "DECELERATE", col4);

-- 




[EGIT] [core/efl] master 01/01: eina-cxx: Fixes compilation errors and warnings in clang

2014-03-10 Thread Felipe Magno de Almeida
cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=9e364d6f4b1718e07efa0b4105c96259ef4826b9

commit 9e364d6f4b1718e07efa0b4105c96259ef4826b9
Author: Felipe Magno de Almeida 
Date:   Tue Mar 11 10:07:17 2014 +0900

eina-cxx: Fixes compilation errors and warnings in clang

Summary: @fix compilation errors with defining variable and type on the 
same statement on clang without a default-constructor. Also removed warnings 
with inconsistent uses of struct/class for forward declaration and unused 
parameters.

Reviewers: cedric, stefan_schmidt

CC: savio, cedric

Differential Revision: https://phab.enlightenment.org/D622
---
 src/Makefile_Eina_Cxx.am   |  2 ++
 src/bindings/eina_cxx/eina_inarray.hh  |  2 +-
 src/bindings/eina_cxx/eina_inlist.hh   |  2 +-
 src/bindings/eina_cxx/eina_log.hh  | 12 
 src/bindings/eina_cxx/eina_ptrarray.hh |  6 +++---
 src/bindings/eina_cxx/eina_ptrlist.hh  |  4 ++--
 6 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/Makefile_Eina_Cxx.am b/src/Makefile_Eina_Cxx.am
index 69ae679..d82493a 100644
--- a/src/Makefile_Eina_Cxx.am
+++ b/src/Makefile_Eina_Cxx.am
@@ -14,8 +14,10 @@ bindings/eina_cxx/eina_inarray.hh  \
 bindings/eina_cxx/eina_inlist.hh   \
 bindings/eina_cxx/eina_iterator.hh \
 bindings/eina_cxx/eina_lists_auxiliary.hh \
+bindings/eina_cxx/eina_log.hh \
 bindings/eina_cxx/eina_ptrarray.hh \
 bindings/eina_cxx/eina_ptrlist.hh \
+bindings/eina_cxx/eina_range_types.hh \
 bindings/eina_cxx/eina_ref.hh \
 bindings/eina_cxx/eina_stringshare.hh \
 bindings/eina_cxx/eina_thread.hh \
diff --git a/src/bindings/eina_cxx/eina_inarray.hh 
b/src/bindings/eina_cxx/eina_inarray.hh
index 7f6f9d2..a82eaa7 100644
--- a/src/bindings/eina_cxx/eina_inarray.hh
+++ b/src/bindings/eina_cxx/eina_inarray.hh
@@ -146,7 +146,7 @@ static T& index(Eina_Inarray* raw, std::size_t i)
 };
 
 template 
-struct inarray;
+class inarray;
 
 template 
 struct range_inarray : _range_template
diff --git a/src/bindings/eina_cxx/eina_inlist.hh 
b/src/bindings/eina_cxx/eina_inlist.hh
index 9144735..a051209 100644
--- a/src/bindings/eina_cxx/eina_inlist.hh
+++ b/src/bindings/eina_cxx/eina_inlist.hh
@@ -240,7 +240,7 @@ struct _inlist_access_traits {
 };
 
 template 
-struct inlist;
+class inlist;
 
 template 
 struct range_inlist : _range_template
diff --git a/src/bindings/eina_cxx/eina_log.hh 
b/src/bindings/eina_cxx/eina_log.hh
index aec9b2e..d6b8f29 100644
--- a/src/bindings/eina_cxx/eina_log.hh
+++ b/src/bindings/eina_cxx/eina_log.hh
@@ -43,15 +43,19 @@ struct _domain_base
   }
 };
 
-const struct global_domain : _domain_base
+struct global_domain : _domain_base
 {
   int domain_raw() const { return EINA_LOG_DOMAIN_GLOBAL; }
-} global_domain;
+};
+
+struct global_domain const global_domain = {};
 
-const struct default_domain : _domain_base
+struct default_domain : _domain_base
 {
   int domain_raw() const { return EINA_LOG_DOMAIN_DEFAULT; }
-} default_domain;
+};
+
+struct default_domain const default_domain = {};
 
 struct log_domain : _domain_base
 {
diff --git a/src/bindings/eina_cxx/eina_ptrarray.hh 
b/src/bindings/eina_cxx/eina_ptrarray.hh
index b08d258..0587610 100644
--- a/src/bindings/eina_cxx/eina_ptrarray.hh
+++ b/src/bindings/eina_cxx/eina_ptrarray.hh
@@ -221,7 +221,7 @@ static eina::iterator ibegin(Eina_Array* array)
   return eina::iterator( ::eina_array_iterator_new(array) );
 }
 template 
-static eina::iterator iend(Eina_Array* array)
+static eina::iterator iend(Eina_Array*)
 {
   return eina::iterator();
 }
@@ -231,7 +231,7 @@ static eina::iterator ibegin(Eina_Array const* 
array)
   return eina::iterator( ::eina_array_iterator_new(array) );
 }
 template 
-static eina::iterator iend(Eina_Array const* array)
+static eina::iterator iend(Eina_Array const*)
 {
   return eina::iterator();
 }
@@ -259,7 +259,7 @@ static bool empty(Eina_Array const* array)
 };
 
 template 
-struct ptr_array;
+class ptr_array;
 
 template 
 struct range_ptr_array : _range_template
diff --git a/src/bindings/eina_cxx/eina_ptrlist.hh 
b/src/bindings/eina_cxx/eina_ptrlist.hh
index 435077d..f81c0ba 100644
--- a/src/bindings/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/eina_cxx/eina_ptrlist.hh
@@ -215,7 +215,7 @@ static eina::iterator ibegin(Eina_List const* list)
   return eina::iterator( ::eina_list_iterator_new(list) );
 }
 template 
-static eina::iterator iend(Eina_List const* list)
+static eina::iterator iend(Eina_List const*)
 {
   return eina::iterator();
 }
@@ -379,7 +379,7 @@ struct _mutable_range_ptr_list : _const_range_ptr_list
 };
 
 template 
-struct ptr_list;
+class ptr_list;
 
 template 
 struct range_ptr_list : _range_template

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-10 Thread woohyun
I have researched this issue - but didn't get the reason.
I'll try to fix it asap. Sorry for giving unstability. 
  
 
-Original Message-
From: "Davide Andreoli" 
To: "Enlightenment developer 
list"; 
Cc: 
Sent: 2014-03-11 (화) 05:48:04
Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace 
EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.

2014-03-08 10:01 GMT+01:00 Davide Andreoli @gurumeditation.it>:

>
> 2014-03-07 9:33 GMT+01:00 woohyun @naver.com>:
>
> It would be much helpful if you can give the valgrind trace :)
>> Only with the result of gdb, it's little bit hard to check ~
>>
>
> I do have the valgrid output but I now the segfault seems reproducible
> also in the C elm test.
> Please try:
> elementary_test -to Photo
>

woohyun: so? any news about the issue? did you tested as I suggest?

People are going to make a stable release and your commit is going to be
included, but it is still broken. Please fix it asap or we will need to
revert it.

Thanks


>
>
>
>>
>> -Original Message-
>> From: "Davide Andreoli"
>> To: "Enlightenment developer list"&
>> lt;enlightenment-devel@lists.sourceforge.net>;
>> Cc:
>> Sent: 2014-03-07 (금) 16:22:43
>> Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas: replace
>> EINA_LIST_FREE to EINA_LIST_FOREACH_SAFE.
>>
>> 2014-03-06 23:28 GMT+01:00 Cedric BAIL @free.fr>:
>>
>> > On Thu, Mar 6, 2014 at 5:26 PM, Davide Andreoli &
>> lt;dave>@gurumeditation.it>
>> > wrote:
>> > > 2014-02-27 2:36 GMT+01:00 WooHyun Jung &
>> lt;wh0705.jung>@samsung.com>:
>> > >
>> > >> woohyun pushed a commit to branch master.
>> > >>
>> > >>
>> > >>
>> >
>> 
http://git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990
>> 
>//git.enlightenment.org/core/efl.git/commit/?id=6093e68cb01cf915057b9e330f7586039d092990>>;
>> >>
>> > >> commit 6093e68cb01cf915057b9e330f7586039d092990
>> > >> Author: WooHyun Jung @samsung.com>
>> > >> Date:   Thu Feb 27 10:31:42 2014 +0900
>> > >>
>> > >> evas: replace EINA_LIST_FREE to 
EINA_LIST_FOREACH_SAFE.
>> > >>
>> > >> EINA_LIST_FREE does eina_list_remove_list, and
>> clip_unset does
>> > >> the same thing to the same list pointer. So,
>> EINA_LIST_FOREACH_SAFE
>> > >> is proper for this case.
>> > >> ---
>> > >>  src/lib/evas/canvas/evas_object_main.c | 2 +-
>> > >>  1 file changed, 1 insertion(+), 1 deletion(-)
>> > >>
>> > >> diff --git a/src/lib/evas/canvas/evas_object_main.c
>> > >> b/src/lib/evas/canvas/evas_object_main.c
>> > >> index 9db95d4..d8d3850 100644
>> > >> --- a/src/lib/evas/canvas/evas_object_main.c
>> > >> +++ b/src/lib/evas/canvas/evas_object_main.c
>> > >> @@ -654,7 +654,7 @@ _destructor(Eo *eo_obj, void *_pd,
>> va_list *list
>> > >> EINA_UNUSED)
>> > >>  goto end;
>> > >>   }
>> > >> evas_object_grabs_cleanup(eo_obj, obj);
>> > >> -   EINA_LIST_FREE(obj->clip.clipees, tmp)
>> > >> +   EINA_LIST_FOREACH_SAFE(obj->clip.clipees, l, l2, 
tmp)
>> > >>   evas_object_clip_unset(tmp->object);
>> > >> EINA_LIST_FOREACH_SAFE(obj->proxy->proxies, l,
>> l2, proxy)
>> > >>   evas_object_image_source_unset(proxy);
>> > >>
>> > >
>> > > Weird, this commit is causing a segfault in the elementary
>> photo test in
>> > > python bindings...and in my Git user interface :(
>> > >
>> > > strangely the segfault seems not reproducible in the C photo
>> test.
>> > >
>> > > The segfault is triggered when elm_object_style_set(photo,
>> "shadow") is
>> > > called.
>> > >
>> > > If I revert this commit the segfault goes away, I have no 
idea
>> why this
>> > is
>> > > happening, can you please give a look? Or tell me what I can
>> check
>> > >
>> > > This is the first part of the gdb backtrace:
>> >
>> > Would you have valgrind trace to ?
>> >
>>
>> No, sorry, I never used valgrind in python apps, dunno how to make it. 
If
>> it is really needed I can make a try this evening
>>
>>
>> > --
>> > Cedric BAIL
>> >
>> >
>> >
>> 
--
>> > Subversion Kills Productivity. Get off Subversion & Make the
>> Move to
>> > Perforce.
>> > With Perforce, you get hassle-free workflows. Merge that actually
>> works.
>> > Faster operations. Version large binaries.  Built-in WAN
>> optimization and
>> > the
>> > freedom to use Git, Perforce or both. Make the move to Perforce.
>> >
>> >
>> 
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
>> 
>//pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk>>;
>> ___
>> > enlightenment-devel mailing list
>> > enlightenment-devel@lists.sourceforge.net
>> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> > 
//lists.sourceforge.net/lists/listinfo/enlightenment-devel>>
>> ;
>>
>> 

Re: [E-devel] [EGIT] [core/efl] master 01/01: Eina Log: Fixed ABI break introduce by the addition of 'color'.

2014-03-10 Thread Cedric BAIL
On Tue, Mar 11, 2014 at 9:40 AM, Tom Hacohen  wrote:
> I wonder if this even handles pre-change code correctly. I.e code that
> doesn't set color, thus having color be garbage. I bet it doesn't. This
> should probably be reverted until properly fixed.

The structure is allocated from inside Eina, so it should not be a problem.

> On Tue, Mar 11, 2014 at 12:29 AM, Cedric BAIL  wrote:
>
>> On Tue, Mar 11, 2014 at 1:51 AM, Tom Hacohen  wrote:
>> > tasn pushed a commit to branch master.
>> >
>> >
>> http://git.enlightenment.org/core/efl.git/commit/?id=c6589ffc1929b920dbbe536c19a137678f1d3ce4
>> >
>> > commit c6589ffc1929b920dbbe536c19a137678f1d3ce4
>> > Author: Tom Hacohen 
>> > Date:   Mon Mar 10 16:50:03 2014 +
>> >
>> > Eina Log: Fixed ABI break introduce by the addition of 'color'.
>> >
>> > ABI break was introduced here
>> 5913ce7ec87beb267d2d02846e5267eae08ef860
>> >
>> > Always add new members at the end of public structures.
>>
>> It would be good to also mark this field as being @since 1.10 or 1.9...
>>
>> > ---
>> >  src/lib/eina/eina_log.h | 4 +++-
>> >  1 file changed, 3 insertions(+), 1 deletion(-)
>> >
>> > diff --git a/src/lib/eina/eina_log.h b/src/lib/eina/eina_log.h
>> > index 70f9b40..c2ac46f 100644
>> > --- a/src/lib/eina/eina_log.h
>> > +++ b/src/lib/eina/eina_log.h
>> > @@ -413,13 +413,15 @@ typedef struct _Eina_Log_Domain Eina_Log_Domain;
>> >  struct _Eina_Log_Domain
>> >  {
>> > int level; /**< Max level to log */
>> > -   const char *color; /**< Color to use when printing in this domain */
>> > const char *domain_str; /**< Formatted string with color to print */
>> > const char *name; /**< Domain name */
>> > size_t  namelen; /**< strlen(name) */
>> >
>> > /* Private */
>> > Eina_Bool   deleted : 1; /**< Flags deletion of domain, a free slot
>> */
>> > +
>> > +   /* Add new members here. */
>> > +   const char *color; /**< Color to use when printing in this domain */
>> >  };
>> >
>> >  /**
>> >
>> > --
>> >
>> >
>> >
>>
>>
>>
>> --
>> Cedric BAIL
>>
>>
>> --
>> Learn Graph Databases - Download FREE O'Reilly Book
>> "Graph Databases" is the definitive new guide to graph databases and their
>> applications. Written by three acclaimed leaders in the field,
>> this first edition is now available. Download your free book today!
>> http://p.sf.net/sfu/13534_NeoTech
>> ___
>> enlightenment-devel mailing list
>> enlightenment-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>>
> --
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Cedric BAIL

--
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 02/04: Eolian: Support of unsigned short as int in va_arg

2014-03-10 Thread Yossi Kantor
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=b070981f8f16fa493489a7a2bd9d2caaaf25bbb1

commit b070981f8f16fa493489a7a2bd9d2caaaf25bbb1
Author: Yossi Kantor 
Date:   Mon Mar 10 13:35:11 2014 +0200

Eolian: Support of unsigned short as int in va_arg
---
 src/bin/eolian/eo1_generator.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/bin/eolian/eo1_generator.c b/src/bin/eolian/eo1_generator.c
index 3853a72..2f3b8e0 100644
--- a/src/bin/eolian/eo1_generator.c
+++ b/src/bin/eolian/eo1_generator.c
@@ -331,8 +331,10 @@ _varg_upgr(const char *stype)
 {
if (!strcmp(stype, "Eina_Bool") ||
  !strcmp(stype, "char") ||
- !strcmp(stype, "short"))
+ !strcmp(stype, "short") ||
+ !strcmp(stype, "unsigned short"))
  return "int";
+
return stype;
 }
 

-- 




[EGIT] [core/efl] master 03/04: Eolian: Integration of Evas Smart Clipped

2014-03-10 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=e203ec008e8ae68f793cb6c0b835ed23de1dd61f

commit e203ec008e8ae68f793cb6c0b835ed23de1dd61f
Author: Daniel Zaoui 
Date:   Mon Mar 10 17:06:46 2014 +0200

Eolian: Integration of Evas Smart Clipped
---
 src/Makefile_Evas.am| 10 ++-
 src/lib/evas/Evas_Eo.h  |  4 ++
 src/lib/evas/canvas/evas_object_smart_clipped.c | 94 ++---
 src/lib/evas/canvas/evas_smart_clipped.eo   | 19 +
 4 files changed, 53 insertions(+), 74 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 8f07399..b3319dc 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -17,7 +17,9 @@ BUILT_SOURCES += \
  lib/evas/canvas/evas_signal_interface.eo.c \
  lib/evas/canvas/evas_signal_interface.eo.h \
  lib/evas/canvas/evas_smart.eo.c \
- lib/evas/canvas/evas_smart.eo.h
+ lib/evas/canvas/evas_smart.eo.h \
+ lib/evas/canvas/evas_smart_clipped.eo.c \
+ lib/evas/canvas/evas_smart_clipped.eo.h
 
 EXTRA_DIST += \
   lib/evas/canvas/evas_object.eo \
@@ -28,7 +30,8 @@ EXTRA_DIST += \
   lib/evas/canvas/evas_textblock.eo \
   lib/evas/canvas/evas_textgrid.eo \
   lib/evas/canvas/evas_signal_interface.eo \
-  lib/evas/canvas/evas_smart.eo
+  lib/evas/canvas/evas_smart.eo \
+  lib/evas/canvas/evas_smart_clipped.eo
 
 lib_LTLIBRARIES += lib/evas/libevas.la
 noinst_LTLIBRARIES =
@@ -51,7 +54,8 @@ nodist_installed_evascanvasheaders_DATA = \
 lib/evas/canvas/evas_textblock.eo.h \
 lib/evas/canvas/evas_textgrid.eo.h \
 
lib/evas/canvas/evas_signal_interface.eo.h \
-lib/evas/canvas/evas_smart.eo.h
+lib/evas/canvas/evas_smart.eo.h \
+lib/evas/canvas/evas_smart_clipped.eo.h
 
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 6c26ff7..282073e 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -3415,6 +3415,9 @@ enum
  *
  * @{
  */
+#include "canvas/evas_smart_clipped.eo.h"
+
+#if 0
 
 #define EVAS_OBJ_SMART_CLIPPED_CLASS evas_object_smart_clipped_eo_class_get()
 
@@ -3426,6 +3429,7 @@ enum
 {
EVAS_OBJ_SMART_CLIPPED_SUB_ID_LAST
 };
+#endif
 
 /**
  * @}
diff --git a/src/lib/evas/canvas/evas_object_smart_clipped.c 
b/src/lib/evas/canvas/evas_object_smart_clipped.c
index 212355c..d7305e9 100644
--- a/src/lib/evas/canvas/evas_object_smart_clipped.c
+++ b/src/lib/evas/canvas/evas_object_smart_clipped.c
@@ -1,8 +1,6 @@
 #include "evas_common_private.h"
 #include "evas_private.h"
 
-EAPI Eo_Op EVAS_OBJ_SMART_CLIPPED_BASE_ID = EO_NOOP;
-
 #define MY_CLASS EVAS_OBJ_SMART_CLIPPED_CLASS
 
 #define CSO_DATA_GET(eo_obj, ptr)   \
@@ -88,8 +86,8 @@ evas_object_smart_clipped_smart_add(Evas_Object *eo_obj)
evas_object_smart_data_set(eo_obj, cso);
 }
 
-static void
-_smart_add(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_evas_smart_clipped_evas_smart_add(Eo *eo_obj, Evas_Object_Smart_Clipped_Data 
*_pd EINA_UNUSED)
 {
evas_object_smart_clipped_smart_add(eo_obj);
 }
@@ -115,8 +113,8 @@ evas_object_smart_clipped_smart_del(Evas_Object *eo_obj)
evas_object_smart_data_set(eo_obj, NULL);
 }
 
-static void
-_smart_del(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_evas_smart_clipped_evas_smart_del(Eo *eo_obj, Evas_Object_Smart_Clipped_Data 
*_pd EINA_UNUSED)
 {
evas_object_smart_clipped_smart_del(eo_obj);
 }
@@ -130,11 +128,9 @@ evas_object_smart_clipped_smart_move(Evas_Object *eo_obj, 
Evas_Coord x, Evas_Coo
evas_object_smart_move_children_relative(eo_obj, x - orig_x, y - orig_y);
 }
 
-static void
-_smart_move(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list)
+EOLIAN static void
+_evas_smart_clipped_evas_smart_move(Eo *eo_obj, Evas_Object_Smart_Clipped_Data 
*_pd EINA_UNUSED, Evas_Coord x, Evas_Coord y)
 {
-   Evas_Coord x = va_arg(*list, Evas_Coord);
-   Evas_Coord y = va_arg(*list, Evas_Coord);
evas_object_smart_clipped_smart_move(eo_obj, x, y);
 }
 
@@ -146,8 +142,8 @@ evas_object_smart_clipped_smart_show(Evas_Object *eo_obj)
  evas_object_show(cso->clipper); /* just show if clipper being used */
 }
 
-static void
-_smart_show(Eo *eo_obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_evas_smart_clipped_evas_smart_show(Eo *eo_obj, Evas_Object_Smart_Clipped_Data 
*_pd EINA_UNUSED)
 {
evas_object_smart_clipped_smart_show(eo_obj);
 }
@@ -159,8 +155,8 @@ evas_object_smart_clipped_smart_hide(E

[EGIT] [core/efl] master 04/04: Eolian: Integration of Evas Table

2014-03-10 Thread Yossi Kantor
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=1b2f732d2a21e23e63426e99b2a47a80fbe6207f

commit 1b2f732d2a21e23e63426e99b2a47a80fbe6207f
Author: Yossi Kantor 
Date:   Mon Mar 10 14:13:06 2014 +0200

Eolian: Integration of Evas Table
---
 src/Makefile_Evas.am|  10 +-
 src/lib/evas/Evas_Eo.h  |   4 +-
 src/lib/evas/canvas/evas_object_table.c | 439 +++-
 src/lib/evas/canvas/evas_table.eo   | 234 +
 4 files changed, 332 insertions(+), 355 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index b3319dc..41f7747 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -19,7 +19,9 @@ BUILT_SOURCES += \
  lib/evas/canvas/evas_smart.eo.c \
  lib/evas/canvas/evas_smart.eo.h \
  lib/evas/canvas/evas_smart_clipped.eo.c \
- lib/evas/canvas/evas_smart_clipped.eo.h
+ lib/evas/canvas/evas_smart_clipped.eo.h \
+ lib/evas/canvas/evas_table.eo.c \
+ lib/evas/canvas/evas_table.eo.h
 
 EXTRA_DIST += \
   lib/evas/canvas/evas_object.eo \
@@ -31,7 +33,8 @@ EXTRA_DIST += \
   lib/evas/canvas/evas_textgrid.eo \
   lib/evas/canvas/evas_signal_interface.eo \
   lib/evas/canvas/evas_smart.eo \
-  lib/evas/canvas/evas_smart_clipped.eo
+  lib/evas/canvas/evas_smart_clipped.eo \
+  lib/evas/canvas/evas_table.eo
 
 lib_LTLIBRARIES += lib/evas/libevas.la
 noinst_LTLIBRARIES =
@@ -55,7 +58,8 @@ nodist_installed_evascanvasheaders_DATA = \
 lib/evas/canvas/evas_textgrid.eo.h \
 
lib/evas/canvas/evas_signal_interface.eo.h \
 lib/evas/canvas/evas_smart.eo.h \
-lib/evas/canvas/evas_smart_clipped.eo.h
+
lib/evas/canvas/evas_smart_clipped.eo.h \
+lib/evas/canvas/evas_table.eo.h
 
 noinst_HEADERS = \
 lib/evas/include/evas_inline.x \
diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h
index 282073e..351cec9 100644
--- a/src/lib/evas/Evas_Eo.h
+++ b/src/lib/evas/Evas_Eo.h
@@ -3986,6 +3986,8 @@ enum
  *
  * @{
  */
+#include "canvas/evas_table.eo.h"
+# if 0
 #define EVAS_OBJ_TABLE_CLASS evas_object_table_class_get()
 
 const Eo_Class *evas_object_table_class_get(void) EINA_CONST;
@@ -4237,7 +4239,7 @@ enum
  */
 #define evas_obj_table_mirrored_set(mirrored) 
EVAS_OBJ_TABLE_ID(EVAS_OBJ_TABLE_SUB_ID_MIRRORED_SET), EO_TYPECHECK(Eina_Bool, 
mirrored)
 
-
+#endif
 /**
  * @}
  */
diff --git a/src/lib/evas/canvas/evas_object_table.c 
b/src/lib/evas/canvas/evas_object_table.c
index aef6b94..b64a0bb 100644
--- a/src/lib/evas/canvas/evas_object_table.c
+++ b/src/lib/evas/canvas/evas_object_table.c
@@ -4,14 +4,12 @@
 
 #include 
 
-EAPI Eo_Op EVAS_OBJ_TABLE_BASE_ID = EO_NOOP;
-
 #define MY_CLASS EVAS_OBJ_TABLE_CLASS
 
 #define MY_CLASS_NAME "Evas_Table"
 #define MY_CLASS_NAME_LEGACY "Evas_Object_Table"
 
-typedef struct _Evas_Object_Table_Data   Evas_Object_Table_Data;
+typedef struct _Evas_Table_Data  Evas_Table_Data;
 typedef struct _Evas_Object_Table_Option Evas_Object_Table_Option;
 typedef struct _Evas_Object_Table_Cache  Evas_Object_Table_Cache;
 typedef struct _Evas_Object_Table_Iterator   Evas_Object_Table_Iterator;
@@ -61,7 +59,7 @@ struct _Evas_Object_Table_Cache
double ___pad; // padding to make sure doubles at end can be aligned
 };
 
-struct _Evas_Object_Table_Data
+struct _Evas_Table_Data
 {
Eina_List *children;
struct {
@@ -98,7 +96,7 @@ struct _Evas_Object_Table_Accessor
 };
 
 #define EVAS_OBJECT_TABLE_DATA_GET(o, ptr)  \
-   Evas_Object_Table_Data *ptr = eo_data_scope_get(o, MY_CLASS)
+   Evas_Table_Data *ptr = eo_data_scope_get(o, MY_CLASS)
 
 #define EVAS_OBJECT_TABLE_DATA_GET_OR_RETURN(o, ptr)\
EVAS_OBJECT_TABLE_DATA_GET(o, ptr);  \
@@ -202,7 +200,7 @@ _evas_object_table_cache_free(Evas_Object_Table_Cache 
*cache)
 }
 
 static void
-_evas_object_table_cache_reset(Evas_Object_Table_Data *priv)
+_evas_object_table_cache_reset(Evas_Table_Data *priv)
 {
Evas_Object_Table_Cache *c = priv->cache;
int size;
@@ -219,7 +217,7 @@ _evas_object_table_cache_reset(Evas_Object_Table_Data *priv)
 }
 
 static void
-_evas_object_table_cache_invalidate(Evas_Object_Table_Data *priv)
+_evas_object_table_cache_invalidate(Evas_Table_Data *priv)
 {
priv->hints_changed = 1;
if (priv->cache)
@@ -326,7 +324,7 @@ _evas_object_table_calculate_cell(const 
Evas_Object_Table_Option *opt, Evas_Coor
 }
 
 static void
-_evas_object_table_calculate_hints_homogeneous(Evas_Object *o, 
Evas_Object_Table_Data *priv)
+_evas_object_table_calcul