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 daniel.za...@samsung.com
wrote:

 Hi Jeff,

 On Tue, 17 Mar 2015 02:09:38 -0500
 Jeff Hoogland jeffhoogl...@linux.com wrote:

  Trying Erigo for the first time in awhile and I am getting this
  message when I try to start it:
 
  ERR16944:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No
  such file or directory
  ERR16944:eo_lexer lib/eolian/database_fill.c:221
  eo_parser_database_fill() unable to create lexer
  ERR16944:
  /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 http://jeffhoogland.com/
My Projects on GitHub https://github.com/JeffHoogland
--
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/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 jae_hyun@samsung.com
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
Hi Jeff,

On Tue, 17 Mar 2015 02:09:38 -0500
Jeff Hoogland jeffhoogl...@linux.com wrote:

 Trying Erigo for the first time in awhile and I am getting this
 message when I try to start it:
 
 ERR16944:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No
 such file or directory
 ERR16944:eo_lexer lib/eolian/database_fill.c:221
 eo_parser_database_fill() unable to create lexer
 ERR16944:
 /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


[EGIT] [core/elementary] master 01/01: conform: Use eo_isa() to check object types.

2015-03-17 Thread woochan lee
hermet pushed a commit to branch master.

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

commit 166bc315d0203334e24d1fe9e1eebb5c0fbf61d8
Author: woochan lee wc0917@samsung.com
Date:   Tue Mar 17 15:42:36 2015 +0900

conform: Use eo_isa() to check object types.

Summary:
The strcmp(line 738) has been failed since the eo applied.
the widget type get API returned Elm_Genlist now.

For fix it, using eo_isa() to check object types instead of string 
comparison.
@fix

Reviewers: seoz, woohyun, JackDanielZ, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2148
---
 src/lib/elm_conform.c | 17 -
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c
index 13e95af..741a846 100644
--- a/src/lib/elm_conform.c
+++ b/src/lib/elm_conform.c
@@ -18,11 +18,6 @@ static char CONFORMANT_KEY[] = _elm_conform_key;
 
 #define ELM_CONFORM_INDICATOR_TIME 1.0
 
-#ifdef HAVE_ELEMENTARY_X
-#define SUB_TYPE_COUNT 2
-static char *sub_type[SUB_TYPE_COUNT] = { elm_scroller, elm_genlist };
-#endif
-
 static const char INDICATOR_PART[] = elm.swallow.indicator;
 static const char VIRTUALKEYPAD_PART[] = elm.swallow.virtualkeypad;
 static const char CLIPBOARD_PART[] = elm.swallow.clipboard;
@@ -731,15 +726,11 @@ _autoscroll_objects_update(void *data)
 
while (sub)
  {
-type = elm_widget_type_get(sub);
-if (!strcmp(type, MY_CLASS_NAME_LEGACY)) break;
+if (eo_isa(sub, ELM_CONFORMANT_CLASS)) break;
+
+if (eo_isa(sub, ELM_SCROLLER_CLASS) || eo_isa(sub, ELM_GENLIST_CLASS))
+  top_scroller = sub;
 
-for (i = 0; i  SUB_TYPE_COUNT; i++)
-  if (!strcmp(type, sub_type[i]))
-{
-   top_scroller = sub;
-   break;
-}
 sub = elm_object_parent_widget_get(sub);
  }
 

-- 




[EGIT] [core/elementary] master 01/01: conform: remove redundant declares.

2015-03-17 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit 170368e104ca8e84dc3c855e7512db781bdf8401
Author: ChunEon Park her...@hermet.pe.kr
Date:   Tue Mar 17 15:44:27 2015 +0900

conform: remove redundant declares.
---
 src/lib/elm_conform.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c
index 741a846..2493ff2 100644
--- a/src/lib/elm_conform.c
+++ b/src/lib/elm_conform.c
@@ -714,8 +714,6 @@ _on_content_resize(void *data,
 static void
 _autoscroll_objects_update(void *data)
 {
-   int i;
-   const char *type;
Evas_Object *sub, *top_scroller = NULL;
 
ELM_CONFORMANT_DATA_GET(data, sd);

-- 




[EGIT] [core/elementary] elementary-1.13 01/01: conform: Use eo_isa() to check object types.

2015-03-17 Thread woochan lee
hermet pushed a commit to branch elementary-1.13.

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

commit 38c0182a3892170a7a8d07a4e2087aec066022ef
Author: woochan lee wc0917@samsung.com
Date:   Tue Mar 17 15:42:36 2015 +0900

conform: Use eo_isa() to check object types.

Summary:
The strcmp(line 738) has been failed since the eo applied.
the widget type get API returned Elm_Genlist now.

For fix it, using eo_isa() to check object types instead of string 
comparison.
@fix

Reviewers: seoz, woohyun, JackDanielZ, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D2148
---
 src/lib/elm_conform.c | 17 -
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/src/lib/elm_conform.c b/src/lib/elm_conform.c
index 13e95af..741a846 100644
--- a/src/lib/elm_conform.c
+++ b/src/lib/elm_conform.c
@@ -18,11 +18,6 @@ static char CONFORMANT_KEY[] = _elm_conform_key;
 
 #define ELM_CONFORM_INDICATOR_TIME 1.0
 
-#ifdef HAVE_ELEMENTARY_X
-#define SUB_TYPE_COUNT 2
-static char *sub_type[SUB_TYPE_COUNT] = { elm_scroller, elm_genlist };
-#endif
-
 static const char INDICATOR_PART[] = elm.swallow.indicator;
 static const char VIRTUALKEYPAD_PART[] = elm.swallow.virtualkeypad;
 static const char CLIPBOARD_PART[] = elm.swallow.clipboard;
@@ -731,15 +726,11 @@ _autoscroll_objects_update(void *data)
 
while (sub)
  {
-type = elm_widget_type_get(sub);
-if (!strcmp(type, MY_CLASS_NAME_LEGACY)) break;
+if (eo_isa(sub, ELM_CONFORMANT_CLASS)) break;
+
+if (eo_isa(sub, ELM_SCROLLER_CLASS) || eo_isa(sub, ELM_GENLIST_CLASS))
+  top_scroller = sub;
 
-for (i = 0; i  SUB_TYPE_COUNT; i++)
-  if (!strcmp(type, sub_type[i]))
-{
-   top_scroller = sub;
-   break;
-}
 sub = elm_object_parent_widget_get(sub);
  }
 

-- 




[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 daniel.za...@yahoo.com
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] [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 Chojae_hyun@samsung.com 
To: g...@lists.enlightenment.org; 
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 jae_hyun@samsung.com
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] Probie proposal: spacegrapher

2015-03-17 Thread ChunEon Park
+1 

-Regards, Hermet-

-Original Message-
From: Jean-Philippe Andréj...@videolan.org 
To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net; 
Cc: 
Sent: 2015-03-16 (월) 16:02:23
Subject: [E-devel] Probie proposal: spacegrapher
 
Hello,

I would like to propose Dongyeon Kim (aka spacegrapher) as a new probie.

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


[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:

ERR16944:eo_lexer lib/eolian/eo_lexer.c:652 eo_lexer_set_input() No such
file or directory
ERR16944:eo_lexer lib/eolian/database_fill.c:221
eo_parser_database_fill() unable to create lexer
ERR16944:
/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 http://jeffhoogland.com/
My Projects on GitHub https://github.com/JeffHoogland
--
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
be sure @fix ?

-Regards, Hermet-

-Original Message-
From: Youngbok Shinyoungb.s...@samsung.com 
To: g...@lists.enlightenment.org; 
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 youngb.s...@samsung.com
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 jp.an...@samsung.com

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 of Parallel 

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 her...@naver.com wrote:

 be sure @fix ?
 
 -Regards, Hermet-

 -Original Message-
 From: Youngbok Shinyoungb.s...@samsung.com
 To: g...@lists.enlightenment.org;
 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 youngb.s...@samsung.com
 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 jp.an...@samsung.com

 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);

 --



 

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éj...@videolan.org 
To: Enlightenment developer listenlightenment-devel@lists.sourceforge.net; 
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 her...@naver.com wrote:

 be sure @fix ?
 
 -Regards, Hermet-

 -Original Message-
 From: Youngbok Shinyoungb.s...@samsung.com
 To: g...@lists.enlightenment.org;
 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 youngb.s...@samsung.com
 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 jp.an...@samsung.com

 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 

[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 a...@andywilliams.me
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/elementary] elementary-1.13 01/01: Revert widget: fix the abi break.

2015-03-17 Thread ChunEon Park
hermet pushed a commit to branch elementary-1.13.

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

commit e01f432732be488112a8110eb96a899d2427333c
Author: ChunEon Park her...@hermet.pe.kr
Date:   Tue Mar 17 15:46:19 2015 +0900

Revert widget: fix the abi break.

This reverts commit 841fcdfb18a414a7381910bcbb0b0ef4807bc5c2.

It's been too much passed.
we have more dependencies to the change (ie, key bindings)
so conclude to have the abi break in this case.
---
 src/lib/elm_widget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 4f27d83..c4d2d69 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -3684,7 +3684,7 @@ elm_widget_type_get(const Evas_Object *obj)
 {
API_ENTRY return NULL;
 
-   return evas_object_type_get(obj);
+   return eo_class_name_get(eo_class_get(obj));
 }
 
 EAPI Eina_Bool

-- 




[EGIT] [core/elementary] master 01/01: Revert widget: fix the abi break.

2015-03-17 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit 0f9873d6541348d6b79e5ea35fd958f43d5ef551
Author: ChunEon Park her...@hermet.pe.kr
Date:   Tue Mar 17 15:46:19 2015 +0900

Revert widget: fix the abi break.

This reverts commit 841fcdfb18a414a7381910bcbb0b0ef4807bc5c2.

It's been too much passed.
we have more dependencies to the change (ie, key bindings)
so conclude to have the abi break in this case.
---
 src/lib/elm_widget.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index e00f021..39e3c32 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -3684,7 +3684,7 @@ elm_widget_type_get(const Evas_Object *obj)
 {
API_ENTRY return NULL;
 
-   return evas_object_type_get(obj);
+   return eo_class_name_get(eo_class_get(obj));
 }
 
 EAPI Eina_Bool

-- 




[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 cp.mich...@samsung.com
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/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 jp.an...@samsung.com
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 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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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 Cocoa/Cocoa.h
 
 #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];
}

-- 




[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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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, 

[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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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 pierre.la...@openwide.fr
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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 .../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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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)
 {
+   

[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 pierre.la...@openwide.fr
Date:   Fri Jan 30 18:21:14 2015 +0100

ecore_evas: rewrite render loop to conform with other engines.

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 .../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 pierre.la...@openwide.fr
Date:   Wed Mar 11 15:31:36 2015 +0100

ecore_cocoa: add functions to allow min/max window size

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 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 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 jp.an...@samsung.com
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++)

-- 




Re: [E-devel] Probie proposal: spacegrapher

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

 On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL cedric.b...@free.fr wrote:

  Hello,
 
  Le 16 mars 2015 08:02, Jean-Philippe André j...@videolan.org 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


Re: [E-devel] Probie proposal: spacegrapher

2015-03-17 Thread Daniel Kolesa
On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL cedric.b...@free.fr wrote:

 Hello,

 Le 16 mars 2015 08:02, Jean-Philippe André j...@videolan.org 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/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 pierre.la...@openwide.fr
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 ced...@osg.samsung.com
---
 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, 

[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 ced...@osg.samsung.com
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 youngb.s...@samsung.com
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 jp.an...@samsung.com

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/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 jp.an...@samsung.com
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

-- 




[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 d.kol...@samsung.com
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] [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 bill...@gmail.com
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 bill...@gmail.com
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] [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 jp.an...@samsung.com
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/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 br...@osg.samsung.com
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 br...@osg.samsung.com

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 jp.an...@samsung.com
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: 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 br...@osg.samsung.com
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 

[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 jp.an...@samsung.com
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: 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 br...@osg.samsung.com
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] [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 jean.guyoma...@gmail.com
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 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 cp.mich...@samsung.com
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 cp.mich...@samsung.com
---
 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 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 cp.mich...@samsung.com
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 cp.mich...@samsung.com
---
 .../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 config.h
-#endif
-
-//#include sys/mman.h
-
-#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 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 cp.mich...@samsung.com
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 cp.mich...@samsung.com
---
 .../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 

[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 zm...@osg.samsung.com
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-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 boram1288.p...@samsung.com
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 dlfcn.h
 
+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
  * 

-- 




Re: [E-devel] Probie proposal: spacegrapher

2015-03-17 Thread Daniel Juyung Seo
On Tue, Mar 17, 2015 at 7:28 PM, Daniel Kolesa dan...@octaforge.org wrote:

 On Mon, Mar 16, 2015 at 7:36 AM, Cedric BAIL cedric.b...@free.fr wrote:

  Hello,
 
  Le 16 mars 2015 08:02, Jean-Philippe André j...@videolan.org 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


[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 boram1288.p...@samsung.com
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 Ecore_Drm.h
+#endif
+
 #ifdef HAVE_EXECINFO_H
 # include execinfo.h
 #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);
+

[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 bill...@gmail.com
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;

--