Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn.

2015-03-17 Thread ChunEon Park
be sure @fix ?

-Regards, Hermet-

-Original Message-
From: "Youngbok Shin" 
To: ; 
Cc: 
Sent: 2015-03-17 (화) 11:13:54
Subject: [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is image or 
has color, clipped area should be redrawn.
 
jpeg pushed a commit to branch master.

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

commit 84634ea51f18e6f88ca43527cfb7f2f56828e76a
Author: Youngbok Shin 
Date:   Tue Mar 17 11:02:04 2015 +0900

evas/clip: If the clipper is image or has color, clipped area should be 
redrawn.

Summary:
If the clipper is image or has color, it affects to its clipees.
Even if we unset the clipper or change the clipper to another object,
it seems the clipper is not changed.

Test Plan:
Make two clipper objects and one clipee object.
And make clip the clipee according to following example

ex) Clipee object -> inner_clipper -> clipper

evas_object_clip_set(clipee, inner_clipper);
evas_object_clip_set(inner_clipper, clipper);

After checking the result and hide inner_clipper.

evas_object_clip_set(clipee, clipper);
evas_object_hide(inner_clipper);

See the result.

Reviewers: raster, cedric, Hermet, jpeg

Subscribers: woohyun, cedric

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

Signed-off-by: Jean-Philippe Andre 

Note: Technically we should not check the color of the fact that
  the clipper is a mask and not a simple rect. But because of
  real-life performance issues, damage_add was disabled so we're
  trying to keep the perf in most cases while being correct in
  cases where the clipper is visually important.
---
 src/lib/evas/canvas/evas_clip.c  22 --
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 833a7e4..a6f1e6f 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -294,8 +294,13 @@ _evas_object_clip_set(Eo *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *
  EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur);
 /* i know this was to handle a case where a clip stops having children and
  * becomes a solid colored box - no one ever does that... they hide the clip
- * so dont add damages
- if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible))
+ * so dont add damages.
+ * But, if the clipper could affect color to its clipees,
+ * the clipped area should be redrawn. */
+ if (((obj->cur->clipper->cur) && 
(obj->cur->clipper->cur->visible)) &&
+ (((obj->cur->clipper->cur->color.r != 255)  
(obj->cur->clipper->cur->color.g != 255) 
+   (obj->cur->clipper->cur->color.b != 255)  
(obj->cur->clipper->cur->color.a != 255)) 
+  (obj->cur->clipper->mask->is_mask)))
{
   if (obj->cur->clipper->layer)
 {
@@ -307,7 +312,7 @@ _evas_object_clip_set(Eo *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *
  
obj->cur->clipper->cur->geometry.h);
 }
}
- */
+
  _evas_object_clip_mask_unset(obj->cur->clipper);
   }
 evas_object_change(obj->cur->clipper->object, obj->cur->clipper);
@@ -417,8 +422,13 @@ _evas_object_clip_unset(Eo *eo_obj, 
Evas_Object_Protected_Data *obj)
  EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur);
 /* i know this was to handle a case where a clip stops having children and
  * becomes a solid colored box - no one ever does that... they hide the clip
- * so dont add damages
- if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible))
+ * so dont add damages.
+ * But, if the clipper could affect color to its clipees,
+ * the clipped area should be redrawn. */
+ if (((obj->cur->clipper->cur) && 
(obj->cur->clipper->cur->visible)) &&
+ (((obj->cur->clipper->cur->color.r != 255)  
(obj->cur->clipper->cur->color.g != 255) 
+   (obj->cur->clipper->cur->color.b != 255)  
(obj->cur->clipper->cur->color.a != 255)) 
+  (obj->cur->clipper->mask->is_mask)))
{
   if (obj->cur->clipper->layer)
 {
@@ -430,7 +440,7 @@ _evas_object_clip_unset(Eo *eo_obj, 
Evas_Object_Protected_Data *obj)
  
obj->cur->clipper->cur->geometry.h);
 }
}
- */
+
  _evas_object_clip_mask_unset(obj->cur->clipper);
   }
 evas_object_change(obj->cur->clipper->object, obj->cur->clipper);

-- 


--
Dive into the World o

[E-devel] Can't get Erigo to Launch

2015-03-17 Thread Jeff Hoogland
Trying Erigo for the first time in awhile and I am getting this message
when I try to start it:

ERR<16944>:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No such
file or directory
ERR<16944>:eo_lexer lib/eolian/database_fill.c:221
eo_parser_database_fill() unable to create lexer
ERR<16944>:
/home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249 main()
Could not start Erigo

Using EFL/Elm built from Git today.

-- 
~Jeff Hoogland 
My Projects on GitHub 
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: Eolian: add filename to error message

2015-03-17 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

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

commit d7d9317da4a876936ae9f8c9d8f70fcd6a6394b9
Author: Daniel Zaoui 
Date:   Tue Mar 17 09:32:54 2015 +0200

Eolian: add filename to error message
---
 src/lib/eolian/database_fill.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eolian/database_fill.c b/src/lib/eolian/database_fill.c
index 2f29520..999c03b 100644
--- a/src/lib/eolian/database_fill.c
+++ b/src/lib/eolian/database_fill.c
@@ -218,7 +218,7 @@ eo_parser_database_fill(const char *filename, Eina_Bool eot)
Eo_Lexer *ls = eo_lexer_new(filename);
if (!ls)
  {
-ERR("unable to create lexer");
+ERR("unable to create lexer for file %s", filename);
 return EINA_FALSE;
  }
 

-- 




Re: [E-devel] Can't get Erigo to Launch

2015-03-17 Thread Daniel Zaoui
Hi Jeff,

On Tue, 17 Mar 2015 02:09:38 -0500
Jeff Hoogland  wrote:

> Trying Erigo for the first time in awhile and I am getting this
> message when I try to start it:
> 
> ERR<16944>:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No
> such file or directory
> ERR<16944>:eo_lexer lib/eolian/database_fill.c:221
> eo_parser_database_fill() unable to create lexer
> ERR<16944>:
> /home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249
> main() Could not start Erigo
> 
> Using EFL/Elm built from Git today.
> 

As you guessed, it works for me :D

I pushed some patch in efl to improve the error message. Please update
and tell me which file it fails on.

JackDanielZ

--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
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/clip: If the clipper is image or has color, clipped area should be redrawn.

2015-03-17 Thread Jean-Philippe André
I removed the @fix tag O_o
Do you think this should be backported?

On Tue, Mar 17, 2015 at 4:03 PM, ChunEon Park  wrote:

> be sure @fix ?
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "Youngbok Shin"
> To: ;
> Cc:
> Sent: 2015-03-17 (화) 11:13:54
> Subject: [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is
> image or has color, clipped area should be redrawn.
>
> jpeg pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=84634ea51f18e6f88ca43527cfb7f2f56828e76a
>
> commit 84634ea51f18e6f88ca43527cfb7f2f56828e76a
> Author: Youngbok Shin 
> Date:   Tue Mar 17 11:02:04 2015 +0900
>
> evas/clip: If the clipper is image or has color, clipped area should
> be redrawn.
>
> Summary:
> If the clipper is image or has color, it affects to its clipees.
> Even if we unset the clipper or change the clipper to another object,
> it seems the clipper is not changed.
>
> Test Plan:
> Make two clipper objects and one clipee object.
> And make clip the clipee according to following example
>
> ex) Clipee object -> inner_clipper -> clipper
>
> evas_object_clip_set(clipee, inner_clipper);
> evas_object_clip_set(inner_clipper, clipper);
>
> After checking the result and hide inner_clipper.
>
> evas_object_clip_set(clipee, clipper);
> evas_object_hide(inner_clipper);
>
> See the result.
>
> Reviewers: raster, cedric, Hermet, jpeg
>
> Subscribers: woohyun, cedric
>
> Differential Revision: https://phab.enlightenment.org/D2112
>
> Signed-off-by: Jean-Philippe Andre 
>
> Note: Technically we should not check the color of the fact that
>   the clipper is a mask and not a simple rect. But because of
>   real-life performance issues, damage_add was disabled so we're
>   trying to keep the perf in most cases while being correct in
>   cases where the clipper is visually important.
> ---
>  src/lib/evas/canvas/evas_clip.c  22 --
>  1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/src/lib/evas/canvas/evas_clip.c
> b/src/lib/evas/canvas/evas_clip.c
> index 833a7e4..a6f1e6f 100644
> --- a/src/lib/evas/canvas/evas_clip.c
> +++ b/src/lib/evas/canvas/evas_clip.c
> @@ -294,8 +294,13 @@ _evas_object_clip_set(Eo *eo_obj,
> Evas_Object_Protected_Data *obj, Evas_Object *
>   EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write,
> cur);
>  /* i know this was to handle a case where a clip stops having children and
>   * becomes a solid colored box - no one ever does that... they hide the
> clip
> - * so dont add damages
> - if ((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible))
> + * so dont add damages.
> + * But, if the clipper could affect color to its clipees,
> + * the clipped area should be redrawn. */
> + if (((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible)) &&
> + (((obj->cur->clipper->cur->color.r != 255)
> (obj->cur->clipper->cur->color.g != 255)
> +   (obj->cur->clipper->cur->color.b != 255)
> (obj->cur->clipper->cur->color.a != 255))
> +  (obj->cur->clipper->mask->is_mask)))
> {
>if (obj->cur->clipper->layer)
>  {
> @@ -307,7 +312,7 @@ _evas_object_clip_set(Eo *eo_obj,
> Evas_Object_Protected_Data *obj, Evas_Object *
>
> obj->cur->clipper->cur->geometry.h);
>  }
> }
> - */
> +
>   _evas_object_clip_mask_unset(obj->cur->clipper);
>}
>  evas_object_change(obj->cur->clipper->object, obj->cur->clipper);
> @@ -417,8 +422,13 @@ _evas_object_clip_unset(Eo *eo_obj,
> Evas_Object_Protected_Data *obj)
>   EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write,
> cur);
>  /* i know this was to handle a case where a clip stops having children and
>   * becomes a solid colored box - no one ever does that... they hide the
> clip
> - * so dont add damages
> - if ((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible))
> + * so dont add damages.
> + * But, if the clipper could affect color to its clipees,
> + * the clipped area should be redrawn. */
> + if (((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible)) &&
> + (((obj->cur->clipper->cur->color.r != 255)
> (obj->cur->clipper->cur->color.g != 255)
> +   (obj->cur->clipper->cur->color.b != 255)
> (obj->cur->clipper->cur->color.a != 255))
> +  (obj->cur->clipper->mask->is_mask)))
> {
>if (obj->cur->clipper->layer)
>  {
> @@ -430,7 +440,7 @@ _evas_object_clip_unset(Eo *eo_obj,
> Evas_Object_Protected_Data *obj)
>
> obj->cur->clipper->cur->geometry.h);
>  }
> }
> - */
> +
>   _evas_object_clip_mask_unset(obj->cur->

Re: [E-devel] [EGIT] [core/elementary] master 01/01: elm_panel: Fix incorrect scroller content region calculation of panel.

2015-03-17 Thread ChunEon Park
please append @fix tag 
and backport to elementary.1.13 branch.

thank you.


-Regards, Hermet-

-Original Message-
From: "Jaehyun Cho" 
To: ; 
Cc: 
Sent: 2015-03-13 (금) 17:34:42
Subject: [EGIT] [core/elementary] master 01/01: elm_panel: Fix incorrect 
scroller content region calculation of panel.
 
jaehyun pushed a commit to branch master.

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

commit 8ee8864bdc8615602e7ed45341092d26e5e76627
Author: Jaehyun Cho 
Date:   Fri Mar 13 17:27:03 2015 +0900

elm_panel: Fix incorrect scroller content region calculation of panel.

Summary:
Fix incorrect scroller content region calculation of panel.
It is fixed that the parent of panel content becomes scr_ly if panel is 
scrollable.

Test Plan:
Test Panel Scrollable in elementary_test.
1. Change panel orient as ELM_PANEL_ORIENT_RIGHT in test_panel.c.
2. Run elementary_test and test Panel Scrollable.
3. You can see the right panel drawer is hidden right after it is shown.
   (After applying this patch, this problem will be resolved.)

Reviewers: seoz, woohyun, eunue, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2125
---
 src/lib/elm_panel.c  6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c
index a8da6a8..733386f 100644
--- a/src/lib/elm_panel.c
+++ b/src/lib/elm_panel.c
@@ -886,6 +886,8 @@ _elm_panel_elm_container_content_set(Eo *obj, 
Elm_Panel_Data *sd, const char *pa
  {
 evas_object_box_append(sd->bx, sd->content);
 evas_object_show(sd->content);
+if (sd->scrollable)
+  elm_widget_sub_object_add(sd->scr_ly, sd->content);
  }
 
elm_layout_sizing_eval(obj);
@@ -940,6 +942,8 @@ _elm_panel_elm_container_content_unset(Eo *obj, 
Elm_Panel_Data *sd, const char *
ret = sd->content;
 
evas_object_box_remove_all(sd->bx, EINA_FALSE);
+   if (sd->scrollable)
+ elm_widget_sub_object_del(sd->scr_ly, sd->content);
sd->content = NULL;
 
return ret;
@@ -1384,6 +1388,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, 
Eina_Bool scrollable)
   elm_interface_scrollable_content_set(sd->scr_ly));
 sd->freeze = EINA_TRUE;
 elm_layout_content_set(sd->scr_ly, "elm.swallow.content", sd->bx);
+if (sd->content) elm_widget_sub_object_add(sd->scr_ly, sd->content);
 
 switch (sd->orient)
   {
@@ -1432,6 +1437,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, 
Eina_Bool scrollable)
 
 elm_layout_content_unset(sd->scr_ly, "elm.swallow.content");
 elm_layout_content_set(obj, "elm.swallow.content", sd->bx);
+if (sd->content) elm_widget_sub_object_add(sd->bx, sd->content);
  }
 }
 

-- 


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
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/clip: If the clipper is image or has color, clipped area should be redrawn.

2015-03-17 Thread ChunEon Park
yes, it's bug.


-Regards, Hermet-

-Original Message-
From: "Jean-Philippe André" 
To: "Enlightenment developer list"; 
Cc: 
Sent: 2015-03-17 (화) 17:25:02
Subject: Re: [E-devel] [EGIT] [core/efl] master 01/01: evas/clip: If the 
clipper is image or has color, clipped area should be redrawn.
 
I removed the @fix tag O_o
Do you think this should be backported?

On Tue, Mar 17, 2015 at 4:03 PM, ChunEon Park  wrote:

> be sure @fix ?
> 
> -Regards, Hermet-
>
> -Original Message-
> From: "Youngbok Shin"
> To: ;
> Cc:
> Sent: 2015-03-17 (화) 11:13:54
> Subject: [EGIT] [core/efl] master 01/01: evas/clip: If the clipper is
> image or has color, clipped area should be redrawn.
>
> jpeg pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=84634ea51f18e6f88ca43527cfb7f2f56828e76a
>
> commit 84634ea51f18e6f88ca43527cfb7f2f56828e76a
> Author: Youngbok Shin 
> Date:   Tue Mar 17 11:02:04 2015 +0900
>
> evas/clip: If the clipper is image or has color, clipped area should
> be redrawn.
>
> Summary:
> If the clipper is image or has color, it affects to its clipees.
> Even if we unset the clipper or change the clipper to another object,
> it seems the clipper is not changed.
>
> Test Plan:
> Make two clipper objects and one clipee object.
> And make clip the clipee according to following example
>
> ex) Clipee object -> inner_clipper -> clipper
>
> evas_object_clip_set(clipee, inner_clipper);
> evas_object_clip_set(inner_clipper, clipper);
>
> After checking the result and hide inner_clipper.
>
> evas_object_clip_set(clipee, clipper);
> evas_object_hide(inner_clipper);
>
> See the result.
>
> Reviewers: raster, cedric, Hermet, jpeg
>
> Subscribers: woohyun, cedric
>
> Differential Revision: https://phab.enlightenment.org/D2112
>
> Signed-off-by: Jean-Philippe Andre 
>
> Note: Technically we should not check the color of the fact that
>   the clipper is a mask and not a simple rect. But because of
>   real-life performance issues, damage_add was disabled so we're
>   trying to keep the perf in most cases while being correct in
>   cases where the clipper is visually important.
> ---
>  src/lib/evas/canvas/evas_clip.c  22 --
>  1 file changed, 16 insertions(+), 6 deletions(-)
>
> diff --git a/src/lib/evas/canvas/evas_clip.c
> b/src/lib/evas/canvas/evas_clip.c
> index 833a7e4..a6f1e6f 100644
> --- a/src/lib/evas/canvas/evas_clip.c
> +++ b/src/lib/evas/canvas/evas_clip.c
> @@ -294,8 +294,13 @@ _evas_object_clip_set(Eo *eo_obj,
> Evas_Object_Protected_Data *obj, Evas_Object *
>   EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write,
> cur);
>  /* i know this was to handle a case where a clip stops having children and
>   * becomes a solid colored box - no one ever does that... they hide the
> clip
> - * so dont add damages
> - if ((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible))
> + * so dont add damages.
> + * But, if the clipper could affect color to its clipees,
> + * the clipped area should be redrawn. */
> + if (((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible)) &&
> + (((obj->cur->clipper->cur->color.r != 255)
> (obj->cur->clipper->cur->color.g != 255)
> +   (obj->cur->clipper->cur->color.b != 255)
> (obj->cur->clipper->cur->color.a != 255))
> +  (obj->cur->clipper->mask->is_mask)))
> {
>if (obj->cur->clipper->layer)
>  {
> @@ -307,7 +312,7 @@ _evas_object_clip_set(Eo *eo_obj,
> Evas_Object_Protected_Data *obj, Evas_Object *
>
> obj->cur->clipper->cur->geometry.h);
>  }
> }
> - */
> +
>   _evas_object_clip_mask_unset(obj->cur->clipper);
>}
>  evas_object_change(obj->cur->clipper->object, obj->cur->clipper);
> @@ -417,8 +422,13 @@ _evas_object_clip_unset(Eo *eo_obj,
> Evas_Object_Protected_Data *obj)
>   EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write,
> cur);
>  /* i know this was to handle a case where a clip stops having children and
>   * becomes a solid colored box - no one ever does that... they hide the
> clip
> - * so dont add damages
> - if ((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible))
> + * so dont add damages.
> + * But, if the clipper could affect color to its clipees,
> + * the clipped area should be redrawn. */
> + if (((obj->cur->clipper->cur) &&
> (obj->cur->clipper->cur->visible)) &&
> + (((obj->cur->clipper->cur->color.r != 255)
> (obj->cur->clipper->cur->color.g != 255)
> +   (obj->cur->clipper->cur->color.b != 255)
> (obj->cur->clipper->cur->color.a != 255))
> +  (obj->cur->clipper->mask->is_mask)))
> 

[EGIT] [tools/edi] v0.0.2 01/01: elm_code: Remove accidental dep on efl-git

2015-03-17 Thread Andy Williams
ajwillia-ms pushed a commit to tag v0.0.2.

http://git.enlightenment.org/tools/edi.git/commit/?id=d06ca03a4aa42d079c3aefd4adec1646931b66a4

commit d06ca03a4aa42d079c3aefd4adec1646931b66a4
Author: Andy Williams 
Date:   Tue Mar 17 08:45:04 2015 +

elm_code: Remove accidental dep on efl-git
---
 elm_code/src/lib/elm_code_widget.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/elm_code/src/lib/elm_code_widget.c 
b/elm_code/src/lib/elm_code_widget.c
index 310db71..958b7e5 100644
--- a/elm_code/src/lib/elm_code_widget.c
+++ b/elm_code/src/lib/elm_code_widget.c
@@ -29,7 +29,9 @@ Eina_Unicode status_icons[] = {
 
 #define EO_CONSTRUCTOR_CHECK_RETURN(obj) do { \
Eina_Bool finalized; \
-   if (eo_do_ret(obj, finalized, eo_finalized_get())) \
+   \
+   eo_do(obj, finalized = eo_finalized_get()); \
+   if (finalized) \
  { \
 ERR("This function is only allowed during construction."); \
 return; \

-- 




[EGIT] [core/efl] master 01/01: Merge branch 'devs/cedric/emile'

2015-03-17 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 0cf042baeee9473c107e96da4499e38bfcb78281
Merge: d7d9317 f875f75
Author: Cedric BAIL 
Date:   Tue Mar 17 09:59:16 2015 +0100

Merge branch 'devs/cedric/emile'

Here come a major code refactoring. There is still work to be done, 
especially on Ecore_Con_SSl
and also image compression, but it is already an improvement over current 
situation. Further
development should happen in master.

Emile does provide a library to put together serialization, compression and 
ciphering. It is a
low level library and can be use by anything above Eina.

 COPYING|1 +
 Makefile.am|1 +
 configure.ac   |  341 +--
 data/Makefile.am   |3 -
 doc/previews/Makefile.am   |5 +-
 m4/efl.m4  |2 +-
 pc/.gitignore  |1 +
 pc/emile.pc.in |   12 +
 src/Makefile.am|   28 +-
 src/Makefile_Emile.am  |   91 +
 src/Makefile_Evas.am   |8 +-
 src/examples/ecore/Makefile.am |3 +
 src/examples/eina/Makefile.am  |2 +
 src/examples/eio/Makefile.am   |4 +
 src/examples/eolian_cxx/Makefile.am|4 +
 src/lib/ecore_con/ecore_con_socks.c|8 +-
 src/lib/ecore_con/ecore_con_ssl.c  |   83 +-
 src/lib/edje/edje_edit.c   |2 +-
 src/lib/eet/Eet.h  |   40 +-
 src/lib/eet/Eet_private.h  |   11 +
 src/lib/eet/eet_cipher.c   |  475 +---
 src/lib/eet/eet_image.c| 1181 +++---
 src/lib/eet/eet_lib.c  |  663 ++
 src/lib/eina/eina_binbuf.c |   13 +
 src/lib/eina/eina_binbuf.h |   29 +-
 src/lib/emile/Emile.h  |  117 +
 src/lib/emile/emile_cipher.c   |  151 ++
 src/lib/emile/emile_cipher.h   |  134 ++
 src/lib/emile/emile_cipher_gnutls.c|  575 +
 src/lib/emile/emile_cipher_openssl.c   | 1095 +
 src/lib/emile/emile_compress.c |  156 ++
 src/lib/emile/emile_compress.h |   90 +
 src/lib/emile/emile_image.c| 2435 
 src/lib/emile/emile_image.h|  322 +++
 src/lib/emile/emile_main.c |  176 ++
 src/lib/emile/emile_private.h  |   46 +
 src/lib/evas/Evas_Loader.h |  149 +-
 .../evas/image_loaders/jpeg/evas_image_load_jpeg.c | 1471 +---
 .../evas/image_loaders/tgv/evas_image_load_tgv.c   |  491 +---
 src/tests/emile/emile_suite.c  |  105 +
 40 files changed, 6473 insertions(+), 4051 deletions(-)

-- 




[EGIT] [core/efl] efl-1.13 01/01: evas/clip: If the clipper is image or has color, clipped area should be redrawn.

2015-03-17 Thread Youngbok Shin
jpeg pushed a commit to branch efl-1.13.

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

commit e1bcd5ccae5d8c89ac1ab14e8aea2f2c45f6e4c1
Author: Youngbok Shin 
Date:   Tue Mar 17 11:02:04 2015 +0900

evas/clip: If the clipper is image or has color, clipped area should be 
redrawn.

Summary:
If the clipper is image or has color, it affects to its clipees.
Even if we unset the clipper or change the clipper to another object,
it seems the clipper is not changed.

Test Plan:
Make two clipper objects and one clipee object.
And make clip the clipee according to following example

ex) Clipee object -> inner_clipper -> clipper

evas_object_clip_set(clipee, inner_clipper);
evas_object_clip_set(inner_clipper, clipper);

After checking the result and hide inner_clipper.

evas_object_clip_set(clipee, clipper);
evas_object_hide(inner_clipper);

See the result.

Reviewers: raster, cedric, Hermet, jpeg

Subscribers: woohyun, cedric

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

Signed-off-by: Jean-Philippe Andre 

Note: Technically we should not check the color of the fact that
  the clipper is a mask and not a simple rect. But because of
  real-life performance issues, damage_add was disabled so we're
  trying to keep the perf in most cases while being correct in
  cases where the clipper is visually important.

@fix (following hermet's advice)
---
 src/lib/evas/canvas/evas_clip.c | 22 --
 1 file changed, 16 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_clip.c b/src/lib/evas/canvas/evas_clip.c
index 0e1d43a..4eb3101 100644
--- a/src/lib/evas/canvas/evas_clip.c
+++ b/src/lib/evas/canvas/evas_clip.c
@@ -289,8 +289,13 @@ _evas_object_clip_set(Eo *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *
  EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur);
 /* i know this was to handle a case where a clip stops having children and
  * becomes a solid colored box - no one ever does that... they hide the clip
- * so dont add damages
- if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible))
+ * so dont add damages.
+ * But, if the clipper could affect color to its clipees,
+ * the clipped area should be redrawn. */
+ if (((obj->cur->clipper->cur) && 
(obj->cur->clipper->cur->visible)) &&
+ (((obj->cur->clipper->cur->color.r != 255) || 
(obj->cur->clipper->cur->color.g != 255) ||
+   (obj->cur->clipper->cur->color.b != 255) || 
(obj->cur->clipper->cur->color.a != 255)) ||
+  (obj->cur->clipper->mask->is_mask)))
{
   if (obj->cur->clipper->layer)
 {
@@ -302,7 +307,7 @@ _evas_object_clip_set(Eo *eo_obj, 
Evas_Object_Protected_Data *obj, Evas_Object *
  
obj->cur->clipper->cur->geometry.h);
 }
}
- */
+
  _evas_object_clip_mask_unset(obj->cur->clipper);
   }
 evas_object_change(obj->cur->clipper->object, obj->cur->clipper);
@@ -411,8 +416,13 @@ _evas_object_clip_unset(Eo *eo_obj, 
Evas_Object_Protected_Data *obj)
  EINA_COW_STATE_WRITE_END(obj->cur->clipper, state_write, cur);
 /* i know this was to handle a case where a clip stops having children and
  * becomes a solid colored box - no one ever does that... they hide the clip
- * so dont add damages
- if ((obj->cur->clipper->cur) && (obj->cur->clipper->cur->visible))
+ * so dont add damages.
+ * But, if the clipper could affect color to its clipees,
+ * the clipped area should be redrawn. */
+ if (((obj->cur->clipper->cur) && 
(obj->cur->clipper->cur->visible)) &&
+ (((obj->cur->clipper->cur->color.r != 255) || 
(obj->cur->clipper->cur->color.g != 255) ||
+   (obj->cur->clipper->cur->color.b != 255) || 
(obj->cur->clipper->cur->color.a != 255)) ||
+  (obj->cur->clipper->mask->is_mask)))
{
   if (obj->cur->clipper->layer)
 {
@@ -424,7 +434,7 @@ _evas_object_clip_unset(Eo *eo_obj, 
Evas_Object_Protected_Data *obj)
  
obj->cur->clipper->cur->geometry.h);
 }
}
- */
+
  _evas_object_clip_mask_unset(obj->cur->clipper);
   }
evas_object_change(obj->cur->clipper->object, obj->cur->clipper);

-- 




[EGIT] [core/efl] master 01/02: Evas GL: Fallback to safe values of depth, stencil & msaa if not supported

2015-03-17 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 9e0095a53cb03229819e39c65100e0af273a3eb0
Author: Jean-Philippe Andre 
Date:   Tue Mar 17 12:12:19 2015 +0900

Evas GL: Fallback to safe values of depth, stencil & msaa if not supported

Depth32, Stencil16 and MSAA are known to be unsupported on many platforms.
While applications should try not to request them, we can try to fallback
nicely and still render using depth24+stencil8 (which is often supported),
or reducing the number of MSAA samples (until 0 if not supported at all).
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 43 ++-
 1 file changed, 36 insertions(+), 7 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index fccf47d..b192d60 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -784,7 +784,11 @@ eng_best_visual_get(Evas_Engine_Info_GL_X11 *einfo)
  int config_attrs[40], i, n, num;
  int depth = DefaultDepth(einfo->info.display,
   einfo->info.screen);
+ int depth_bits = einfo->depth_bits;
+ int stencil_bits = einfo->stencil_bits;
+ int msaa_samples = einfo->msaa_bits;
 
+try_again:
  n = 0;
  config_attrs[n++] = EGL_SURFACE_TYPE;
  config_attrs[n++] = EGL_WINDOW_BIT;
@@ -814,31 +818,55 @@ eng_best_visual_get(Evas_Engine_Info_GL_X11 *einfo)
   config_attrs[n++] = 0;
}
 
- if (einfo->depth_bits)
+ if (depth_bits)
{
   config_attrs[n++] = EGL_DEPTH_SIZE;
-  config_attrs[n++] = einfo->depth_bits;
+  config_attrs[n++] = depth_bits;
}
 
- if (einfo->stencil_bits)
+ if (stencil_bits)
{
   config_attrs[n++] = EGL_STENCIL_SIZE;
-  config_attrs[n++] = einfo->stencil_bits;
+  config_attrs[n++] = stencil_bits;
}
 
- if (einfo->msaa_bits)
+ if (msaa_samples)
{
   config_attrs[n++] = EGL_SAMPLE_BUFFERS;
   config_attrs[n++] = 1;
   config_attrs[n++] = EGL_SAMPLES;
-  config_attrs[n++] = einfo->msaa_bits;
+  config_attrs[n++] = msaa_samples;
}
  config_attrs[n++] = EGL_NONE;
  num = 0;
  if ((!eglChooseConfig(egl_disp, config_attrs, configs, 200, &num))
  || (num < 1))
{
-  ERR("eglChooseConfig() can't find any configs");
+  ERR("eglChooseConfig() can't find any configs (gles%d, 
alpha: %d, depth: %d, stencil: %d, msaa: %d)",
+  gles3_supported ? 3 : 2, alpha, depth_bits, 
stencil_bits, msaa_samples);
+  if ((depth_bits > 24) || (stencil_bits > 8))
+{
+   WRN("Please note that GLES might not support 32-bit 
depth or "
+   "16-bit stencil buffers, so depth24, stencil8 are 
the maximum "
+   "recommended values.");
+   if (depth_bits > 24) depth_bits = 24;
+   if (stencil_bits > 8) stencil_bits = 8;
+   DBG("Trying again with depth:%d, stencil:%d", 
depth_bits, stencil_bits);
+   goto try_again;
+}
+  else if (msaa_samples)
+{
+   msaa_samples /= 2;
+   DBG("Trying again with msaa_samples: %d", msaa_samples);
+   goto try_again;
+}
+  else if (depth_bits || stencil_bits)
+{
+   depth_bits = 0;
+   stencil_bits = 0;
+   DBG("Trying again without any depth or stencil buffer");
+   goto try_again;
+}
   return NULL;
}
  found = EINA_FALSE;
@@ -973,6 +1001,7 @@ eng_best_visual_get(Evas_Engine_Info_GL_X11 *einfo)
   config_attrs[i++] = GLX_ALPHA_SIZE;
   config_attrs[i++] = 0;
}
+ // TODO: Implement support for depth, stencil & msaa
  config_attrs[i++] = GLX_DEPTH_SIZE;
  config_attrs[i++] = 0;
  config_attrs[i++] = GLX_STENCIL_SIZE;

-- 




[EGIT] [core/efl] master 02/02: Evas GL: Fallback to safe GL configs with GLX as well

2015-03-17 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 358bd3eb256c537afbc1606cef2be0233f076e1b
Author: Jean-Philippe Andre 
Date:   Tue Mar 17 12:21:00 2015 +0900

Evas GL: Fallback to safe GL configs with GLX as well
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 44 ---
 1 file changed, 39 insertions(+), 5 deletions(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index b192d60..45065cb 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -846,7 +846,7 @@ try_again:
   gles3_supported ? 3 : 2, alpha, depth_bits, 
stencil_bits, msaa_samples);
   if ((depth_bits > 24) || (stencil_bits > 8))
 {
-   WRN("Please note that GLES might not support 32-bit 
depth or "
+   WRN("Please note that your driver might not support 
32-bit depth or "
"16-bit stencil buffers, so depth24, stencil8 are 
the maximum "
"recommended values.");
if (depth_bits > 24) depth_bits = 24;
@@ -977,7 +977,11 @@ try_again:
  int config_attrs[40];
  GLXFBConfig *configs = NULL, config = 0;
  int i, num;
+ int depth_bits = einfo->depth_bits;
+ int stencil_bits = einfo->stencil_bits;
+ int msaa_samples = einfo->msaa_bits;
 
+try_again:
  i = 0;
  config_attrs[i++] = GLX_DRAWABLE_TYPE;
  config_attrs[i++] = GLX_WINDOW_BIT;
@@ -1001,11 +1005,17 @@ try_again:
   config_attrs[i++] = GLX_ALPHA_SIZE;
   config_attrs[i++] = 0;
}
- // TODO: Implement support for depth, stencil & msaa
  config_attrs[i++] = GLX_DEPTH_SIZE;
- config_attrs[i++] = 0;
+ config_attrs[i++] = depth_bits;
  config_attrs[i++] = GLX_STENCIL_SIZE;
- config_attrs[i++] = 0;
+ config_attrs[i++] = stencil_bits;
+ if (msaa_samples)
+   {
+  config_attrs[i++] = GLX_SAMPLE_BUFFERS;
+  config_attrs[i++] = 1;
+  config_attrs[i++] = GLX_SAMPLES;
+  config_attrs[i++] = msaa_samples;
+   }
  config_attrs[i++] = GLX_AUX_BUFFERS;
  config_attrs[i++] = 0;
  config_attrs[i++] = GLX_STEREO;
@@ -1019,7 +1029,31 @@ try_again:
  config_attrs, &num);
  if ((!configs) || (num < 1))
{
-  ERR("glXChooseFBConfig returned no configs");
+  ERR("glXChooseFBConfig() can't find any configs (alpha: %d, 
depth: %d, stencil: %d, msaa: %d)",
+  alpha, depth_bits, stencil_bits, msaa_samples);
+  if ((depth_bits > 24) || (stencil_bits > 8))
+{
+   WRN("Please note that your driver might not support 
32-bit depth or "
+   "16-bit stencil buffers, so depth24, stencil8 are 
the maximum "
+   "recommended values.");
+   if (depth_bits > 24) depth_bits = 24;
+   if (stencil_bits > 8) stencil_bits = 8;
+   DBG("Trying again with depth:%d, stencil:%d", 
depth_bits, stencil_bits);
+   goto try_again;
+}
+  else if (msaa_samples)
+{
+   msaa_samples /= 2;
+   DBG("Trying again with msaa_samples: %d", msaa_samples);
+   goto try_again;
+}
+  else if (depth_bits || stencil_bits)
+{
+   depth_bits = 0;
+   stencil_bits = 0;
+   DBG("Trying again without any depth or stencil buffer");
+   goto try_again;
+}
   return NULL;
}
  for (i = 0; i < num; i++)

-- 




[EGIT] [core/efl] master 10/10: ecore_cocoa: add missing window state functions

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit 59532c7d9692d70d8fb6b59a76a0611aec15ce3f
Author: pierre lamot 
Date:   Thu Mar 12 12:13:08 2015 +0100

ecore_cocoa: add missing window state functions

implement missing window state functions:

  * raise
  * lower
  * activate
  * iconified_set
  * withdrawn_set
  * move

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_cocoa/Ecore_Cocoa.h  |  2 +
 src/lib/ecore_cocoa/ecore_cocoa_window.m   | 40 ++
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c| 64 +++---
 3 files changed, 98 insertions(+), 8 deletions(-)

diff --git a/src/lib/ecore_cocoa/Ecore_Cocoa.h 
b/src/lib/ecore_cocoa/Ecore_Cocoa.h
index c081721..3b65001 100644
--- a/src/lib/ecore_cocoa/Ecore_Cocoa.h
+++ b/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -145,6 +145,8 @@ EAPI void ecore_cocoa_window_raise(Ecore_Cocoa_Window 
*window);
 
 EAPI void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window);
 
+EAPI void ecore_cocoa_window_activate(Ecore_Cocoa_Window *window);
+
 EAPI void ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window,
const char *title);
 
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m 
b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index b231106..eabc65f 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -410,6 +410,46 @@ ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)
   [window->window orderOut:NSApp];
 }
 
+void ecore_cocoa_window_raise(Ecore_Cocoa_Window *window)
+{
+  if (!window)
+return;
+
+  [window->window orderFront:nil];
+}
+
+void ecore_cocoa_window_lower(Ecore_Cocoa_Window *window)
+{
+   if (!window)
+ return;
+
+   [window->window orderBack:nil];
+}
+
+void ecore_cocoa_window_activate(Ecore_Cocoa_Window *window)
+{
+   if (!window)
+ return;
+
+   [window->window makeKeyAndOrderFront:nil];
+}
+
+void ecore_cocoa_window_iconified_set(Ecore_Cocoa_Window *window,
+  int on)
+{
+   if (!window)
+ return;
+
+   if (on)
+ {
+[window->window miniaturize:nil];
+ }
+   else
+ {
+[window->window deminiaturize:nil];
+ }
+}
+
 void
 ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,
   int on)
diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c 
b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
index 5adf742..985792b 100644
--- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
+++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
@@ -319,7 +319,14 @@ _ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h)
 {
ecore_cocoa_window_size_step_set((Ecore_Cocoa_Window *)ee->prop.window, w, 
h);
 }
-  
+
+static void
+_ecore_evas_move(Ecore_Evas *ee, int x, int y)
+{
+   DBG("Move");
+   ecore_cocoa_window_move((Ecore_Cocoa_Window *)ee->prop.window, x, y);
+}
+
 static void
 _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
 {
@@ -390,6 +397,38 @@ _ecore_evas_hide(Ecore_Evas *ee)
 }
 
 static void
+_ecore_evas_raise(Ecore_Evas *ee)
+{
+   DBG("Raise");
+   
+   ecore_cocoa_window_raise((Ecore_Cocoa_Window *)ee->prop.window);
+}
+
+static void
+_ecore_evas_lower(Ecore_Evas *ee)
+{
+   DBG("Lower");
+
+   ecore_cocoa_window_lower((Ecore_Cocoa_Window *)ee->prop.window);
+}
+
+static void
+_ecore_evas_activate(Ecore_Evas *ee)
+{
+   DBG("Activate");
+
+   ecore_cocoa_window_activate((Ecore_Cocoa_Window *)ee->prop.window);
+}
+
+static void
+_ecore_evas_iconified_set(Ecore_Evas *ee, Eina_Bool on)
+{
+   DBG("IconifiedSet");
+
+   ecore_cocoa_window_iconified_set((Ecore_Cocoa_Window *)ee->prop.window, on);
+}
+
+static void
 _ecore_evas_title_set(Ecore_Evas *ee, const char *title)
 {
INF("ecore evas title set");
@@ -455,6 +494,15 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object 
*obj, int layer, int h
   evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, 
_ecore_evas_object_cursor_del, ee);
 }
 
+static void
+_ecore_evas_withdrawn_set(Ecore_Evas *ee, Eina_Bool on)
+{
+  if (on)
+   _ecore_evas_hide(ee);
+  else
+   _ecore_evas_show(ee);
+}
+
 static int
 _ecore_evas_engine_cocoa_init(Ecore_Evas *ee)
 {
@@ -518,8 +566,8 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func =
 NULL,
 NULL,
 NULL,
-_ecore_evas_callback_delete_request_set,
 NULL,
+_ecore_evas_callback_delete_request_set,
 NULL,
 NULL,
 NULL,
@@ -529,7 +577,7 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func =
 NULL,
 NULL,
 NULL,
-NULL, //move
+_ecore_evas_move, //move
 NULL,
 _ecore_evas_resize,
 _ecore_evas_move_resize,
@@ -537,9 +585,9 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func =
 NULL, //shaped
 _ecore_evas_

[EGIT] [core/efl] master 07/10: ecore_cocoa: don't reject mouse events outside the window

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit ef7e8562a1cb73e0df5d5ee97d0d7c2c1426c0c4
Author: pierre lamot 
Date:   Tue Mar 3 17:11:08 2015 +0100

ecore_cocoa: don't reject mouse events outside the window

mouse events ouside the window where rejected. that was creating
interactions where half an event was created, the application was
then not able to process correctly following events.

@fix

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_cocoa/ecore_cocoa_window.m | 12 ++--
 1 file changed, 2 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m 
b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index 62743d9..2586087 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -117,18 +117,14 @@
NSPoint event_location = [event locationInWindow];
NSPoint pt = [view convertPoint:event_location fromView:nil];
 
-   int w = [view frame].size.width;
int h = [view frame].size.height;
int x = pt.x;
int y = h - pt.y;
 
-   if (y <= 0 || x <= 0 || y > h || x > w)
- return;
-
Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
if (!ev) return;
 
-   ev->x = pt.x;
+   ev->x = x;
ev->y = y;
ev->root.x = ev->x;
ev->root.y = ev->y;
@@ -174,18 +170,14 @@
NSPoint event_location = [event locationInWindow];
NSPoint pt = [view convertPoint:event_location fromView:nil];
 
-   int w = [view frame].size.width;
int h = [view frame].size.height;
int x = pt.x;
int y = h - pt.y;
 
-   if (y <= 0 || x <= 0 || y > h || x > w)
- return;
-
Ecore_Event_Mouse_Button * ev = calloc(1, sizeof(Ecore_Event_Mouse_Button));
if (!ev) return;
 
-   ev->x = pt.x;
+   ev->x = x;
ev->y = y;
ev->root.x = ev->x;
ev->root.y = ev->y;

-- 




[EGIT] [core/efl] master 08/10: ecore_cocoa: fix mouse scrollwheel direction

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit be98af31bf2b2b1931018f71a628b9089be89675
Author: pierre lamot 
Date:   Tue Mar 3 18:11:55 2015 +0100

ecore_cocoa: fix mouse scrollwheel direction

horizontal and vertical direction where inverted

@fix
---
 src/lib/ecore_cocoa/ecore_cocoa.m | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m 
b/src/lib/ecore_cocoa/ecore_cocoa.m
index a20c72b..1da3ed5 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -333,7 +333,7 @@ ecore_cocoa_feed_events(void *anEvent)
  ev->modifiers = 0; /* FIXME: keep modifier around. */
  ev->timestamp = time;
  ev->z = [event deltaX] != 0 ? [event deltaX] : -([event deltaY]);
- ev->direction = [event deltaX] != 0 ? 0 : 1;
+ ev->direction = [event deltaX] != 0 ? 1 : 0;
 
  ecore_event_add(ECORE_EVENT_MOUSE_WHEEL, ev, NULL, NULL);
 

-- 




[EGIT] [core/efl] master 02/10: evas: make current context on lockFocus for gl_cocoa backend.

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit e573d65424abb1f0425e183516880d30e0227a2e
Author: pierre lamot 
Date:   Fri Jan 30 17:42:09 2015 +0100

evas: make current context on lockFocus for gl_cocoa backend.

make current context on lockFocus as suggested by (following best practice):

https://developer.apple.com/library/mac/documentation/GraphicsImaging/Conceptual/OpenGL-MacProgGuide

@fix

Signed-off-by: Cedric BAIL 
---
 .../evas/engines/gl_cocoa/evas_gl_cocoa_main.m | 24 --
 1 file changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m 
b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
index 256bd66..6a4c0ad 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
+++ b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
@@ -59,13 +59,25 @@ static NSOpenGLContext *_evas_gl_cocoa_shared_context = 
NULL;
return self;
 }
 
+- (void)lockFocus
+{
+   NSOpenGLContext* context = [self openGLContext];
+
+   [super lockFocus];
+
+   if ([context view] != self) {
+  [context setView:self];
+   }
+   [context makeCurrentContext];
+}
+
 @end
 
 
 Evas_GL_Cocoa_Window *
 eng_window_new(void *window,
-  int  w,
-  int  h)
+   int  w,
+   int  h)
 {
Evas_GL_Cocoa_Window *gw;
 
@@ -81,8 +93,8 @@ eng_window_new(void *window,
 
if (!gw->gl_context)
  {
-   free(gw);
-   return NULL;
+free(gw);
+return NULL;
  }
evas_gl_common_context_use(gw->gl_context);
evas_gl_common_context_resize(gw->gl_context, w, h, 0);
@@ -106,10 +118,10 @@ eng_window_use(Evas_GL_Cocoa_Window *gw)
 {
if (_evas_gl_cocoa_window != gw)
  {
-   [[(NSOpenGLView*)gw->view openGLContext] makeCurrentContext];
+[[(NSOpenGLView*)gw->view openGLContext] makeCurrentContext];
 if (_evas_gl_cocoa_window)
   evas_gl_common_context_flush(_evas_gl_cocoa_window->gl_context);
-   _evas_gl_cocoa_window = gw;
+_evas_gl_cocoa_window = gw;
 
  }
evas_gl_common_context_use(gw->gl_context);

-- 




[EGIT] [core/efl] master 04/10: ecore_cocoa: add support for non latin keyboard events

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit fec6d1207ac0b34f5ab83ef25e797c10e129cdc1
Author: pierre lamot 
Date:   Fri Feb 20 14:35:16 2015 +0100

ecore_cocoa: add support for non latin keyboard events

this patch adds support for non latin keyboard layout such as
arabic, greek or hebrew, some language might not be functionnal
tough like korean or chineese

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_cocoa/ecore_cocoa.m | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m 
b/src/lib/ecore_cocoa/ecore_cocoa.m
index a28dc99..a20c72b 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -139,6 +139,11 @@ _ecore_cocoa_event_key(NSEvent *event, int keyType)
   break;
}
   }
+if (ev->keyname == NULL)
+  {
+ ev->keyname = "";
+ ev->key = "";
+  }
  }
 
if ([keycharRaw length] == 0  && keyType == NSKeyDown)

-- 




[EGIT] [core/efl] master 06/10: eio: don't restart a monitor on MacOSX when every paths have been removed.

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit de767cabfaf84f262c785ce468508f6ed52cc009
Author: pierre lamot 
Date:   Tue Mar 3 17:01:03 2015 +0100

eio: don't restart a monitor on MacOSX when every paths have been removed.

This patch check that when a monitor is removed the FSEvent service, it is
not restarted if there is no more paths to monitor. This was generating an
error message from FSEvent.

Signed-off-by: Cedric BAIL 
---
 src/lib/eio/eio_monitor_cocoa.c  | 22 ++-
 src/tests/eio/eio_test_monitor.c | 80 
 2 files changed, 92 insertions(+), 10 deletions(-)

diff --git a/src/lib/eio/eio_monitor_cocoa.c b/src/lib/eio/eio_monitor_cocoa.c
index ea1d793..8cadeaf 100644
--- a/src/lib/eio/eio_monitor_cocoa.c
+++ b/src/lib/eio/eio_monitor_cocoa.c
@@ -195,7 +195,6 @@ _eio_get_monitor_path(const char *path, char **monpath, 
char **fullpath)
char realPath[PATH_MAX];
char *realPathOk;
char *dname = NULL;
-   char *fname = NULL;
struct stat sb;
 
realPathOk = realpath(path, realPath);
@@ -383,15 +382,18 @@ void eio_monitor_backend_del(Eio_Monitor *monitor)
 CFArrayRemoveValueAtIndex(_paths_to_watch, idx);
  }
 
-   _stream = FSEventStreamCreate(NULL,
- _eio_fsevent_cb,
- NULL,
- _paths_to_watch,
- eventid,
- _latency,
- kFSEventStreamCreateFlagFileEvents
- | kFSEventStreamCreateFlagNoDefer
-);
+   if (CFArrayGetCount(_paths_to_watch) > 0)
+ {
+_stream = FSEventStreamCreate(NULL,
+  _eio_fsevent_cb,
+  NULL,
+  _paths_to_watch,
+  eventid,
+  _latency,
+  kFSEventStreamCreateFlagFileEvents
+  | kFSEventStreamCreateFlagNoDefer
+  );
+ }
backend = monitor->backend;
monitor->backend = NULL;
if (!backend) return;
diff --git a/src/tests/eio/eio_test_monitor.c b/src/tests/eio/eio_test_monitor.c
index 378c427..ba5943f 100644
--- a/src/tests/eio/eio_test_monitor.c
+++ b/src/tests/eio/eio_test_monitor.c
@@ -135,6 +135,82 @@ static void _common_shutdown(Eina_Tmpstr *dirname)
 
 /// tests monitoring a directory
 
+START_TEST(eio_test_monitor_add_and_remove)
+{
+   Eina_Tmpstr *dirname = _common_init();
+   Eina_Stringshare *filename;
+   Eio_Monitor *monitor;
+
+   filename = 
eina_stringshare_printf("%s/eio_test_monitor_directory_file_created_notify", 
dirname);
+   _create_directory((void*)filename);
+
+   //sleep to avoid catching event generated by above manipulations
+   usleep(50);
+
+   //monitor directory
+   monitor = eio_monitor_add(filename);
+   
+   usleep(50);
+   
+   eio_monitor_del(monitor);
+
+   _common_shutdown(dirname);
+}
+END_TEST
+
+START_TEST(eio_test_monitor_add_remove_add)
+{
+   Eina_Tmpstr *dirname = _common_init();
+   Eina_Stringshare *filename;
+   Eio_Monitor *monitor1;
+   Eio_Monitor *monitor2;
+
+   filename = eina_stringshare_printf("%s/eio_test_monitor_add_remove_add", 
dirname);
+   _create_directory((void*)filename);
+
+   //sleep to avoid catching event generated by above manipulations
+   usleep(50);
+
+   //monitor directory
+   monitor1 = eio_monitor_add(filename);
+   eio_monitor_del(monitor1);
+   
+   usleep(50);
+   
+   monitor2 = eio_monitor_add(filename);
+   eio_monitor_del(monitor2);
+
+   _common_shutdown(dirname);
+}
+END_TEST
+
+START_TEST(eio_test_monitor_add_add_remove_remove)
+{
+   Eina_Tmpstr *dirname = _common_init();
+   Eina_Stringshare *filename1;
+   Eina_Stringshare *filename2;
+   Eio_Monitor *monitor1;
+   Eio_Monitor *monitor2;
+
+   filename1 = 
eina_stringshare_printf("%s/eio_test_monitor_add_add_remove_remove", dirname);
+   filename2 = 
eina_stringshare_printf("%s/eio_test_monitor_add_add_remove_remove", dirname);
+   _create_directory((void*)filename1);
+   _create_directory((void*)filename2);
+
+   //sleep to avoid catching event generated by above manipulations
+   usleep(50);
+
+   //monitor directory
+   monitor1 = eio_monitor_add(filename1);   
+   monitor2 = eio_monitor_add(filename2);
+   usleep(50);
+   eio_monitor_del(monitor2);
+   eio_monitor_del(monitor1);
+
+   _common_shutdown(dirname);
+}
+END_TEST
+
 static void _file_created_cb(void *data, int type, void *event)
 {
ck_assert_int_eq(type, (int)EIO_MONITOR_FILE_CREATED);
@@ -650,6 +726,10 @@ END_TEST
 
 void eio_test_monitor(TCase *tc)
 {
+   tcase_add_test(tc, eio_test_monitor_add_and_remov

[EGIT] [core/efl] master 03/10: ecore_evas: rewrite render loop to conform with other engines.

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit c80f527dbc2a0714014263401310ee0eef69b889
Author: pierre lamot 
Date:   Fri Jan 30 18:21:14 2015 +0100

ecore_evas: rewrite render loop to conform with other engines.

Signed-off-by: Cedric BAIL 
---
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c| 39 --
 1 file changed, 21 insertions(+), 18 deletions(-)

diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c 
b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
index be18222..1dc290b 100644
--- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
+++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
@@ -27,7 +27,19 @@ static Ecore_Idle_Enterer   *ecore_evas_idle_enterer = 
NULL;
 
 //static const char   *ecore_evas_cocoa_default = "EFL Cocoa";
 
+static int
+_ecore_evas_render(Ecore_Evas *ee)
+{
+   Eina_List *updates;
 
+   updates = evas_render_updates(ee->evas);
+   if (updates)
+ {
+evas_render_updates_free(updates);
+_ecore_evas_idle_timeout_update(ee);
+ }
+  return updates ? 1 : 0;
+}
 
 static int
 _ecore_evas_cocoa_render(Ecore_Evas *ee)
@@ -48,29 +60,20 @@ _ecore_evas_cocoa_render(Ecore_Evas *ee)
  }
 
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
-   updates = evas_render_updates(ee->evas);
+
if (ee->prop.avoid_damage)
  {
-updates = evas_render_updates(ee->evas);
-if (updates) evas_render_updates_free(updates);
+rend = _ecore_evas_render(ee);
  }
else if ((ee->visible) ||
 ((ee->should_be_visible) && (ee->prop.fullscreen)) ||
 ((ee->should_be_visible) && (ee->prop.override)))
  {
-if (ee->shaped)
-  {
- updates = evas_render_updates(ee->evas);
- if (updates) evas_render_updates_free(updates);
-  }
-else
-  {
- updates = evas_render_updates(ee->evas);
- if (updates) evas_render_updates_free(updates);
-  }
+rend |= _ecore_evas_render(ee);
  }
else
  evas_norender(ee->evas);
+
if (updates) rend = 1;
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
 
@@ -85,7 +88,7 @@ _ecore_evas_cocoa_render(Ecore_Evas *ee)
 if ((t - t0) > 1.0)
   {
  td = t - t0;
- printf("FPS: %3.3f\n", (double)frames / td);
+ DBG("FPS: %3.3f\n", (double)frames / td);
  frames = 0;
  t0 = t;
   }
@@ -278,7 +281,7 @@ _ecore_evas_cocoa_shutdown(void)
  _ecore_evas_free(ee);
 
   for (i = 0; i < sizeof (ecore_evas_event_handlers) / sizeof 
(Ecore_Event_Handler*); i++)
-   ecore_event_handler_del(ecore_evas_event_handlers[i]);
+ecore_event_handler_del(ecore_evas_event_handlers[i]);
   ecore_event_evas_shutdown();
   ecore_idle_enterer_del(ecore_evas_idle_enterer);
   ecore_evas_idle_enterer = NULL;
@@ -423,8 +426,8 @@ _ecore_evas_object_cursor_set(Ecore_Evas *ee, Evas_Object 
*obj, int layer, int h
   evas_pointer_output_xy_get(ee->evas, &x, &y);
   evas_object_layer_set(ee->prop.cursor.object, ee->prop.cursor.layer);
   evas_object_move(ee->prop.cursor.object,
-  x - ee->prop.cursor.hot.x,
-  y - ee->prop.cursor.hot.y);
+   x - ee->prop.cursor.hot.x,
+   y - ee->prop.cursor.hot.y);
 
   evas_object_pass_events_set(ee->prop.cursor.object, 1);
 
@@ -464,7 +467,7 @@ _ecore_evas_engine_cocoa_init(Ecore_Evas *ee)
  ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
  return 0;
   }
-   ecore_cocoa_window_view_set(einfo->window, einfo->view);
+ecore_cocoa_window_view_set(einfo->window, einfo->view);
  }
else
  {

-- 




[EGIT] [core/efl] master 09/10: ecore_cocoa: add functions to allow min/max window size

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit ca3bd69485f2c8c49a7a121bcb32b7862736a2e4
Author: pierre lamot 
Date:   Wed Mar 11 15:31:36 2015 +0100

ecore_cocoa: add functions to allow min/max window size

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_cocoa/ecore_cocoa_window.m   | 33 ++
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c| 24 ++--
 2 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m 
b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index 2586087..b231106 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -293,6 +293,39 @@ ecore_cocoa_window_free(Ecore_Cocoa_Window *window)
 }
 
 void
+ecore_cocoa_window_size_min_set(Ecore_Cocoa_Window *window,
+unsigned int w,
+unsigned int h)
+{
+  if (!window)
+return;
+  NSSize size = {w,h};
+  window->window.contentMinSize = size;
+}
+
+void
+ecore_cocoa_window_size_max_set(Ecore_Cocoa_Window *window,
+unsigned int w,
+unsigned int h)
+{
+  if (!window)
+return;
+  NSSize size = {w,h};
+  window->window.contentMaxSize = size;
+}
+
+void
+ecore_cocoa_window_size_step_set(Ecore_Cocoa_Window *window,
+ unsigned int w,
+ unsigned int h)
+{
+  if (!window)
+return;
+  NSSize size = {w,h};
+  window->window.contentResizeIncrements = size;
+}
+
+void
 ecore_cocoa_window_move(Ecore_Cocoa_Window *window,
int x,
int y)
diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c 
b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
index 1dc290b..5adf742 100644
--- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
+++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
@@ -303,6 +303,24 @@ _ecore_evas_cocoa_free(Ecore_Evas *ee)
 }
 
 static void
+_ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h)
+{
+   ecore_cocoa_window_size_min_set((Ecore_Cocoa_Window *)ee->prop.window, w, 
h);
+}
+
+static void
+_ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h)
+{
+   ecore_cocoa_window_size_max_set((Ecore_Cocoa_Window *)ee->prop.window, w, 
h);
+}
+
+static void
+_ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h)
+{
+   ecore_cocoa_window_size_step_set((Ecore_Cocoa_Window *)ee->prop.window, w, 
h);
+}
+  
+static void
 _ecore_evas_resize(Ecore_Evas *ee, int w, int h)
 {
   DBG("Resize");
@@ -524,10 +542,10 @@ static Ecore_Evas_Engine_Func _ecore_cocoa_engine_func =
 NULL, //activate
 _ecore_evas_title_set,
 NULL,
+_ecore_evas_size_min_set,
+_ecore_evas_size_max_set,
 NULL,
-NULL,
-NULL,
-NULL,
+_ecore_evas_size_step_set,
 _ecore_evas_object_cursor_set,
 _ecore_evas_object_cursor_unset,
 NULL,

-- 




[EGIT] [core/efl] master 01/10: ecore_cocoa: release resources on window close event

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit 6ea9b476ad50bf218f3b0ca46df47b1a40517882
Author: pierre lamot 
Date:   Fri Jan 30 17:15:55 2015 +0100

ecore_cocoa: release resources on window close event

@fix this patch:

catch the window close event from cocoa and send an ecore event
this event is catched by a handler in ecore_evas wich will
call the registered fn_delete_request (from elementary for instance)

/!\ this patch is currently incomplete and leads to a segv when
closing the last window

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_cocoa/Ecore_Cocoa.h  |  1 +
 src/lib/ecore_cocoa/ecore_cocoa.m  |  2 ++
 src/lib/ecore_cocoa/ecore_cocoa_window.m   | 11 
 .../ecore_evas/engines/cocoa/ecore_evas_cocoa.c| 33 --
 src/modules/evas/engines/gl_cocoa/evas_engine.c|  2 --
 5 files changed, 45 insertions(+), 4 deletions(-)

diff --git a/src/lib/ecore_cocoa/Ecore_Cocoa.h 
b/src/lib/ecore_cocoa/Ecore_Cocoa.h
index 50796f1..c081721 100644
--- a/src/lib/ecore_cocoa/Ecore_Cocoa.h
+++ b/src/lib/ecore_cocoa/Ecore_Cocoa.h
@@ -38,6 +38,7 @@ EAPI extern int ECORE_COCOA_EVENT_GOT_FOCUS;
 EAPI extern int ECORE_COCOA_EVENT_LOST_FOCUS;
 EAPI extern int ECORE_COCOA_EVENT_RESIZE;
 EAPI extern int ECORE_COCOA_EVENT_EXPOSE;
+EAPI extern int ECORE_COCOA_EVENT_WINDOW_DESTROY;
 
 typedef void * Ecore_Cocoa_Window_Id;
 typedef struct _Ecore_Cocoa_Event_Video_Resize Ecore_Cocoa_Event_Video_Resize;
diff --git a/src/lib/ecore_cocoa/ecore_cocoa.m 
b/src/lib/ecore_cocoa/ecore_cocoa.m
index 4f1b01f..a28dc99 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa.m
@@ -20,6 +20,7 @@ EAPI int ECORE_COCOA_EVENT_GOT_FOCUS = 0;
 EAPI int ECORE_COCOA_EVENT_LOST_FOCUS = 0;
 EAPI int ECORE_COCOA_EVENT_RESIZE = 0;
 EAPI int ECORE_COCOA_EVENT_EXPOSE = 0;
+EAPI int ECORE_COCOA_EVENT_WINDOW_DESTROY = 0;
 
 static int _ecore_cocoa_init_count = 0;
 
@@ -50,6 +51,7 @@ ecore_cocoa_init(void)
ECORE_COCOA_EVENT_LOST_FOCUS = ecore_event_type_new();
ECORE_COCOA_EVENT_RESIZE = ecore_event_type_new();
ECORE_COCOA_EVENT_EXPOSE = ecore_event_type_new();
+   ECORE_COCOA_EVENT_WINDOW_DESTROY = ecore_event_type_new();
 
/* Init the Application handler */
[Ecore_Cocoa_Application sharedApplication];
diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m 
b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index 4c5352f..62743d9 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -50,6 +50,17 @@
 - (void)windowWillClose:(NSNotification *) EINA_UNUSED notification
 {
NSLog(@"window is going to be closed");
+   Ecore_Cocoa_Event_Window *event;
+
+   event = malloc(sizeof(Ecore_Cocoa_Event_Window));
+   if (event == NULL)
+ {
+  // FIXME Use Eina_Log
+  printf("Failed to allocate Ecore_Cocoa_Event_Window_destroy\n");
+  return;
+ }
+   event->wid = [notification object];
+   ecore_event_add(ECORE_COCOA_EVENT_WINDOW_DESTROY, event, NULL, NULL);
 }
 
 - (void)windowDidResize:(NSNotification *) EINA_UNUSED notif
diff --git a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c 
b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
index 324ec017..be18222 100644
--- a/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
+++ b/src/modules/ecore_evas/engines/cocoa/ecore_evas_cocoa.c
@@ -20,7 +20,7 @@ static int  _ecore_evas_init_count = 0;
 // FIXME: In case we have a lot of windows per app, we should probably use 
another container
 // like a rbtree or a dictionnary-based container
 static Eina_List*ecore_evases = NULL;
-static Ecore_Event_Handler  *ecore_evas_event_handlers[4] = {
+static Ecore_Event_Handler  *ecore_evas_event_handlers[5] = {
   NULL, NULL, NULL, NULL
 };
 static Ecore_Idle_Enterer   *ecore_evas_idle_enterer = NULL;
@@ -204,6 +204,27 @@ _ecore_evas_cocoa_event_video_expose(void *data 
EINA_UNUSED, int type EINA_UNUSE
   return ECORE_CALLBACK_PASS_ON;
 }
 
+static Eina_Bool
+_ecore_evas_cocoa_event_window_destroy(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *event)
+{
+   Ecore_Cocoa_Event_Window *e = event;
+   Ecore_Evas   *ee;
+
+   DBG("Window destroy");
+
+   ee = _ecore_evas_cocoa_match(e->wid);
+   if (!ee)
+ {
+WRN("%s: Unregistered Ecore_Evas for window Id %p\n", __func__, 
e->wid);
+return ECORE_CALLBACK_PASS_ON;
+ }
+
+   if (ee->func.fn_delete_request) ee->func.fn_delete_request(ee);
+
+   return ECORE_CALLBACK_PASS_ON;
+}
+
+
 //static int
 //_ecore_evas_idle_enter(void *data EINA_UNUSED)
 //{
@@ -238,6 +259,7 @@ _ecore_evas_cocoa_init(void)
   ecore_evas_event_handlers[1] = 
ecore_event_handler_add(ECORE_COCOA_EVENT_LOST_FOCUS, 
_ecore_evas_cocoa_event_lost_focus, NULL);
   ecore_ev

[EGIT] [core/efl] master 05/10: evas: bypass lockfocus in NSView on OSX

2015-03-17 Thread pierre lamot
cedric pushed a commit to branch master.

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

commit c380812496f226d6d3243a2b1c083f6aed8a4dc9
Author: pierre lamot 
Date:   Tue Feb 24 15:50:58 2015 +0100

evas: bypass lockfocus in NSView on OSX

this patch bypass calls to (un)lockFocus, avoid segv
when closing windows

This is certainly not the cleanest way to do it but it seems
to be working correctly at the moment. this may leads to
unexepected behavior which haven't been identified now

@fix

Signed-off-by: Cedric BAIL 
---
 src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m 
b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
index 6a4c0ad..882a7d7 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
+++ b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m
@@ -1,4 +1,3 @@
-
 #include 
 
 #include "evas_engine.h"
@@ -59,12 +58,16 @@ static NSOpenGLContext *_evas_gl_cocoa_shared_context = 
NULL;
return self;
 }
 
+- (void)unlockFocus
+{
+   //[super unlockFocus];
+}
+
 - (void)lockFocus
 {
NSOpenGLContext* context = [self openGLContext];
 
-   [super lockFocus];
-
+   //[super lockFocus];
if ([context view] != self) {
   [context setView:self];
}

-- 




Re: [E-devel] Probie proposal: spacegrapher

2015-03-17 Thread Daniel Kolesa
On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL  wrote:

> Hello,
>
> Le 16 mars 2015 08:02, "Jean-Philippe André"  a écrit :
> > I would like to propose Dongyeon Kim (aka spacegrapher) as a new probie.
>
> I agree.he did some good technically difficult contribution, but the patch
> review seems to indicate that his contribution almost always get in
> directly. So why not directly a developer access ? Probie is not a
> necessary step in my opinion.
>

I'd go for probie now and switch to normal once he's more involved in the
community. Commits seem good enough, I wtf'd at at least one of his commits
(because it included garbage files) but apparently that was jpeg's fault..
bad jpeg! :P

D5


>
> Have fun,
> Cedric
>
> > He has been working on Evas and all GL stuff for a while now at Samsung
> > Mobile.
> > He also expressed his desire to become more involved in the upstream
> > project and contribute to open source. The quality of his patches is
> > usually pretty damn good, too.
> >
> > As seems usual, if no one objects, I'll simply add him as a probie in a
> few
> > days.
> >
> > Best regards,
> >
> > --
> > Jean-Philippe André
> >
>
> --
> > Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> > by Intel and developed in partnership with Slashdot Media, is your hub
> for all
> > things parallel software development, from weekly thought leadership
> blogs to
> > news, videos, case studies, tutorials and more. Take a look and join the
> > conversation now. http://goparallel.sourceforge.net/
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>

D5
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: cmake: Add files for Emile, the serial killer

2015-03-17 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 841890a7b63d5c9dc4c73e28856d43981f017ef4
Author: Jean-Philippe Andre 
Date:   Tue Mar 17 19:19:28 2015 +0900

cmake: Add files for Emile, the serial killer
---
 Makefile.am  |  5 +
 cmakeconfig/EmileConfig.cmake.in | 32 
 configure.ac |  2 ++
 3 files changed, 39 insertions(+)

diff --git a/Makefile.am b/Makefile.am
index af334fe..345b6fa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -371,6 +371,11 @@ elua_cmakeconfig_DATA = \
 cmakeconfig/EluaConfig.cmake \
 cmakeconfig/EluaConfigVersion.cmake
 
+emile_cmakeconfigdir = $(libdir)/cmake/Emile
+emile_cmakeconfig_DATA = \
+cmakeconfig/EmileConfig.cmake \
+cmakeconfig/EmileConfigVersion.cmake
+
 # D-Bus services:
 
 servicedir = @dbusservicedir@
diff --git a/cmakeconfig/EmileConfig.cmake.in b/cmakeconfig/EmileConfig.cmake.in
new file mode 100644
index 000..68c284c
--- /dev/null
+++ b/cmakeconfig/EmileConfig.cmake.in
@@ -0,0 +1,32 @@
+# - Try to find emile
+# Once done this will define
+#  EMILE_FOUND - System has emile
+#  EMILE_INCLUDE_DIRS - The emile include directories
+#  EMILE_LIBRARIES - The libraries needed to use emile
+#  EMILE_DEFINITIONS - Compiler switches required for using emile
+
+set(MY_PKG emile)
+
+find_package(PkgConfig)
+if ("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" 
VERSION_GREATER "2.8.1")
+   # "QUIET" was introduced in 2.8.2
+   set(_QUIET QUIET)
+endif ()
+pkg_check_modules(PC_LIBEMILE ${_QUIET} ${MY_PKG})
+
+find_library(EMILE_LIBRARY
+ NAMES ${PC_LIBEMILE_LIBRARIES}
+ HINTS ${PC_LIBEMILE_LIBDIR} ${PC_LIBEMILE_LIBRARY_DIRS} )
+
+set(EMILE_DEFINITIONS ${PC_LIBEMILE_CFLAGS_OTHER})
+set(EMILE_LIBRARIES ${EMILE_LIBRARY})
+set(EMILE_INCLUDE_DIRS ${PC_LIBEMILE_INCLUDE_DIRS})
+
+include(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set EMILE_FOUND to TRUE
+# if all listed variables are TRUE
+find_package_handle_standard_args(${MY_PKG} DEFAULT_MSG
+   EMILE_LIBRARIES EMILE_INCLUDE_DIRS)
+
+mark_as_advanced(EMILE_INCLUDE_DIRS EMILE_LIBRARY EMILE_LIBRARIES 
EMILE_DEFINITIONS)
+
diff --git a/configure.ac b/configure.ac
index 0466b01..fb4ea3e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4576,6 +4576,8 @@ cmakeconfig/EmotionConfig.cmake
 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
 cmakeconfig/EluaConfig.cmake
 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
+cmakeconfig/EmileConfig.cmake
+cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
 ])
 
 AC_OUTPUT

-- 




Re: [E-devel] Probie proposal: spacegrapher

2015-03-17 Thread Jean-Philippe André
On Tue, Mar 17, 2015 at 7:28 PM, Daniel Kolesa  wrote:

> On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL  wrote:
>
> > Hello,
> >
> > Le 16 mars 2015 08:02, "Jean-Philippe André"  a
> écrit :
> > > I would like to propose Dongyeon Kim (aka spacegrapher) as a new
> probie.
> >
> > I agree.he did some good technically difficult contribution, but the
> patch
> > review seems to indicate that his contribution almost always get in
> > directly. So why not directly a developer access ? Probie is not a
> > necessary step in my opinion.
> >
>
> I'd go for probie now and switch to normal once he's more involved in the
> community. Commits seem good enough, I wtf'd at at least one of his commits
> (because it included garbage files) but apparently that was jpeg's fault..
> bad jpeg! :P
>

Yeah that was entirely my fault.
And I did this just after we all screamed at Cedric for pushing binaries.
I really am following into his b0rker steps :D


>
> D5
>
>
> >
> > Have fun,
> > Cedric
> >
> > > He has been working on Evas and all GL stuff for a while now at Samsung
> > > Mobile.
> > > He also expressed his desire to become more involved in the upstream
> > > project and contribute to open source. The quality of his patches is
> > > usually pretty damn good, too.
> > >
> > > As seems usual, if no one objects, I'll simply add him as a probie in a
> > few
> > > days.
> > >
> > > Best regards,
> > >
> > > --
> > > Jean-Philippe André
> > >
> >
> >
> --
> > > Dive into the World of Parallel Programming The Go Parallel Website,
> > sponsored
> > > by Intel and developed in partnership with Slashdot Media, is your hub
> > for all
> > > things parallel software development, from weekly thought leadership
> > blogs to
> > > news, videos, case studies, tutorials and more. Take a look and join
> the
> > > conversation now. http://goparallel.sourceforge.net/
> > > ___
> > > enlightenment-devel mailing list
> > > enlightenment-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> >
> --
> > Dive into the World of Parallel Programming The Go Parallel Website,
> > sponsored
> > by Intel and developed in partnership with Slashdot Media, is your hub
> for
> > all
> > things parallel software development, from weekly thought leadership
> blogs
> > to
> > news, videos, case studies, tutorials and more. Take a look and join the
> > conversation now. http://goparallel.sourceforge.net/
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
> D5
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Jean-Philippe André
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [enlightenment/modules/tclock] master 01/01: make tclock build with current E (remove e_util_zone_current_get)

2015-03-17 Thread Daniel Kolesa
q66 pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/tclock.git/commit/?id=fb8a3512a4929319007d00035f407ee4e44bfe37

commit fb8a3512a4929319007d00035f407ee4e44bfe37
Author: Daniel Kolesa 
Date:   Tue Mar 17 10:51:56 2015 +

make tclock build with current E (remove e_util_zone_current_get)
---
 src/e_mod_main.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/e_mod_main.c b/src/e_mod_main.c
index b10c906..265de7a 100644
--- a/src/e_mod_main.c
+++ b/src/e_mod_main.c
@@ -190,8 +190,7 @@ _tclock_cb_mouse_down(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNU
 tclock_config->menu = m;
 
 e_gadcon_canvas_zone_geometry_get(inst->gcc->gadcon, &x, &y, NULL, 
NULL);
-e_menu_activate_mouse(m,
-  e_util_zone_current_get(e_manager_current_get()),
+e_menu_activate_mouse(m, e_zone_current_get(),
   x + ev->output.x, y + ev->output.y, 1, 1,
   E_MENU_POP_DIRECTION_DOWN, ev->timestamp);
  }

-- 




[EGIT] [core/efl] master 01/01: ecore-drm: add ecore_drm_devices_get to get the list of drm devices

2015-03-17 Thread Boram Park
devilhorns pushed a commit to branch master.

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

commit 9baacf802d637b2573af58e3d5c4fe1f336792cf
Author: Boram Park 
Date:   Tue Mar 17 09:30:59 2015 -0400

ecore-drm: add ecore_drm_devices_get to get the list of drm devices

Summary:
when enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call 
ecore_drm_tty_close().
To make possible enlightenment call ecore_drm_tty_close(), drm devices
should be exposed.
When enlightenment is killed by SIGSEGV, it will get drm devices with
ecore_drm_device_get_list(), and will call 
ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() 
internally.

@feature

Change-Id: I1c594739ec96660a09cee77b823ace6548ee5282

Reviewers: zmike, cedric, raster, gwanglim, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2159
---
 src/lib/ecore_drm/Ecore_Drm.h| 10 ++
 src/lib/ecore_drm/ecore_drm_device.c | 12 
 2 files changed, 22 insertions(+)

diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h
index 10928ed..ff460e3 100644
--- a/src/lib/ecore_drm/Ecore_Drm.h
+++ b/src/lib/ecore_drm/Ecore_Drm.h
@@ -326,4 +326,14 @@ EAPI Eina_Stringshare 
*ecore_drm_output_make_get(Ecore_Drm_Output *output);
  */
 EAPI void ecore_drm_device_pointer_xy_get(Ecore_Drm_Device *dev, int *x, int 
*y);
 
+/**
+ * Get the list of drm devices which are allocated.
+ *
+ * @return Eina_List of drm devices, NULL otherwise
+ *
+ * @ingroup Ecore_Drm_Device_Group
+ * @since 1.14
+ */
+EAPI Eina_List *ecore_drm_devices_get(void);
+
 #endif
diff --git a/src/lib/ecore_drm/ecore_drm_device.c 
b/src/lib/ecore_drm/ecore_drm_device.c
index 89c6b86..917a02b 100644
--- a/src/lib/ecore_drm/ecore_drm_device.c
+++ b/src/lib/ecore_drm/ecore_drm_device.c
@@ -5,6 +5,8 @@
 #include "ecore_drm_private.h"
 #include 
 
+static Eina_List *drm_devices;
+
 static void 
 _ecore_drm_device_cb_page_flip(int fd EINA_UNUSED, unsigned int frame 
EINA_UNUSED, unsigned int sec EINA_UNUSED, unsigned int usec EINA_UNUSED, void 
*data)
 {
@@ -191,6 +193,8 @@ cont:
 dev->session = NULL;
 
 DBG("Using Drm Device: %s", dev->drm.name);
+
+drm_devices = eina_list_append(drm_devices, dev);
  }
 
 out:
@@ -236,6 +240,8 @@ ecore_drm_device_free(Ecore_Drm_Device *dev)
/* free session */
free(dev->session);
 
+   drm_devices = eina_list_remove(drm_devices, dev);
+
/* free structure */
free(dev);
 }
@@ -334,6 +340,12 @@ ecore_drm_device_close(Ecore_Drm_Device *dev)
return EINA_TRUE;
 }
 
+EAPI Eina_List *
+ecore_drm_devices_get(void)
+{
+   return drm_devices;
+}
+
 /**
  * Get if a given Ecore_Drm_Device is master
  * 

-- 




[EGIT] [core/enlightenment] master 01/01: fix tty problem when enlightenment(drm-backend) is killed by SIGSEGV

2015-03-17 Thread Boram Park
devilhorns pushed a commit to branch master.

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

commit 7c41fb431d165e723db51cd69a208f99102d743b
Author: Boram Park 
Date:   Tue Mar 17 09:33:55 2015 -0400

fix tty problem when enlightenment(drm-backend) is killed by SIGSEGV

Summary:
When enlightenment is working as wayland display server, enlightenment
changes KDSETMODE to KD_GRAPHICS in _ecore_drm_tty_setup(). However,
when enlightenment is killed by SIGSEGV, it doesn't changes KDSETMODE
to KD_TEXT because englightenment process doesn't call 
ecore_drm_tty_close().

When enlightenment is killed by SIGSEGV, it should get drm devices with
ecore_drm_device_get_list(), and will call 
ecore_drm_launcher_disconnect(),
and ecore_drm_launcher_disconnect will call ecore_drm_tty_close() 
internally.

Change-Id: I425488eb4489709cc968b77bd4bc48a4aa4ae30c

Reviewers: zmike, cedric, raster, gwanglim, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2160
---
 src/bin/e_signals.c | 76 -
 1 file changed, 70 insertions(+), 6 deletions(-)

diff --git a/src/bin/e_signals.c b/src/bin/e_signals.c
index 5abc5d7..7d2b8e2 100644
--- a/src/bin/e_signals.c
+++ b/src/bin/e_signals.c
@@ -5,16 +5,20 @@
  */
 #include "e.h"
 
+#ifdef HAVE_WAYLAND_ONLY
+#include 
+#endif
+
 #ifdef HAVE_EXECINFO_H
 # include 
 #endif
 
 static volatile Eina_Bool _e_x_composite_shutdown_try = 0;
 
+#ifndef HAVE_WAYLAND_ONLY
 static void
 _e_x_composite_shutdown(void)
 {
-#ifndef HAVE_WAYLAND_ONLY
 //   Ecore_X_Display *dpy;
Ecore_X_Window root;
 
@@ -27,8 +31,8 @@ _e_x_composite_shutdown(void)
/* ignore errors, we really don't care at this point */
ecore_x_composite_unredirect_subwindows(root, 
ECORE_X_COMPOSITE_UPDATE_MANUAL);
_e_x_composite_shutdown_try = 0;
-#endif
 }
+#endif
 
 #if 0
 #define _e_write_safe(fd, buf) _e_write_safe_int(fd, buf, sizeof(buf))
@@ -65,8 +69,23 @@ _e_write_safe_int(int fd, const char *buf, size_t size)
 EAPI void
 e_sigseg_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data 
__UNUSED__)
 {
+#ifdef HAVE_WAYLAND_ONLY
+   Eina_List *list, *l, *ll;
+   Ecore_Drm_Device *dev;
+
+   list = ecore_drm_devices_get();
+   EINA_LIST_FOREACH_SAFE(list, l, ll, dev)
+ {
+ecore_drm_inputs_destroy(dev);
+ecore_drm_sprites_destroy(dev);
+ecore_drm_device_close(dev);
+ecore_drm_launcher_disconnect(dev);
+ecore_drm_device_free(dev);
+ }
+
+   ecore_drm_shutdown();
+#else
_e_x_composite_shutdown();
-#ifndef HAVE_WAYLAND_ONLY
ecore_x_pointer_ungrab();
ecore_x_keyboard_ungrab();
ecore_x_ungrab();
@@ -96,8 +115,23 @@ e_sigill_act(int x __UNUSED__, siginfo_t *info __UNUSED__, 
void *data __UNUSED__
 EAPI void
 e_sigfpe_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data 
__UNUSED__)
 {
+#ifdef HAVE_WAYLAND_ONLY
+   Eina_List *list, *l, *ll;
+   Ecore_Drm_Device *dev;
+
+   list = ecore_drm_devices_get();
+   EINA_LIST_FOREACH_SAFE(list, l, ll, dev)
+ {
+ecore_drm_inputs_destroy(dev);
+ecore_drm_sprites_destroy(dev);
+ecore_drm_device_close(dev);
+ecore_drm_launcher_disconnect(dev);
+ecore_drm_device_free(dev);
+ }
+
+   ecore_drm_shutdown();
+#else
_e_x_composite_shutdown();
-#ifndef HAVE_WAYLAND_ONLY
ecore_x_pointer_ungrab();
ecore_x_keyboard_ungrab();
ecore_x_ungrab();
@@ -109,8 +143,23 @@ e_sigfpe_act(int x __UNUSED__, siginfo_t *info __UNUSED__, 
void *data __UNUSED__
 EAPI void
 e_sigbus_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data 
__UNUSED__)
 {
+#ifdef HAVE_WAYLAND_ONLY
+   Eina_List *list, *l, *ll;
+   Ecore_Drm_Device *dev;
+
+   list = ecore_drm_devices_get();
+   EINA_LIST_FOREACH_SAFE(list, l, ll, dev)
+ {
+ecore_drm_inputs_destroy(dev);
+ecore_drm_sprites_destroy(dev);
+ecore_drm_device_close(dev);
+ecore_drm_launcher_disconnect(dev);
+ecore_drm_device_free(dev);
+ }
+
+   ecore_drm_shutdown();
+#else
_e_x_composite_shutdown();
-#ifndef HAVE_WAYLAND_ONLY
ecore_x_pointer_ungrab();
ecore_x_keyboard_ungrab();
ecore_x_ungrab();
@@ -122,8 +171,23 @@ e_sigbus_act(int x __UNUSED__, siginfo_t *info __UNUSED__, 
void *data __UNUSED__
 EAPI void
 e_sigabrt_act(int x __UNUSED__, siginfo_t *info __UNUSED__, void *data 
__UNUSED__)
 {
+#ifdef HAVE_WAYLAND_ONLY
+   Eina_List *list, *l, *ll;
+   Ecore_Drm_Device *dev;
+
+   list = ecore_drm_devices_get();
+   EINA_LIST_FOREACH_SAFE(list, l, ll, dev)
+ {
+ecore_drm_inputs_destroy(dev);
+ecore_drm_sprites_destroy(dev);
+ecore_drm_device_close(dev);
+ecore_drm_launcher_disconnect(dev);
+ecore_drm_device_free(dev);
+ }
+
+   ecore_drm_shutdown

Re: [E-devel] Probie proposal: spacegrapher

2015-03-17 Thread Daniel Juyung Seo
On Tue, Mar 17, 2015 at 7:28 PM, Daniel Kolesa  wrote:

> On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL  wrote:
>
> > Hello,
> >
> > Le 16 mars 2015 08:02, "Jean-Philippe André"  a
> écrit :
> > > I would like to propose Dongyeon Kim (aka spacegrapher) as a new
> probie.
> >
> > I agree.he did some good technically difficult contribution, but the
> patch
> > review seems to indicate that his contribution almost always get in
> > directly. So why not directly a developer access ? Probie is not a
> > necessary step in my opinion.
> >
>
>
Yo


> I'd go for probie now and switch to normal once he's more involved in the
> community. Commits seem good enough, I wtf'd at at least one of his commits
>

+1 here.
I think we had enough talk about this, *involving in the community*.
If that is not required, there are a lot of contributors who I want to give
permissions.

Thanks.
Daniel Juyung Seo (SeoZ)


> (because it included garbage files) but apparently that was jpeg's fault..
> bad jpeg! :P
>
> D5
>
>
> >
> > Have fun,
> > Cedric
> >
> > > He has been working on Evas and all GL stuff for a while now at Samsung
> > > Mobile.
> > > He also expressed his desire to become more involved in the upstream
> > > project and contribute to open source. The quality of his patches is
> > > usually pretty damn good, too.
> > >
> > > As seems usual, if no one objects, I'll simply add him as a probie in a
> > few
> > > days.
> > >
> > > Best regards,
> > >
> > > --
> > > Jean-Philippe André
> > >
> >
> >
> --
> > > Dive into the World of Parallel Programming The Go Parallel Website,
> > sponsored
> > > by Intel and developed in partnership with Slashdot Media, is your hub
> > for all
> > > things parallel software development, from weekly thought leadership
> > blogs to
> > > news, videos, case studies, tutorials and more. Take a look and join
> the
> > > conversation now. http://goparallel.sourceforge.net/
> > > ___
> > > enlightenment-devel mailing list
> > > enlightenment-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
> >
> --
> > Dive into the World of Parallel Programming The Go Parallel Website,
> > sponsored
> > by Intel and developed in partnership with Slashdot Media, is your hub
> for
> > all
> > things parallel software development, from weekly thought leadership
> blogs
> > to
> > news, videos, case studies, tutorials and more. Take a look and join the
> > conversation now. http://goparallel.sourceforge.net/
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> >
>
> D5
>
> --
> Dive into the World of Parallel Programming The Go Parallel Website,
> sponsored
> by Intel and developed in partnership with Slashdot Media, is your hub for
> all
> things parallel software development, from weekly thought leadership blogs
> to
> news, videos, case studies, tutorials and more. Take a look and join the
> conversation now. http://goparallel.sourceforge.net/
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Can't get Erigo to Launch

2015-03-17 Thread Jeff Hoogland
Did you push that update to the main git branch or should I be compiling a
different branch? Not seeing any updates to the main branch.

On Tue, Mar 17, 2015 at 2:52 AM, Daniel Zaoui 
wrote:

> Hi Jeff,
>
> On Tue, 17 Mar 2015 02:09:38 -0500
> Jeff Hoogland  wrote:
>
> > Trying Erigo for the first time in awhile and I am getting this
> > message when I try to start it:
> >
> > ERR<16944>:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No
> > such file or directory
> > ERR<16944>:eo_lexer lib/eolian/database_fill.c:221
> > eo_parser_database_fill() unable to create lexer
> > ERR<16944>:
> > /home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249
> > main() Could not start Erigo
> >
> > Using EFL/Elm built from Git today.
> >
>
> As you guessed, it works for me :D
>
> I pushed some patch in efl to improve the error message. Please update
> and tell me which file it fails on.
>
> JackDanielZ
>



-- 
~Jeff Hoogland 
My Projects on GitHub 
--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [apps/terminology] master 01/01: correctly swap term states. Ref T725

2015-03-17 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=7edeea350332427b1045e79a457cddb2e6f812bc

commit 7edeea350332427b1045e79a457cddb2e6f812bc
Author: Boris Faure 
Date:   Tue Mar 17 17:15:50 2015 +0100

correctly swap term states. Ref T725
---
 src/bin/termpty.c | 13 +++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index f4271a9..ad3ab81 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -1101,15 +1101,24 @@ termpty_screen_swap(Termpty *ty)
 {
Termcell *tmp_screen;
int tmp_circular_offset;
+   Termstate tmp;
 
tmp_screen = ty->screen;
ty->screen = ty->screen2;
ty->screen2 = tmp_screen;
 
if (ty->altbuf)
-  ty->state = ty->swap;
+ {
+tmp = ty->state;
+ty->state = ty->swap;
+ty->swap = tmp;
+ }
else
-  ty->swap = ty->state;
+ {
+tmp = ty->swap;
+ty->swap = ty->state;
+ty->state = tmp;
+ }
 
tmp_circular_offset = ty->circular_offset;
ty->circular_offset = ty->circular_offset2;

-- 




[EGIT] [apps/terminology] master 02/02: typo

2015-03-17 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=ed178f5a1395bf5327972adea4e00910f87d453b

commit ed178f5a1395bf5327972adea4e00910f87d453b
Author: Boris Faure 
Date:   Tue Mar 17 18:47:26 2015 +0100

typo
---
 src/bin/termpty.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index ad3ab81..8c035e6 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -858,7 +858,7 @@ termpty_resize(Termpty *ty, int new_w, int new_h)
 
y_end = ty->state.cy;
new_y_end = new_h - 1;
-   /* For each "full line" in old buffers, revrap.
+   /* For each "full line" in old buffers, rewrap.
 * From most recent to oldest */
while ((y_end >= -ty->backscroll_num) && (new_y_end >= -ty->backmax))
  {

-- 




[EGIT] [apps/terminology] master 01/02: toggle fullscreen by pressing F11

2015-03-17 Thread Boris Faure
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=33322d04af384c98b6f98117c3d55dbe833a3e2b

commit 33322d04af384c98b6f98117c3d55dbe833a3e2b
Author: Boris Faure 
Date:   Tue Mar 17 18:46:39 2015 +0100

toggle fullscreen by pressing F11
---
 src/bin/config.c | 31 ---
 src/bin/keyin.c  | 14 ++
 2 files changed, 38 insertions(+), 7 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index 0f4e7cb..b98dce5 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -7,7 +7,7 @@
 #include "col.h"
 #include "utils.h"
 
-#define CONF_VER 4
+#define CONF_VER 5
 
 #define LIM(v, min, max) {if (v >= max) v = max; else if (v <= min) v = min;}
 
@@ -280,10 +280,6 @@ _config_upgrade_to_v2(Config *config)
config->version = 2;
 }
 
-static void
-_add_default_keys(Config *config)
-{
-   Config_Keys *kb;
 #define ADD_KB(Name, Ctrl, Alt, Shift, Win, Cb)   \
kb = calloc(1, sizeof(Config_Keys));   \
if (!kb) return;   \
@@ -295,6 +291,24 @@ _add_default_keys(Config *config)
kb->cb = eina_stringshare_add_length(Cb, strlen(Cb));  \
config->keys = eina_list_append(config->keys, kb)
 
+static void
+_config_upgrade_to_v4(Config *config)
+{
+   Config_Keys *kb;
+
+   ADD_KB("F11", 0, 0, 0, 0, "win_fullscreen");
+
+   config->version = 4;
+}
+
+static void
+_add_default_keys(Config *config)
+{
+   Config_Keys *kb;
+
+   ADD_KB("F11", 0, 0, 0, 0, "win_fullscreen");
+
+   /* Ctrl- */
ADD_KB("Prior", 1, 0, 0, 0, "term_prev");
ADD_KB("Next", 1, 0, 0, 0, "term_next");
ADD_KB("0", 1, 0, 0, 0, "tab_10");
@@ -340,9 +354,9 @@ _add_default_keys(Config *config)
ADD_KB("KP_Subtract", 0, 0, 1, 0, "decrease_font_size");
ADD_KB("KP_Multiply", 0, 0, 1, 0, "reset_font_size");
ADD_KB("KP_Divide", 0, 0, 1, 0, "copy_clipboard");
+}
 
 #undef ADD_KB
-}
 
 
 void
@@ -459,7 +473,10 @@ config_load(const char *key)
 }
   config->gravatar = EINA_TRUE;
   /*pass through*/
-case CONF_VER: /* 4 */
+case 4:
+  _config_upgrade_to_v4(config);
+  /*pass through*/
+case CONF_VER: /* 5 */
   config->version = CONF_VER;
   break;
 default:
diff --git a/src/bin/keyin.c b/src/bin/keyin.c
index c3c0442..2473f54 100644
--- a/src/bin/keyin.c
+++ b/src/bin/keyin.c
@@ -449,6 +449,19 @@ cb_miniview(Evas_Object *term)
 }
 
 static Eina_Bool
+cb_win_fullscreen(Evas_Object *term)
+{
+   Evas_Object *win = termio_win_get(term);
+   Eina_Bool fullscreen;
+
+   if (!win)
+ return EINA_FALSE;
+   fullscreen = elm_win_fullscreen_get(win);
+   elm_win_fullscreen_set(win, !fullscreen);
+   return EINA_TRUE;
+}
+
+static Eina_Bool
 cb_increase_font_size(Evas_Object *term)
 {
termcmd_do(term, NULL, NULL, "f+");
@@ -565,6 +578,7 @@ static Shortcut_Action _actions[] =
  {"reset_font_size", gettext_noop("Reset font size"), cb_reset_font_size},
 
  {"group", gettext_noop("Actions"), NULL},
+ {"win_fullscreen", gettext_noop("Toggle Fullscreen of the window"), 
cb_win_fullscreen},
  {"miniview", gettext_noop("Display the history miniview"), cb_miniview},
  {"cmd_box", gettext_noop("Display the command box"), cb_cmd_box},
 

-- 




[EGIT] [apps/terminology] master 01/01: config: typo in config upgrade names

2015-03-17 Thread Jean Guyomarc'h
billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=73c9e827772cc68a9d510d7d89d55308da518e1d

commit 73c9e827772cc68a9d510d7d89d55308da518e1d
Author: Jean Guyomarc'h 
Date:   Tue Mar 17 20:20:52 2015 +0100

config: typo in config upgrade names

Summary: If CONF_VER was 4, config should be upgraded to 5.

Reviewers: billiob

Differential Revision: https://phab.enlightenment.org/D2179
---
 src/bin/config.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/config.c b/src/bin/config.c
index b98dce5..aabdfee 100644
--- a/src/bin/config.c
+++ b/src/bin/config.c
@@ -292,13 +292,13 @@ _config_upgrade_to_v2(Config *config)
config->keys = eina_list_append(config->keys, kb)
 
 static void
-_config_upgrade_to_v4(Config *config)
+_config_upgrade_to_v5(Config *config)
 {
Config_Keys *kb;
 
ADD_KB("F11", 0, 0, 0, 0, "win_fullscreen");
 
-   config->version = 4;
+   config->version = 5;
 }
 
 static void
@@ -474,7 +474,7 @@ config_load(const char *key)
   config->gravatar = EINA_TRUE;
   /*pass through*/
 case 4:
-  _config_upgrade_to_v4(config);
+  _config_upgrade_to_v5(config);
   /*pass through*/
 case CONF_VER: /* 5 */
   config->version = CONF_VER;

-- 




[EGIT] [core/efl] master 03/04: ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland engine

2015-03-17 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit b55a24727a30460792fb5d0ac8bbfb0f91442687
Author: Chris Michael 
Date:   Tue Mar 17 15:50:56 2015 -0400

ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland
engine

Summary: Frame callbacks are now handled inside the engine itself and
are thus not needed here anymore

@fix

Signed-off-by: Chris Michael 
---
 .../engines/wayland/ecore_evas_wayland_common.c| 61 --
 .../engines/wayland/ecore_evas_wayland_egl.c   |  1 -
 .../engines/wayland/ecore_evas_wayland_private.h   |  2 -
 .../engines/wayland/ecore_evas_wayland_shm.c   |  1 -
 4 files changed, 65 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 e7521d5..926269d 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
@@ -46,15 +46,6 @@ static void _ecore_evas_wayland_alpha_do(Ecore_Evas *ee, int 
alpha);
 static void _ecore_evas_wayland_transparent_do(Ecore_Evas *ee, int 
transparent);
 static void _ecore_evas_wl_common_border_update(Ecore_Evas *ee);
 
-/* Frame listener */
-static void _ecore_evas_wl_frame_complete(void *data, struct wl_callback 
*callback, uint32_t tm);
-
-/* Frame listener */
-static const struct wl_callback_listener frame_listener =
-{
-   _ecore_evas_wl_frame_complete,
-};
-
 /* local functions */
 static void 
 _ecore_evas_wl_common_state_update(Ecore_Evas *ee)
@@ -592,8 +583,6 @@ _ecore_evas_wl_common_free(Ecore_Evas *ee)
 
if (!ee) return;
wdata = ee->engine.data;
-   if (wdata->frame_callback) wl_callback_destroy(wdata->frame_callback);
-   wdata->frame_callback = NULL;
if (wdata->win) ecore_wl_window_free(wdata->win);
wdata->win = NULL;
free(wdata);
@@ -1441,42 +1430,6 @@ _ecore_evas_wl_common_post_render(Ecore_Evas *ee)
if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
 }
 
-void
-_ecore_evas_wl_common_frame_callback_clean(Ecore_Evas *ee)
-{
-   Ecore_Evas_Engine_Wl_Data *wdata;
-
-   wdata = ee->engine.data;
-
-   if (!wdata->frame_pending)
- return;
-   wl_callback_destroy(wdata->frame_callback);
-   wdata->frame_callback = NULL;
-   wdata->frame_pending = EINA_FALSE;
-}
-
-static void
-_ecore_evas_wl_frame_complete(void *data, struct wl_callback *callback 
EINA_UNUSED, uint32_t tm EINA_UNUSED)
-{
-   Ecore_Evas *ee = data;
-   Ecore_Wl_Window *win = NULL;
-   Ecore_Evas_Engine_Wl_Data *wdata;
-
-   if (!ee) return;
-
-   _ecore_evas_wl_common_frame_callback_clean(ee);
-
-   wdata = ee->engine.data;
-   if (!(win = wdata->win)) return;
-
-   if (ecore_wl_window_surface_get(win))
- {
-wdata->frame_callback = 
-  wl_surface_frame(ecore_wl_window_surface_get(win));
-wl_callback_add_listener(wdata->frame_callback, &frame_listener, ee);
- }
-}
-
 int
 _ecore_evas_wl_common_render(Ecore_Evas *ee)
 {
@@ -1516,20 +1469,6 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
 updates = evas_render_updates(ee->evas);
 rend = _ecore_evas_wl_common_render_updates_process(ee, updates);
 evas_render_updates_free(updates);
-
-if (!wdata->frame_pending)
-  {
- if (!wdata->frame_callback)
-   {
-  wdata->frame_callback = 
-wl_surface_frame(ecore_wl_window_surface_get(win));
-  wl_callback_add_listener(wdata->frame_callback, 
-   &frame_listener, ee);
-   }
-
- if (rend) 
-   wdata->frame_pending = EINA_TRUE;
-  }
  }
else if (evas_render_async(ee->evas))
  {
diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
index 46003e8..d9b579d 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c
@@ -373,7 +373,6 @@ _ecore_evas_wl_hide(Ecore_Evas *ee)
if (!ee->visible) return;
ee->visible = 0;
ee->should_be_visible = 0;
-   _ecore_evas_wl_common_frame_callback_clean(ee);
 
if (ee->func.fn_hide) ee->func.fn_hide(ee);
 }
diff --git 
a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
index 98e2624..206d178 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_private.h
@@ -35,8 +35,6 @@ struct _Ecore_Evas_Engine_Wl_Data
 #ifdef BUILD_ECORE_EVAS_WAYLAND_EGL
struct wl_egl_window *egl_win;
 #endif
-   Eina_Bool frame_pending : 1;
-   struct wl_callback *frame_callback;
 };

[EGIT] [core/efl] master 01/04: evas-wayland-shm: Remove old wayland_shm engine swapper files

2015-03-17 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 5c753a859bfb0b4a49f8d2196a5f33c011ff1a2c
Author: Chris Michael 
Date:   Tue Mar 17 15:32:29 2015 -0400

evas-wayland-shm: Remove old wayland_shm engine swapper files

Summary: Part of engine refactor to address resize issue in E wayland
compositor

Signed-off-by: Chris Michael 
---
 .../evas/engines/wayland_shm/evas_swapbuf.c| 537 
 .../evas/engines/wayland_shm/evas_swapbuf.h|  17 -
 .../evas/engines/wayland_shm/evas_swapper.c| 541 -
 .../evas/engines/wayland_shm/evas_swapper.h|  17 -
 4 files changed, 1112 deletions(-)

diff --git a/src/modules/evas/engines/wayland_shm/evas_swapbuf.c 
b/src/modules/evas/engines/wayland_shm/evas_swapbuf.c
deleted file mode 100644
index 79101b4..000
--- a/src/modules/evas/engines/wayland_shm/evas_swapbuf.c
+++ /dev/null
@@ -1,537 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include 
-#endif
-
-//#include 
-
-#ifdef EVAS_CSERVE2
-# include "evas_cs2_private.h"
-#endif
-
-#include "evas_common_private.h"
-#include "evas_macros.h"
-#include "evas_engine.h"
-#include "evas_swapbuf.h"
-#include "evas_swapper.h"
-
-#define RED_MASK 0x00ff
-#define GREEN_MASK 0xff00
-#define BLUE_MASK 0x00ff
-
-/* local function prototypes */
-
-Outbuf *
-evas_swapbuf_setup(Evas_Engine_Info_Wayland_Shm *info, int w, int h, unsigned 
int rotation, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *wl_shm, 
struct wl_surface *wl_surface)
-{
-   Outbuf *ob = NULL;
-
-   LOGFN(__FILE__, __LINE__, __FUNCTION__);
-
-   /* try to allocate a new Outbuf */
-   if (!(ob = calloc(1, sizeof(Outbuf 
- return NULL;
-
-   /* set some properties */
-   ob->w = w;
-   ob->h = h;
-   ob->rotation = rotation;
-   ob->depth = depth;
-   ob->priv.destination_alpha = alpha;
-   ob->priv.wl.shm = wl_shm;
-   ob->priv.wl.surface = wl_surface;
-   ob->info = info;
-
-   if ((ob->rotation == 0) || (ob->rotation == 180))
- {
-ob->priv.swapper = 
-  evas_swapper_setup(0, 0, w, h, depth, alpha, ob->priv.wl.shm,
- ob->priv.wl.surface);
- }
-   else if ((ob->rotation == 90) || (ob->rotation == 270))
- {
-ob->priv.swapper = 
-  evas_swapper_setup(0, 0, h, w, depth, alpha, ob->priv.wl.shm,
- ob->priv.wl.surface);
- }
-
-   /* check that a swapper was created */
-   if (!ob->priv.swapper)
- {
-/* free the Outbuf structure allocation */
-free(ob);
-
-return NULL;
- }
-
-   /* set step size of regions array */
-   eina_array_step_set(&ob->priv.onebuf_regions, sizeof(Eina_Array), 8);
-
-   /* return allocated Outbuf */
-   return ob;
-}
-
-void 
-evas_swapbuf_free(Outbuf *ob)
-{
-   LOGFN(__FILE__, __LINE__, __FUNCTION__);
-
-   /* check for valid output buffer */
-   if (!ob) return;
-
-   /* flush the output buffer */
-   evas_swapbuf_flush(ob, NULL, MODE_FULL);
-   evas_swapbuf_idle_flush(ob);
-   evas_swapper_free(ob->priv.swapper);
-   eina_array_flush(&ob->priv.onebuf_regions);
-
-   /* free the allocated structure */
-   free(ob);
-}
-
-void 
-evas_swapbuf_reconfigure(Outbuf *ob, int x, int y, int w, int h, int rotation, 
Outbuf_Depth depth, Eina_Bool alpha)
-{
-   LOGFN(__FILE__, __LINE__, __FUNCTION__);
-
-   /* check for valid output buffer */
-   if (!ob) return;
-
-   if (depth == OUTBUF_DEPTH_INHERIT) depth = ob->depth;
-
-   /* check that something was actually changed */
-   if ((ob->w == w) && (ob->h == h) && 
-   (ob->rotation == rotation) && (ob->depth == depth)) 
- return;
-
-   /* set some properties */
-   ob->w = w;
-   ob->h = h;
-   ob->rotation = rotation;
-   ob->depth = depth;
-   ob->priv.destination_alpha = alpha;
-
-   /* check for valid swapper */
-   if (ob->priv.swapper)
- {
-if ((ob->rotation == 0) || (ob->rotation == 180))
-  ob->priv.swapper = evas_swapper_reconfigure(ob->priv.swapper,
-  x, y, w, h, depth,
-  alpha);
-else if ((ob->rotation == 90) || (ob->rotation == 270))
-  ob->priv.swapper = evas_swapper_reconfigure(ob->priv.swapper,
-  x, y, h, w, depth,
-  alpha);
-return;
- }
-
-   /* create new swapper */
-   if ((ob->rotation == 0) || (ob->rotation == 180))
- {
-ob->priv.swapper = 
-  evas_swapper_setup(x, y, w, h, depth, alpha, ob->priv.wl.shm, 
- ob->priv.wl.surface);
- }
-   else if ((ob->rotation == 90) || (ob->rotation == 270))
- {
-ob->priv.swapper = 
-  evas_swapper_setup(x, y, h, w, depth, alpha, ob->priv.wl.shm, 
- ob->priv.wl.surface);
-

[EGIT] [core/efl] master 02/04: evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)

2015-03-17 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 3ebe41af1827a536e36d926007e1c7dd967c571c
Author: Chris Michael 
Date:   Tue Mar 17 15:49:09 2015 -0400

evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)

Summary: This patch set fixes the issue of Evas wayland shm engine
causing crashes when resizing efl apps in the E wayland compositor. It
refactors the evas engine to wait for release events on buffers, and
hooks into frame callbacks so that release events will get triggered
at the appropriate time.

@fix

Signed-off-by: Chris Michael 
---
 src/Makefile_Evas.am   |   6 +-
 src/modules/evas/engines/wayland_shm/evas_engine.c | 253 +-
 src/modules/evas/engines/wayland_shm/evas_engine.h |  85 +++-
 src/modules/evas/engines/wayland_shm/evas_outbuf.c | 515 +
 src/modules/evas/engines/wayland_shm/evas_shm.c| 477 +++
 5 files changed, 1189 insertions(+), 147 deletions(-)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index cb79b49..af00028 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -1179,10 +1179,8 @@ WAYLAND_SHM_SOURCES = \
 modules/evas/engines/wayland_shm/Evas_Engine_Wayland_Shm.h \
 modules/evas/engines/wayland_shm/evas_engine.c \
 modules/evas/engines/wayland_shm/evas_engine.h \
-modules/evas/engines/wayland_shm/evas_swapbuf.c \
-modules/evas/engines/wayland_shm/evas_swapbuf.h \
-modules/evas/engines/wayland_shm/evas_swapper.c \
-modules/evas/engines/wayland_shm/evas_swapper.h
+modules/evas/engines/wayland_shm/evas_shm.c \
+modules/evas/engines/wayland_shm/evas_outbuf.c
 if EVAS_STATIC_BUILD_WAYLAND_SHM
 lib_evas_libevas_la_SOURCES += $(WAYLAND_SHM_SOURCES)
 lib_evas_libevas_la_CPPFLAGS += @evas_engine_wayland_shm_cflags@
diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c 
b/src/modules/evas/engines/wayland_shm/evas_engine.c
index 21f4ef3..fd97de6 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -1,171 +1,156 @@
 #include "evas_common_private.h"
 #include "evas_private.h"
-#include "Evas_Engine_Wayland_Shm.h"
+#ifdef EVAS_CSERVE2
+# include "evas_cs2_private.h"
+#endif
+
 #include "evas_engine.h"
-#include "evas_swapbuf.h"
 
-/* local structures */
-typedef struct _Render_Engine Render_Engine;
+/* logging domain variable */
+int _evas_engine_way_shm_log_dom = -1;
 
+/* evas function tables - filled in later (func and parent func) */
+static Evas_Func func, pfunc;
+
+/* engine structure data */
+typedef struct _Render_Engine Render_Engine;
 struct _Render_Engine
 {
Render_Engine_Software_Generic generic;
 
-   void (*outbuf_reconfigure)(Outbuf *ob, int x, int y, int w, int h, int rot, 
Outbuf_Depth depth, Eina_Bool alpha);
+   void (*outbuf_reconfigure)(Outbuf *ob, int x, int y, int w, int h, int rot, 
Outbuf_Depth depth, Eina_Bool alpha, Eina_Bool resize);
 };
 
-/* engine function prototypes */
-static void *eng_info(Evas *eo_evas EINA_UNUSED);
-static void eng_info_free(Evas *eo_evas EINA_UNUSED, void *einfo);
-static int eng_setup(Evas *eo_evas, void *einfo);
-static void eng_output_free(void *data);
-
-/* local variables */
-static Evas_Func func, pfunc;
-
-/* external variables */
-int _evas_engine_way_shm_log_dom = -1;
-
-/* local functions */
-static void *
-_output_engine_setup(Evas_Engine_Info_Wayland_Shm *info,
- int w, int h,
- unsigned int rotation, unsigned int depth,
- Eina_Bool destination_alpha,
- struct wl_shm *wl_shm,
- struct wl_surface *wl_surface)
+/* LOCAL FUNCTIONS */
+Render_Engine *
+_render_engine_swapbuf_setup(int w, int h, unsigned int rotation, unsigned int 
depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface)
 {
-   Render_Engine *re = NULL;
+   Render_Engine *re;
Outbuf *ob;
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   /* try to allocate a new render engine */
-   if (!(re = calloc(1, sizeof(Render_Engine
- return NULL;
-
+   /* try to allocate space for new render engine */
+   if (!(re = calloc(1, sizeof(Render_Engine return NULL;
 
-   ob = evas_swapbuf_setup(info, w, h, rotation, depth,
-   destination_alpha, wl_shm,
-   wl_surface);
-   if (!ob) goto on_error;
+   ob = _evas_outbuf_setup(w, h, rotation, depth, alpha, shm, surface);
+   if (!ob) goto err;
 
-   if (!evas_render_engine_software_generic_init(&re->generic, ob,
- evas_swapbuf_state_get,
- evas_swapbuf_rotation_get,
- NULL,
+   if (!evas_render_engine_software_generic_init(&re->generic, ob, 
+   

[EGIT] [core/efl] master 04/04: Merge branch 'devs/devilhorns/evas_wayland_shm'

2015-03-17 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit d54591720e16bf92aeca6c1a1691f01f5b01b4a8
Merge: 9baacf8 b55a247
Author: Chris Michael 
Date:   Tue Mar 17 15:53:38 2015 -0400

Merge branch 'devs/devilhorns/evas_wayland_shm'

This merge pulls in the Evas Wayland Shm engine refactor which
addressed resize issues causing crashes in E wl compositor.

 src/Makefile_Evas.am   |   6 +-
 .../engines/wayland/ecore_evas_wayland_common.c|  61 ---
 .../engines/wayland/ecore_evas_wayland_egl.c   |   1 -
 .../engines/wayland/ecore_evas_wayland_private.h   |   2 -
 .../engines/wayland/ecore_evas_wayland_shm.c   |   1 -
 src/modules/evas/engines/wayland_shm/evas_engine.c | 253 +-
 src/modules/evas/engines/wayland_shm/evas_engine.h |  85 +++-
 .../wayland_shm/{evas_swapbuf.c => evas_outbuf.c}  | 502 +--
 src/modules/evas/engines/wayland_shm/evas_shm.c| 477 ++
 .../evas/engines/wayland_shm/evas_swapbuf.h|  17 -
 .../evas/engines/wayland_shm/evas_swapper.c| 541 -
 .../evas/engines/wayland_shm/evas_swapper.h|  17 -
 12 files changed, 914 insertions(+), 1049 deletions(-)

-- 




[EGIT] [core/enlightenment] master 01/01: only throw frame object size CRI for X comp objects

2015-03-17 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit d4c0a663cfcda9dcf49c8f8f7e3280013264d9a7
Author: Mike Blumenkrantz 
Date:   Tue Mar 17 16:15:00 2015 -0400

only throw frame object size CRI for X comp objects
---
 src/bin/e_comp_object.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 4921175..eee3aa9 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1333,7 +1333,8 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw)
/* re-set geometry */
evas_object_move(cw->smart_obj, cw->ec->x, cw->ec->y);
/* ensure that some kind of frame calc has occurred if there's a frame */
-   if (cw->frame_object && (cw->ec->h == cw->ec->client.h) && (cw->ec->w == 
cw->ec->client.w))
+   if (e_pixmap_is_x(cw->ec->pixmap) && cw->frame_object &&
+   (cw->ec->h == cw->ec->client.h) && (cw->ec->w == cw->ec->client.w))
  CRI("ACK!");
/* force resize in case it hasn't happened yet, or just to update size */
evas_object_resize(cw->smart_obj, cw->ec->w, cw->ec->h);

-- 




[EGIT] [core/efl] master 01/01: ecore_wayland: Improve API docs

2015-03-17 Thread Bryce Harrington
discomfitor pushed a commit to branch master.

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

commit 931ac66be1ccadc58194b2b4cf1e4d51851b0b12
Author: Bryce Harrington 
Date:   Tue Mar 17 19:23:48 2015 -0400

ecore_wayland: Improve API docs

Summary:
For calls that return pointers, specify that NULL is a
potential return value.  Add API documentation for some misc. routines
missing it.

Reviewers: zmike, cedric, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2180
---
 src/lib/ecore_wayland/Ecore_Wayland.h | 124 +++---
 1 file changed, 114 insertions(+), 10 deletions(-)

diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h 
b/src/lib/ecore_wayland/Ecore_Wayland.h
index ea59967..9460e95 100644
--- a/src/lib/ecore_wayland/Ecore_Wayland.h
+++ b/src/lib/ecore_wayland/Ecore_Wayland.h
@@ -231,8 +231,8 @@ struct _Ecore_Wl_Event_Interfaces_Bound
  * @ingroup Ecore
 
  * Ecore_Wl provides a wrapper and convenience functions for using the
- * Wayland window system. Function groups for this part of the library
- * include the following:
+ * Wayland protocol in implementing a window system. Function groups for
+ * this part of the library include the following:
  *
  * @li @ref Ecore_Wl_Init_Group
  * @li @ref Ecore_Wl_Display_Group
@@ -327,7 +327,7 @@ EAPI void ecore_wl_sync(void);
 /**
  * Retrieves the Wayland Shm Interface used for the current Wayland connection.
  *
- * @return The current wayland shm interface
+ * @return The current wayland shm interface, or NULL on error
  *
  * @ingroup Ecore_Wl_Display_Group
  * @since 1.2
@@ -337,7 +337,7 @@ EAPI struct wl_shm *ecore_wl_shm_get(void);
 /**
  * Retrieves the Wayland Display Interface used for the current Wayland 
connection.
  *
- * @return The current wayland display interface
+ * @return The current wayland display interface, or NULL on error
  *
  * @ingroup Ecore_Wl_Display_Group
  * @since 1.2
@@ -350,7 +350,7 @@ EAPI struct wl_display *ecore_wl_display_get(void);
  * This interface is used by clients to request the creation of surfaces and
  * regions.
  *
- * @return The current wayland compositor interface
+ * @return The current wayland compositor interface, or NULL on error
  * @since 1.8
  */
 
@@ -364,6 +364,16 @@ EAPI struct wl_display *ecore_wl_display_get(void);
  * @since 1.2
  */
 EAPI void ecore_wl_screen_size_get(int *w, int *h);
+
+/**
+ * Retrieves the position of the current screen.
+ *
+ * @param x where to return the horizontal position. May be NULL. Returns 0 on 
error.
+ * @param y where to return the vertical position. May be NULL. Returns 0 on 
error.
+ *
+ * @ingroup Ecore_Wl_Display_Group
+ * @since 1.2
+ */
 EAPI void ecore_wl_pointer_xy_get(int *x, int *y);
 
 /**
@@ -378,6 +388,14 @@ EAPI void ecore_wl_pointer_xy_get(int *x, int *y);
  * @since 1.2
  */
 EAPI int ecore_wl_dpi_get(void);
+
+/**
+ * Dispatch Wayland events
+ *
+ * Dispatches any events queued on the default queue.  Wayland will attempt
+ * to read from the display fd and queue things up according to the proxy
+ * assignment.
+ */
 EAPI void ecore_wl_display_iterate(void);
 
 /*
@@ -436,7 +454,7 @@ EAPI void 
ecore_wl_input_cursor_theme_name_set(Ecore_Wl_Input *input, const char
  *
  * There's no need to call dispatch manually, since this call will do it if 
necessary.
  *
- * @return The current wayland globals interface list
+ * @return The current wayland globals interface list, or NULL on error
  *
  * @ingroup Ecore_Wl_Display_Group
  * @since 1.7.6
@@ -446,7 +464,7 @@ EAPI Eina_Inlist *ecore_wl_globals_get(void);
 /**
  * Retrieves the Wayland Registry used for the current Wayland connection.
  *
- * @return The current wayland registry
+ * @return The current wayland registry, or NULL on error
  *
  * @ingroup Ecore_Wl_Display_Group
  * @since 1.7.6
@@ -471,7 +489,7 @@ EAPI struct wl_registry *ecore_wl_registry_get(void);
  * @param h  Height
  * @param buffer_type The type of the buffer to be used to create a new 
Ecore_Wl_Window.
  *
- * @return The new window
+ * @return The new window, or NULL on failure
  *
  * @ingroup Ecore_Wl_Window_Group
  * @since 1.2
@@ -598,6 +616,7 @@ EAPI Ecore_Wl_Input 
*ecore_wl_window_keyboard_get(Ecore_Wl_Window *win);
  * Returns a wl_surface with no association to any wl_shell_surface.
  *
  * @param win The window which will use this newly created surface.
+ * @return wl_surface or NULL on error
  *
  * @ingroup Ecore_Wl_Window_Group
  * @since 1.8
@@ -611,7 +630,7 @@ EAPI Eina_Bool ecore_wl_window_alpha_get(Ecore_Wl_Window 
*win);
  * Returns the Ecore_Wl_Window from a wl_surface
  *
  * @param surface The surface for which to find the Ecore_Wl_Window from
- * @return the Ecore_Wl_Window associated with this surface
+ * @return the Ecore_Wl_Window associated with this surface, or NULL if not 
found
  *
  * @ingroup Ecore_Wl_Window_Group
  * @since 1.8
@@

[EGIT] [core/efl] master 01/01: ecore-wayland: Doublecheck input validity

2015-03-17 Thread Bryce Harrington
discomfitor pushed a commit to branch master.

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

commit c0bc1be83e55de2b0ed0dc1ad24a8e43461cad5f
Author: Bryce Harrington 
Date:   Tue Mar 17 19:52:43 2015 -0400

ecore-wayland: Doublecheck input validity

Summary:
Most of the other ecore-wayland API will return NULL in the (hopefully
theoretical) case of bad inputs; this API routine should so similarly
for consistency.

Reviewers: zmike, cedric

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2181
---
 src/lib/ecore_wayland/Ecore_Wayland.h | 2 ++
 src/lib/ecore_wayland/ecore_wl_dnd.c  | 1 +
 2 files changed, 3 insertions(+)

diff --git a/src/lib/ecore_wayland/Ecore_Wayland.h 
b/src/lib/ecore_wayland/Ecore_Wayland.h
index 9460e95..dd1260e 100644
--- a/src/lib/ecore_wayland/Ecore_Wayland.h
+++ b/src/lib/ecore_wayland/Ecore_Wayland.h
@@ -787,6 +787,8 @@ EAPI Eina_Bool ecore_wl_dnd_drag_get(Ecore_Wl_Input *input, 
const char *type);
 EAPI void ecore_wl_dnd_drag_types_set(Ecore_Wl_Input *input, const char 
**types_offered);
 
 /**
+ * @return the data types being offered for drag-and-drop, or NULL on error
+ *
  * @ingroup Ecore_Wl_Dnd_Group
  * @since 1.8
  */
diff --git a/src/lib/ecore_wayland/ecore_wl_dnd.c 
b/src/lib/ecore_wayland/ecore_wl_dnd.c
index 4fd7b05..5165328 100644
--- a/src/lib/ecore_wayland/ecore_wl_dnd.c
+++ b/src/lib/ecore_wayland/ecore_wl_dnd.c
@@ -398,6 +398,7 @@ ecore_wl_dnd_drag_types_get(Ecore_Wl_Input *input)
 
/* check for valid input. if not, get the default one */
if (!input) input = _ecore_wl_disp->input;
+   if (!input) return NULL;
 
return &input->data_types;
 }

-- 




[EGIT] [admin/devs] master 01/01: dev/jpeg: Update info.txt and add avatar picture

2015-03-17 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=7aa30838d53394833f95b87add8c36d51279f2c8

commit 7aa30838d53394833f95b87add8c36d51279f2c8
Author: Jean-Philippe Andre 
Date:   Wed Mar 18 09:16:25 2015 +0900

dev/jpeg: Update info.txt and add avatar picture
---
 developers/jpeg/icon-big.png | Bin 0 -> 42049 bytes
 developers/jpeg/icon-map.png | Bin 0 -> 1723 bytes
 developers/jpeg/icon-med.png | Bin 0 -> 9301 bytes
 developers/jpeg/icon-sml.png | Bin 0 -> 3030 bytes
 developers/jpeg/info.txt |   8 
 5 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/developers/jpeg/icon-big.png b/developers/jpeg/icon-big.png
new file mode 100644
index 000..640e84b
Binary files /dev/null and b/developers/jpeg/icon-big.png differ
diff --git a/developers/jpeg/icon-map.png b/developers/jpeg/icon-map.png
new file mode 100644
index 000..67e73ec
Binary files /dev/null and b/developers/jpeg/icon-map.png differ
diff --git a/developers/jpeg/icon-med.png b/developers/jpeg/icon-med.png
new file mode 100644
index 000..f659a2f
Binary files /dev/null and b/developers/jpeg/icon-med.png differ
diff --git a/developers/jpeg/icon-sml.png b/developers/jpeg/icon-sml.png
new file mode 100644
index 000..966adca
Binary files /dev/null and b/developers/jpeg/icon-sml.png differ
diff --git a/developers/jpeg/info.txt b/developers/jpeg/info.txt
index 6fc8fb4..1ced519 100644
--- a/developers/jpeg/info.txt
+++ b/developers/jpeg/info.txt
@@ -5,7 +5,7 @@ Name:   Jean-Philippe ANDRE
 Location:  Seoul, Korea
 E-Mail:j...@videolan.org, jp.an...@samsung.com
 WWW:   none
-Managing:  none
-Contributing:  Evas (cserve2)
-Group: Libraries
-Platform:  Ubuntu, Arch (Linux)
+Managing:  evas
+Contributing:  Evas: GL, filters, masking, cserve2
+Group: Core, Libraries
+Platform:  Arch (Linux)

-- 




[EGIT] [core/efl] master 01/01: ecore-wayland: Use calloc rather than malloc+memset

2015-03-17 Thread Bryce Harrington
devilhorns pushed a commit to branch master.

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

commit a2e301db71b93fb5981c6aa3f7988fc220ec5d0b
Author: Bryce Harrington 
Date:   Tue Mar 17 20:30:32 2015 -0400

ecore-wayland: Use calloc rather than malloc+memset

Summary:
In addition to being fewer lines of code,
malloc + memset to 0 is slower than calloc.  See

http://stackoverflow.com/questions/2688466/why-mallocmemset-is-slower-than-calloc

Signed-off-by: Bryce Harrington 

Reviewers: zmike, cedric, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D2182
---
 src/lib/ecore_wayland/ecore_wl.c| 4 +---
 src/lib/ecore_wayland/ecore_wl_output.c | 4 +---
 src/lib/ecore_wayland/ecore_wl_window.c | 4 +---
 3 files changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c
index b6e95ce..49d7f6c 100644
--- a/src/lib/ecore_wayland/ecore_wl.c
+++ b/src/lib/ecore_wayland/ecore_wl.c
@@ -162,14 +162,12 @@ ecore_wl_init(const char *name)
 ECORE_WL_EVENT_INTERFACES_BOUND = ecore_event_type_new();
  }
 
-   if (!(_ecore_wl_disp = malloc(sizeof(Ecore_Wl_Display
+   if (!(_ecore_wl_disp = calloc(1, sizeof(Ecore_Wl_Display
  {
 ERR("Could not allocate memory for Ecore_Wl_Display structure");
 goto exit_ecore_disp;
  }
 
-   memset(_ecore_wl_disp, 0, sizeof(Ecore_Wl_Display));
-
if (!(_ecore_wl_disp->wl.display = wl_display_connect(name)))
  {
 ERR("Could not connect to Wayland display");
diff --git a/src/lib/ecore_wayland/ecore_wl_output.c 
b/src/lib/ecore_wayland/ecore_wl_output.c
index 28c430f..412611b 100644
--- a/src/lib/ecore_wayland/ecore_wl_output.c
+++ b/src/lib/ecore_wayland/ecore_wl_output.c
@@ -73,9 +73,7 @@ _ecore_wl_output_add(Ecore_Wl_Display *ewd, unsigned int id)
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   if (!(output = malloc(sizeof(Ecore_Wl_Output return;
-
-   memset(output, 0, sizeof(Ecore_Wl_Output));
+   if (!(output = calloc(1, sizeof(Ecore_Wl_Output return;
 
output->display = ewd;
 
diff --git a/src/lib/ecore_wayland/ecore_wl_window.c 
b/src/lib/ecore_wayland/ecore_wl_window.c
index 05f3832..8f2f192 100644
--- a/src/lib/ecore_wayland/ecore_wl_window.c
+++ b/src/lib/ecore_wayland/ecore_wl_window.c
@@ -74,14 +74,12 @@ ecore_wl_window_new(Ecore_Wl_Window *parent, int x, int y, 
int w, int h, int buf
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
-   if (!(win = malloc(sizeof(Ecore_Wl_Window
+   if (!(win = calloc(1, sizeof(Ecore_Wl_Window
  {
 ERR("Failed to allocate an Ecore Wayland Window");
 return NULL;
  }
 
-   memset(win, 0, sizeof(Ecore_Wl_Window));
-
win->display = _ecore_wl_disp;
win->parent = parent;
win->allocation.x = x;

-- 




[EGIT] [admin/devs] master 01/01: probies: Add spacegrapher

2015-03-17 Thread Jean-Philippe Andre
jpeg pushed a commit to branch master.

http://git.enlightenment.org/admin/devs.git/commit/?id=c0eb522f602bf1b6d79aa66690de4e25358bd93c

commit c0eb522f602bf1b6d79aa66690de4e25358bd93c
Author: Jean-Philippe Andre 
Date:   Wed Mar 18 09:38:07 2015 +0900

probies: Add spacegrapher

Welcome to Dongyeon Kim!
---
 probies/spacegrapher/icon-big.png | Bin 0 -> 50351 bytes
 probies/spacegrapher/icon-map.png | Bin 0 -> 1729 bytes
 probies/spacegrapher/icon-med.png | Bin 0 -> 15056 bytes
 probies/spacegrapher/icon-sml.png | Bin 0 -> 5036 bytes
 probies/spacegrapher/id_rsa.pub   |   1 +
 probies/spacegrapher/info.txt |  10 ++
 6 files changed, 11 insertions(+)

diff --git a/probies/spacegrapher/icon-big.png 
b/probies/spacegrapher/icon-big.png
new file mode 100644
index 000..898eb7f
Binary files /dev/null and b/probies/spacegrapher/icon-big.png differ
diff --git a/probies/spacegrapher/icon-map.png 
b/probies/spacegrapher/icon-map.png
new file mode 100644
index 000..be4be1c
Binary files /dev/null and b/probies/spacegrapher/icon-map.png differ
diff --git a/probies/spacegrapher/icon-med.png 
b/probies/spacegrapher/icon-med.png
new file mode 100644
index 000..5f8085b
Binary files /dev/null and b/probies/spacegrapher/icon-med.png differ
diff --git a/probies/spacegrapher/icon-sml.png 
b/probies/spacegrapher/icon-sml.png
new file mode 100644
index 000..bd8519f
Binary files /dev/null and b/probies/spacegrapher/icon-sml.png differ
diff --git a/probies/spacegrapher/id_rsa.pub b/probies/spacegrapher/id_rsa.pub
new file mode 100644
index 000..0d3457c
--- /dev/null
+++ b/probies/spacegrapher/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQC/A43WrqvC8Ykj6c16aypMufbhVAIjymXenq0K9kumu75BDhPRibOhzX2K+b+TloYdHk2mzu3o2M8NxNIxcLBRHNeoNBiGUmRwTot8eWkfMYdEEu55+FoQEHxU/9Lb/boQ/gie3A4WFtjznKY+KOabzC6ap46Kdj/gFmlxE+vg7Kwaod2UprfdYB/N7Q3D1eV3ZpvsSvCIrrS+N91L+L9HBArmogkWCcHUJBGl1jfGvUcoLGfywh1yajcSNuLc7KMlE+gEeV13f6ssOLJOEhiXMyi6eL2MyfeANTPZ2vmbeJyQUmgkwICiJgvlnLz/dGm4AYxiKsXKKOw5rcugXZAt
 dy5@samsung.com
diff --git a/probies/spacegrapher/info.txt b/probies/spacegrapher/info.txt
new file mode 100644
index 000..452ffe0
--- /dev/null
+++ b/probies/spacegrapher/info.txt
@@ -0,0 +1,10 @@
+Login:spacegrapher
+IRC Nick: spacegrapher
+Name: Dongyeon Kim
+Location: Suwon, Korea
+E-Mail:   spiffm...@gmail.com
+WWW:  None
+Contributing: Evas
+Group:Libraries
+Platform: Ubuntu (Linux), Windows 7
+GeoData:  37.258876, 127.056252

-- 




[EGIT] [core/efl] master 01/01: Evas: Really use GLES3 by default (fix logic)

2015-03-17 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4315944259b253a566b7c64a62bee34e66fb2c61
Author: Jean-Philippe Andre 
Date:   Wed Mar 18 10:04:27 2015 +0900

Evas: Really use GLES3 by default (fix logic)

I enabled gles3 by default in a previous commit but apparently my
logic was all wrong and it fell back to gles2.
---
 src/modules/evas/engines/gl_x11/evas_x_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c 
b/src/modules/evas/engines/gl_x11/evas_x_main.c
index 45065cb..071f8e4 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -772,7 +772,7 @@ eng_best_visual_get(Evas_Engine_Info_GL_X11 *einfo)
   }
 
 if (gles3_supported &&
-(!(s = getenv("EVAS_GL_DISABLE_GLES3")) || (atoi(s) != 1)))
+((s = getenv("EVAS_GL_DISABLE_GLES3")) && (atoi(s) == 1)))
   {
  INF("Disabling OpenGL ES 3.x support.");
  gles3_supported = EINA_FALSE;

-- 




[EGIT] [core/elementary] elementary-1.13 01/01: elm_panel: Fix incorrect scroller content region calculation of panel.

2015-03-17 Thread Jaehyun Cho
jaehyun pushed a commit to branch elementary-1.13.

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

commit 71797204069ea222edfd9e937c762685122c0160
Author: Jaehyun Cho 
Date:   Fri Mar 13 17:27:03 2015 +0900

elm_panel: Fix incorrect scroller content region calculation of panel.

Summary:
Fix incorrect scroller content region calculation of panel.
It is fixed that the parent of panel content becomes scr_ly if panel is 
scrollable.
@fix

Test Plan:
Test Panel Scrollable in elementary_test.
1. Change panel orient as ELM_PANEL_ORIENT_RIGHT in test_panel.c.
2. Run elementary_test and test Panel Scrollable.
3. You can see the right panel drawer is hidden right after it is shown.
   (After applying this patch, this problem will be resolved.)

Reviewers: seoz, woohyun, eunue, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2125
---
 src/lib/elm_panel.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/elm_panel.c b/src/lib/elm_panel.c
index ebe43c9..28af02f 100644
--- a/src/lib/elm_panel.c
+++ b/src/lib/elm_panel.c
@@ -886,6 +886,8 @@ _elm_panel_elm_container_content_set(Eo *obj, 
Elm_Panel_Data *sd, const char *pa
  {
 evas_object_box_append(sd->bx, sd->content);
 evas_object_show(sd->content);
+if (sd->scrollable)
+  elm_widget_sub_object_add(sd->scr_ly, sd->content);
  }
 
elm_layout_sizing_eval(obj);
@@ -940,6 +942,8 @@ _elm_panel_elm_container_content_unset(Eo *obj, 
Elm_Panel_Data *sd, const char *
ret = sd->content;
 
evas_object_box_remove_all(sd->bx, EINA_FALSE);
+   if (sd->scrollable)
+ elm_widget_sub_object_del(sd->scr_ly, sd->content);
sd->content = NULL;
 
return ret;
@@ -1384,6 +1388,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, 
Eina_Bool scrollable)
   elm_interface_scrollable_content_set(sd->scr_ly));
 sd->freeze = EINA_TRUE;
 elm_layout_content_set(sd->scr_ly, "elm.swallow.content", sd->bx);
+if (sd->content) elm_widget_sub_object_add(sd->scr_ly, sd->content);
 
 switch (sd->orient)
   {
@@ -1432,6 +1437,7 @@ _elm_panel_scrollable_set(Eo *obj, Elm_Panel_Data *sd, 
Eina_Bool scrollable)
 
 elm_layout_content_unset(sd->scr_ly, "elm.swallow.content");
 elm_layout_content_set(obj, "elm.swallow.content", sd->bx);
+if (sd->content) elm_widget_sub_object_add(sd->bx, sd->content);
  }
 }
 

-- 




Re: [E-devel] Can't get Erigo to Launch

2015-03-17 Thread Daniel Zaoui
Yep, in efl branch, not in Erigo.

On Tue, 17 Mar 2015 09:49:31 -0500
Jeff Hoogland  wrote:

> Did you push that update to the main git branch or should I be
> compiling a different branch? Not seeing any updates to the main
> branch.
> 
> On Tue, Mar 17, 2015 at 2:52 AM, Daniel Zaoui
>  wrote:
> 
> > Hi Jeff,
> >
> > On Tue, 17 Mar 2015 02:09:38 -0500
> > Jeff Hoogland  wrote:
> >
> > > Trying Erigo for the first time in awhile and I am getting this
> > > message when I try to start it:
> > >
> > > ERR<16944>:eo_lexer lib/eolian/eo_lexer.c:652
> > > eo_lexer_set_input() No such file or directory
> > > ERR<16944>:eo_lexer lib/eolian/database_fill.c:221
> > > eo_parser_database_fill() unable to create lexer
> > > ERR<16944>:
> > > /home/jeff/bodhi_debs/20150316/erigo-20150316/src/bin/main.c:249
> > > main() Could not start Erigo
> > >
> > > Using EFL/Elm built from Git today.
> > >
> >
> > As you guessed, it works for me :D
> >
> > I pushed some patch in efl to improve the error message. Please
> > update and tell me which file it fails on.
> >
> > JackDanielZ
> >
> 
> 
> 


--
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel