[EGIT] [core/efl] master 01/01: edje: fix shadow warning

2015-06-29 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit e4780d7b7db941dbcaff683f39287e30600adf67
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Mon Jun 29 14:13:58 2015 +0100

edje: fix shadow warning
---
 src/lib/edje/edje_calc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index a261137..b0db961 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -4391,13 +4391,13 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int 
flags, Edje_Calc_Params *sta
  }
case EDJE_PART_TYPE_LIGHT:
  {
-Evas_Canvas3D_Light *light = NULL;
+Evas_Canvas3D_Light *light_node = NULL;
 Edje_Part_Description_Light *pd_light;
 
 pd_light = (Edje_Part_Description_Light*) 
ep-chosen_description;
-eo_do(ep-node, light = evas_canvas3d_node_light_get());
+eo_do(ep-node, light_node = evas_canvas3d_node_light_get());
 
-eo_do(light,
+eo_do(light_node,
   
evas_canvas3d_light_ambient_set(pd_light-light.properties.ambient.r / 255, 
pd_light-light.properties.ambient.g / 255,
 
pd_light-light.properties.ambient.b / 255, 
pd_light-light.properties.ambient.a / 255),
   
evas_canvas3d_light_diffuse_set(pd_light-light.properties.diffuse.r / 255, 
pd_light-light.properties.diffuse.g / 255,

-- 




[EGIT] [core/efl] master 01/01: edje: fix extra parens warning with clang

2015-06-29 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 9d4e9f178810420a59e2f1f9854842e58d8c5c69
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Mon Jun 29 14:19:57 2015 +0100

edje: fix extra parens warning with clang
---
 src/lib/edje/edje_embryo.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c
index ddf4ebd..2b1a666 100644
--- a/src/lib/edje/edje_embryo.c
+++ b/src/lib/edje/edje_embryo.c
@@ -1269,7 +1269,7 @@ _edje_embryo_fn_set_tween_state_anim(Embryo_Program *ep, 
Embryo_Cell *params)
double tween = 0.0, value1 = 0.0, value2 = 0.0, v1 = 0.0, v2 = 0.0, v3 = 
0.0, v4 = 0.0;
Edje_Real_Part *rp;
 
-   if ((HASNPARAMS(6))) return -1;
+   if (HASNPARAMS(6)) return -1;
ed = embryo_program_data_get(ep);
GETSTR(state1, params[2]);
GETSTR(state2, params[4]);

-- 




[EGIT] [tools/enventor] master 01/01: color: added more keywords

2015-06-29 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit 820f107e482a941cd8b9d57c7d5a442b013f0a27
Author: ChunEon Park her...@hermet.pe.kr
Date:   Mon Jun 29 21:35:04 2015 +0900

color: added more keywords
---
 data/color/color.src | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/data/color/color.src b/data/color/color.src
index 69e98bb..1d750b9 100644
--- a/data/color/color.src
+++ b/data/color/color.src
@@ -32,6 +32,7 @@ group syntax_color_group struct {
 value key string: collections;
 value key string: data;
 value key string: description;
+value key string: desc;
 value key string: dragable;
 value key string: fill;
 value key string: group;
@@ -47,6 +48,7 @@ group syntax_color_group struct {
 value key string: programs;
 value key string: program;
 value key string: perspective ;
+value key string: rect;
 value key string: rel1;
 value key string: rel2;
 value key string: rotation;
@@ -55,6 +57,7 @@ group syntax_color_group struct {
 value key string: set;
 value key string: sounds;
 value key string: styles;
+value key string: swallow;
 value key string: size ;
 value key string: table;
 value key string: text ;

-- 




[EGIT] [core/efl] master 02/03: ecore_con: eoify ecore_con_eet functions.

2015-06-29 Thread Srivardhan Hebbar
cedric pushed a commit to branch master.

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

commit 947edc84717a5780993e91e00ee971c88d224f48
Author: Srivardhan Hebbar sri.heb...@samsung.com
Date:   Mon Jun 29 14:21:13 2015 +0200

ecore_con: eoify ecore_con_eet functions.

Summary:
Depends on D2602
Made all functions eo.

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/ecore_con/Ecore_Con_Eet.h   |   2 +-
 src/lib/ecore_con/ecore_con_eet.c   | 228 ++--
 src/lib/ecore_con/ecore_con_eet_base.eo |  80 +++
 3 files changed, 208 insertions(+), 102 deletions(-)

diff --git a/src/lib/ecore_con/Ecore_Con_Eet.h 
b/src/lib/ecore_con/Ecore_Con_Eet.h
index a85948c..0257b7f 100644
--- a/src/lib/ecore_con/Ecore_Con_Eet.h
+++ b/src/lib/ecore_con/Ecore_Con_Eet.h
@@ -254,7 +254,7 @@ EAPI void ecore_con_eet_data_set(Ecore_Con_Eet *ece, const 
void *data);
  * @param ece   An Ecore_Con_Eet object.
  * @return The data attached to the Ecore_Con_Eet object.
  */
-EAPI void *ecore_con_eet_data_get(Ecore_Con_Eet *ece);
+EAPI const void *ecore_con_eet_data_get(Ecore_Con_Eet *ece);
 
 /**
  * Get the Ecore_Con_Eet object corresponding to the Ecore_Con_Reply object.
diff --git a/src/lib/ecore_con/ecore_con_eet.c 
b/src/lib/ecore_con/ecore_con_eet.c
index d2bbd28..0783c2c 100644
--- a/src/lib/ecore_con/ecore_con_eet.c
+++ b/src/lib/ecore_con/ecore_con_eet.c
@@ -20,6 +20,7 @@
 #include Ecore_Con_Eet.h
 
 #define ECORE_CON_EET_RAW_MAGIC 0xDEAD007
+#define ECORE_CON_EET_DATA_KEY ecore_con_eet_data_key
 
 typedef struct _Ecore_Con_Eet_Base_Data Ecore_Con_Eet_Base_Data;
 typedef struct _Ecore_Con_Eet_Server_Obj_Data Ecore_Con_Eet_Server_Obj_Data;
@@ -100,8 +101,6 @@ struct _Ecore_Con_Eet_Base_Data
 
Eina_Hash   *data_callbacks;
Eina_Hash   *raw_data_callbacks;
-
-   const void *data;
 };
 
 static void
@@ -462,6 +461,118 @@ _ecore_con_eet_client_data(void *data, int type 
EINA_UNUSED, Ecore_Con_Event_Ser
 /*
  * Generated API
  */
+
+EOLIAN static void
+_ecore_con_eet_base_data_callback_set(Eo *obj EINA_UNUSED, 
Ecore_Con_Eet_Base_Data *pd, const char *name, Ecore_Con_Eet_Data_Cb func, 
const void *data)
+{
+   Ecore_Con_Eet_Data *eced;
+
+   eced = calloc(1, sizeof (Ecore_Con_Eet_Data));
+   if (!eced) return;
+
+   eced-func = func;
+   eced-data = data;
+   eced-name = eina_stringshare_add(name);
+
+   eina_hash_direct_add(pd-data_callbacks, eced-name, eced);
+}
+
+EOLIAN static void
+_ecore_con_eet_base_raw_data_callback_set(Eo *obj EINA_UNUSED, 
Ecore_Con_Eet_Base_Data *pd, const char *name, Ecore_Con_Eet_Raw_Data_Cb func, 
const void *data)
+{
+   Ecore_Con_Eet_Raw_Data *ecerd;
+
+   ecerd = calloc(1, sizeof (Ecore_Con_Eet_Raw_Data));
+   if (!ecerd) return;
+
+   ecerd-func = func;
+   ecerd-data = data;
+   ecerd-name = eina_stringshare_add(name);
+
+   eina_hash_direct_add(pd-raw_data_callbacks, ecerd-name, ecerd);
+}
+
+EOLIAN static void
+_ecore_con_eet_base_data_callback_del(Eo *obj EINA_UNUSED, 
Ecore_Con_Eet_Base_Data *pd, const char *name)
+{
+   eina_hash_del(pd-data_callbacks, name, NULL);
+}
+
+EOLIAN static void
+_ecore_con_eet_base_raw_data_callback_del(Eo *obj, Ecore_Con_Eet_Base_Data 
*pd, const char *name)
+{
+   Ecore_Con_Eet_Client_Obj_Data *eced = eo_data_scope_get(obj, 
ECORE_CON_EET_CLIENT_OBJ_CLASS);
+
+   if (eo_isa(obj, ECORE_CON_EET_CLIENT_OBJ_CLASS) 
+   eced-r-buffer_handler 
+   !strcmp(eced-r-buffer_handler-name, name))
+ {
+eced-r-buffer_handler = NULL;
+free(eced-r-buffer);
+eced-r-buffer = (void *)1;
+ }
+   eina_hash_del(pd-raw_data_callbacks, name, NULL);
+}
+
+EOLIAN static void
+_ecore_con_eet_base_send(Eo *obj EINA_UNUSED, Ecore_Con_Eet_Base_Data *pd, 
Ecore_Con_Reply *reply, const char *name, void *value)
+{
+   Ecore_Con_Eet_Protocol protocol;
+
+   if (!reply) return;
+
+   protocol.type = name;
+   protocol.data = value;
+
+   eet_connection_send(reply-econn, pd-edd, protocol, NULL);
+}
+
+EOLIAN static void
+_ecore_con_eet_base_raw_send(Eo *obj EINA_UNUSED, Ecore_Con_Eet_Base_Data *pd, 
Ecore_Con_Reply *reply, const char *protocol_name, const char *section, void 
*value, unsigned int length)
+{
+   unsigned int protocol[4];
+   unsigned int protocol_length;
+   unsigned int section_length;
+   unsigned int size;
+   char *tmp;
+
+   if (!reply) return;
+   if (!protocol_name) return;
+   if (!section) return;
+
+   protocol_length = strlen(protocol_name) + 1;
+   if (protocol_length == 1) return;
+   section_length = strlen(section) + 1;
+
+   protocol[0] = htonl(ECORE_CON_EET_RAW_MAGIC);
+   protocol[1] = htonl(protocol_length);
+   protocol[2] = htonl(section_length);
+   protocol[3] = htonl(length);
+
+   size = sizeof 

[EGIT] [core/efl] master 03/03: eina: add quaternion test in eina suite and fix the test case errors

2015-06-29 Thread Vivek Ellur
cedric pushed a commit to branch master.

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

commit 1155176aa50e3ecdaf7affaf0b86d4b1ffd51ce9
Author: Vivek Ellur vivek.el...@samsung.com
Date:   Mon Jun 29 14:24:21 2015 +0200

eina: add quaternion test in eina suite and fix the test case errors

Summary:
Fixed eina_test_quaternion_conjugate and eina_test_quaternion_matrix which
were failing and also added the quaternion test in eina suite

Signed-off-by: Vivek Ellur vivek.el...@samsung.com

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/tests/eina/eina_suite.c   |  1 +
 src/tests/eina/eina_suite.h   |  1 +
 src/tests/eina/eina_test_quaternion.c | 10 +-
 3 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/tests/eina/eina_suite.c b/src/tests/eina/eina_suite.c
index 5383bb6..5caa536 100644
--- a/src/tests/eina/eina_suite.c
+++ b/src/tests/eina/eina_suite.c
@@ -82,6 +82,7 @@ static const Eina_Test_Case etc[] = {
{ Crc, eina_test_crc },
{ Quad, eina_test_quad },
{ Matrix, eina_test_matrix },
+   { Quaternion, eina_test_quaternion },
{ NULL, NULL }
 };
 
diff --git a/src/tests/eina/eina_suite.h b/src/tests/eina/eina_suite.h
index d39254d..845ec9d 100644
--- a/src/tests/eina/eina_suite.h
+++ b/src/tests/eina/eina_suite.h
@@ -67,5 +67,6 @@ void eina_test_xattr(TCase *tc);
 void eina_test_crc(TCase *tc);
 void eina_test_quad(TCase *tc);
 void eina_test_matrix(TCase *tc);
+void eina_test_quaternion(TCase *tc);
 
 #endif /* EINA_SUITE_H_ */
diff --git a/src/tests/eina/eina_test_quaternion.c 
b/src/tests/eina/eina_test_quaternion.c
index 55e1c9f..9ca60d4 100644
--- a/src/tests/eina/eina_test_quaternion.c
+++ b/src/tests/eina/eina_test_quaternion.c
@@ -62,7 +62,7 @@ START_TEST(eina_test_quaternion_norm)
 
eina_init();
 
-   fail_if(FLOAT_CMP(eina_quaternion_norm(q), sqrt(51)));
+   fail_if(!FLOAT_CMP(eina_quaternion_norm(q), sqrt(51)));
 
eina_shutdown();
 }
@@ -71,7 +71,7 @@ END_TEST
 START_TEST(eina_test_quaternion_conjugate)
 {
static const Eina_Quaternion q1 = { 1, -1, -1, 3 }, q2 = { 1, 3, 4, 3 };
-   static const Eina_Quaternion r1 = { 1, 1, 1, -3 }, r2 = { 1, -3, -4, -3 };
+   static const Eina_Quaternion r1 = { -1, 1, 1, 3 }, r2 = { -1, -3, -4, 3 };
Eina_Quaternion t1, t2;
 
eina_init();
@@ -90,9 +90,9 @@ START_TEST(eina_test_quaternion_matrix)
 {
Eina_Quaternion q = { 7, 9, 5, 1 };
Eina_Matrix3 m = {
- 104, 76, 8,
- 104, -8, -116,
- -52, 136, -56
+ -211, 136, 52,
+ 116, -147, 104,
+ 88, 76, -259
};
Eina_Quaternion tq;
Eina_Matrix3 tm;

-- 




[EGIT] [core/efl] master 01/03: evas: opaque value does not change even if image data be changed

2015-06-29 Thread jiin.moon
cedric pushed a commit to branch master.

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

commit 739eb4bd0d241aa607766fa1278aa1acd6dbfb92
Author: jiin.moon jiin.m...@samsung.com
Date:   Mon Jun 29 13:55:57 2015 +0200

evas: opaque value does not change even if image data be changed

Summary:
opaque value keeps previous image's value
when image data be changed by file_set/mmap_set api

@fix

Test Plan:
1) Make a evas rectangle object has color
2) Make a evas image object with jpg file.
3) Replace image data with png file by evas_object_image_file_set.

Reviewers: Hermet, cedric, jypark

Subscribers: cedric

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

Signed-off-by: Cedric BAIL ced...@osg.samsung.com
---
 src/lib/evas/canvas/evas_object_image.c | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 344a849..83b3ee7 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -425,8 +425,8 @@ _image_init_set(const Eina_File *f, const char *file, const 
char *key,
   {
  if (!state_write-mmaped_source)
eina_stringshare_del(state_write-u.file);
-else if (state_write-u.f)
-  eina_file_close(state_write-u.f);
+ else if (state_write-u.f)
+   eina_file_close(state_write-u.f);
  state_write-u.f = eina_file_dup(f);
   }
 else
@@ -434,13 +434,15 @@ _image_init_set(const Eina_File *f, const char *file, 
const char *key,
  if (!state_write-mmaped_source)
eina_stringshare_replace(state_write-u.file, file);
  else
-  {
+   {
   if (state_write-u.f) eina_file_close(state_write-u.f);
   state_write-u.file = eina_stringshare_add(file);
-  }
+   }
   }
 state_write-mmaped_source = !!f;
 eina_stringshare_replace(state_write-key, key);
+
+state_write-opaque_valid = 0;
  }
EINA_COW_IMAGE_STATE_WRITE_END(o, state_write);
 

-- 




[EGIT] [tools/enventor] master 01/01: color: fix conflict set and set_xxx.

2015-06-29 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit f705d89495f7625b09607cd47093818c7b89726e
Author: ChunEon Park her...@hermet.pe.kr
Date:   Mon Jun 29 22:01:40 2015 +0900

color: fix conflict set and set_xxx.

this is tricky but works.
---
 data/color/color.src | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/data/color/color.src b/data/color/color.src
index 1d750b9..617d529 100644
--- a/data/color/color.src
+++ b/data/color/color.src
@@ -54,7 +54,8 @@ group syntax_color_group struct {
 value key string: rotation;
 value key string: sample;
 value key string: script;
-value key string: set;
+value key string: set.;
+value key string: set ;
 value key string: sounds;
 value key string: styles;
 value key string: swallow;

-- 




[EGIT] [core/efl] master 01/01: Evas textblock: Fix it-x value during layout

2015-06-29 Thread Daniel Hirt
herdsman pushed a commit to branch master.

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

commit 820204489020653f731192e82e7790c3124865d3
Author: Daniel Hirt daniel.h...@samsung.com
Date:   Mon Jun 29 13:21:55 2015 +0300

Evas textblock: Fix it-x value during layout

This updates it-x when visiting each item in the line layout code,
as it was always 0, even when it was used during item rollback.
Fortunately, in the above case a 0 value was actually expected, so
this does not actually affect current behavior.

This fix is mainly for consistency and future development.
---
 src/lib/evas/canvas/evas_object_textblock.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 1325924..6351b1f 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -4854,6 +4854,7 @@ _layout_par(Ctxt *c)
  continue;
   }
 
+it-x = c-x;
 if (it-type == EVAS_TEXTBLOCK_ITEM_TEXT)
   {
  _layout_item_ascent_descent_adjust(c-obj, c-ascent,

-- 




[EGIT] [core/efl] master 01/01: ecore_x_xi2: fix only ecore input handler deals touch cancel event

2015-06-29 Thread Ji-Youn Park
jypark pushed a commit to branch master.

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

commit bd6d7850dc37960b2e73c5e9f693c5b2f9aa9b58
Author: Ji-Youn Park jy0703.p...@samsung.com
Date:   Mon Jun 29 23:09:33 2015 +0900

ecore_x_xi2: fix only ecore input handler deals touch cancel event

X gives only one cancel event in one touch device even though several touch 
point.
move code related with touch cancel to input hander function
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 65 --
 1 file changed, 35 insertions(+), 30 deletions(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_xi2.c 
b/src/lib/ecore_x/xlib/ecore_x_xi2.c
index c59af1f..ec16896 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -453,36 +453,6 @@ _ecore_x_input_multi_handler(XEvent *xevent)
  _ecore_x_input_touch_index_clear(devid,  i);
   }
 break;
-#ifdef XI_TouchCancel
-  case XI_TouchCancel:
-  {
- XIDeviceEvent *evd = (XIDeviceEvent *)(xevent-xcookie.data);
- int devid = evd-deviceid;
- int i = _ecore_x_input_touch_index_get(devid, evd-detail, 
XI_TouchEnd);
-
- /* X maybe send several cancel events, but ecore_x only deals 
with cancel event of first touch
-  * But ecore keeps all Xevent info for future */
- if ((i != 0) || !(evd-flags  XITouchEmulatingPointer)) return;
-
- INF(ButtonEvent: cancel time=%u x=%d y=%d devid=%d, (unsigned 
int)evd-time, (int)evd-event_x, (int)evd-event_y, devid);
- _ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_CANCEL,
- evd-time,
- 0,   // state
- 0,   // button
- evd-event_x, evd-event_y,
- evd-root_x, evd-root_y,
- evd-event,
-(evd-child ? evd-child : evd-event),
- evd-root,
- 1,   // same_screen
- i, 1, 1,
- 1.0,   // pressure
- 0.0,   // angle
- evd-event_x, evd-event_y,
- evd-root_x, evd-root_y);
-  }
-break;
-#endif
 #endif /* ifdef ECORE_XI2_2 */
   default:
 break;
@@ -671,6 +641,38 @@ _ecore_x_input_handler(XEvent *xevent)
_ecore_x_input_axis_handler(xevent, dev);
   }
 break;
+#ifdef XI_TouchCancel
+  case XI_TouchCancel:
+  {
+ XITouchCancelEvent *evd = (XITouchCancelEvent 
*)(xevent-xcookie.data);
+ int devid = evd-deviceid;
+
+ if(!_ecore_x_input_touch_device_check(devid)) return;
+
+ INF(Handling XI_TouchCancel device(%d), devid);
+
+ /* Currently X sends only one cancel event according to the touch 
device.
+But in the future, it maybe need several cancel events 
according to the touch.
+So it is better use button structure instead of creating new 
cancel structure.
+  */
+ _ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_CANCEL,
+ evd-time,
+ 0,   // state
+ 0,   // button
+ 0, 0,
+ 0, 0,
+ evd-event,
+(evd-child ? evd-child : evd-event),
+ evd-root,
+ 1,   // same_screen
+ 0, 1, 1,
+ 0.0,   // pressure
+ 0.0,   // angle
+ 0, 0,
+ 0, 0);
+  }
+break;
+#endif
   default:
 break;
  }
@@ -715,6 +717,9 @@ ecore_x_input_multi_select(Ecore_X_Window win)
   XISetMask(mask, XI_TouchUpdate);
   XISetMask(mask, XI_TouchBegin);
   XISetMask(mask, XI_TouchEnd);
+#ifdef XI_TouchCancel
+  XISetMask(mask, XI_TouchCancel);
+#endif
   update = 1;
 
   l = eina_inlist_append(l, (Eina_Inlist *)info);

-- 




[EGIT] [core/elementary] master 01/01: Set file permissions back to 644

2015-06-29 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

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

commit 087ce4215668d86d53065c877a234befae94878b
Author: Daniel Zaoui daniel.za...@samsung.com
Date:   Mon Jun 29 16:31:50 2015 +0300

Set file permissions back to 644

Few files permissions have been modified by mistake in the past patches.
---
 src/lib/elc_player.c  | 0
 src/lib/elc_popup.c   | 0
 src/lib/elm_box.c | 0
 src/lib/elm_dayselector.c | 0
 src/lib/elm_photo.c   | 0
 5 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
old mode 100755
new mode 100644
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
old mode 100755
new mode 100644
diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c
old mode 100755
new mode 100644
diff --git a/src/lib/elm_dayselector.c b/src/lib/elm_dayselector.c
old mode 100755
new mode 100644
diff --git a/src/lib/elm_photo.c b/src/lib/elm_photo.c
old mode 100755
new mode 100644

-- 




[EGIT] [core/efl] master 01/01: Evas textblock: Fix infinite loop case

2015-06-29 Thread Daniel Hirt
herdsman pushed a commit to branch master.

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

commit 0de8ebbb3a03797a188d34583b1eed94daea884b
Author: Daniel Hirt daniel.h...@samsung.com
Date:   Sun Jun 28 15:02:28 2015 +0300

Evas textblock: Fix infinite loop case

This fixes a case with wrapping, where the text has a mixture of 'none'
and 'word' wrapping modes, and the layout function decides to
roll-back a few items.
The test case is added to the evas_suite.
This might not be a common case, or even a case we had defined a proper
behavior to, but since it causes an infinite loop, it needs to be fixed.

@fix
---
 src/lib/evas/canvas/evas_object_textblock.c | 2 +-
 src/tests/evas/evas_test_textblock.c| 7 +++
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 2352281..1325924 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -4904,7 +4904,7 @@ _layout_par(Ctxt *c)
}
  /* If we want to wrap and it's worth checking for wrapping
   * (i.e there's actually text). */
- else if ((it-format-wrap_word || it-format-wrap_char ||
+ else if (((wrap  0) || it-format-wrap_word || 
it-format-wrap_char ||
 it-format-wrap_mixed)  it-text_node)
{
   size_t line_start;
diff --git a/src/tests/evas/evas_test_textblock.c 
b/src/tests/evas/evas_test_textblock.c
index b52f35c..1c1d596 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -1911,6 +1911,13 @@ START_TEST(evas_textblock_wrapping)
 
fail_if(w  h); /* FIXME: Not the best test, should be more strict. */
 
+   evas_object_textblock_text_markup_set(tb,
+ wrap=noneaaa bbb c/wrapwrap=worddd/wrap);
+   evas_object_textblock_size_native_get(tb, nw, nh);
+   evas_object_resize(tb, nw / 2, nh * 4);
+   evas_object_textblock_size_formatted_get(tb, w, NULL);
+   ck_assert_int_le(w, nw);
+
END_TB_TEST();
 }
 END_TEST

-- 




[EGIT] [admin/devs] master 01/01: Let's welcome SangHyeon Lee !

2015-06-29 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit f8b183af688025feb4a3c5cfb43c00ccf4ceab88
Author: Cedric BAIL ced...@osg.samsung.com
Date:   Mon Jun 29 15:15:00 2015 +0200

Let's welcome SangHyeon Lee !
---
 developers/sanghyeonlee/id_rsa.pub |  1 +
 developers/sanghyeonlee/info.txt   | 10 ++
 2 files changed, 11 insertions(+)

diff --git a/developers/sanghyeonlee/id_rsa.pub 
b/developers/sanghyeonlee/id_rsa.pub
new file mode 100644
index 000..694d3bc
--- /dev/null
+++ b/developers/sanghyeonlee/id_rsa.pub
@@ -0,0 +1 @@
+ssh-rsa 
B3NzaC1yc2EDAQABAAABAQClq5KwmQn5pFILPDyMxoek6lxpR2uAzD47kqZ1sfRKlG980vmBEJosg5Wwt6wg8rKvoAt0e3tcU6WngOvNLstwFkBVvGl9VXKwKvUOEEN5nwcjUBKw337B3xjQm9Iwe5XFVJW6tgE2woPYSFJ3XFqxmMxSQBPNYC2WGrniFAfCUwPaOmtz0jby9DfuzOXtH6smo9+WU0qaDquNl/DCnkKPBhCT6J/8uEGiDlxnbW+z3dBOpkoUfKPWz8UgWf11QYMk/qbLcnnADBp+NBJPQormARmf+8fM+Z9Td90VXVrAsVUV8ej1VQNVcpx6svIpOpFxlmZES6fDC33NlOQ/N8fL
 sh10233lee@sh10233lee-linux
diff --git a/developers/sanghyeonlee/info.txt b/developers/sanghyeonlee/info.txt
new file mode 100644
index 000..ff93ca9
--- /dev/null
+++ b/developers/sanghyeonlee/info.txt
@@ -0,0 +1,10 @@
+Login:SanghyeonLee
+IRC Nick: Jade_L
+Name: SangHyeon Lee
+Location: Suwon, Korea
+E-Mail:   dltkdgus1...@gmail.com, sh10233@samsung.com
+Managing: elementary(genlist,gengrid)
+Contributing: efl, elementary
+Group:Core, Libraries, Applications
+Platform: Ubuntu(Linux), Tizen(Linux), Windows
+GeoData:  37.257920, 127.059776

-- 




[EGIT] [core/efl] master 01/01: evas_engine_software_x11: fix incorrect enumeration type warning

2015-06-29 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 8fcad9672c3fb6d0deaf7e3ce9ccf96d8b73cabd
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Mon Jun 29 14:27:02 2015 +0100

evas_engine_software_x11: fix incorrect enumeration type warning
---
 src/modules/evas/engines/software_x11/evas_xlib_outbuf.c  | 2 +-
 src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c 
b/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c
index b20047b..42d26ae 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c
@@ -172,7 +172,7 @@ evas_software_xlib_outbuf_free(Outbuf *buf)
free(obr);
  }
evas_software_xlib_outbuf_idle_flush(buf);
-   evas_software_xlib_outbuf_flush(buf, NULL, MODE_FULL);
+   evas_software_xlib_outbuf_flush(buf, NULL, EVAS_RENDER_MODE_UNDEF);
if (buf-priv.x11.xlib.gc)
   XFreeGC(buf-priv.x11.xlib.disp, buf-priv.x11.xlib.gc);
if (buf-priv.x11.xlib.gcm)
diff --git a/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c 
b/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
index a956373..fdd7aa9 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_swapbuf.c
@@ -34,7 +34,7 @@ evas_software_xlib_swapbuf_init(void)
 void
 evas_software_xlib_swapbuf_free(Outbuf *buf)
 {
-   evas_software_xlib_swapbuf_flush(buf, NULL, MODE_FULL);
+   evas_software_xlib_swapbuf_flush(buf, NULL, EVAS_RENDER_MODE_UNDEF);
evas_software_xlib_swapbuf_idle_flush(buf);
if (buf-priv.pal)
  evas_software_xlib_x_color_deallocate

-- 




[EGIT] [core/efl] master 01/01: efreetd_ipc: fix shadow warning

2015-06-29 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit e14c002aed046d69a4c4ee4b5f7f2abeaff11551
Author: Daniel Kolesa d.kol...@osg.samsung.com
Date:   Mon Jun 29 14:28:01 2015 +0100

efreetd_ipc: fix shadow warning
---
 src/bin/efreet/efreetd_ipc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bin/efreet/efreetd_ipc.c b/src/bin/efreet/efreetd_ipc.c
index 15aa03d..c66b447 100644
--- a/src/bin/efreet/efreetd_ipc.c
+++ b/src/bin/efreet/efreetd_ipc.c
@@ -27,11 +27,11 @@ _cb_quit_timer(void *data EINA_UNUSED)
 static void
 _broadcast(Ecore_Ipc_Server *svr, int major, int minor, void *data, int size)
 {
-   Eina_List *clients = ecore_ipc_server_clients_get(svr);
+   Eina_List *ipc_clients = ecore_ipc_server_clients_get(svr);
Eina_List *l;
Ecore_Ipc_Client *cl;
 
-   EINA_LIST_FOREACH(clients, l, cl)
+   EINA_LIST_FOREACH(ipc_clients, l, cl)
  {
 ecore_ipc_client_send(cl, major, minor, 0, 0, 0, data, size);
  }

-- 




[EGIT] [tools/erigo] master 04/05: Fix update canvas name

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=096cdfe0fd393e19330dfea944aa43b990d8f455

commit 096cdfe0fd393e19330dfea944aa43b990d8f455
Author: Yakov Goldberg yako...@samsung.com
Date:   Mon Jun 29 10:36:04 2015 +0300

Fix update canvas name
---
 src/bin/gui/editor.c | 64 ++--
 src/bin/gui/egui_logic.c | 59 ++--
 src/bin/gui/egui_logic_private.h |  3 ++
 src/lib/gui_widget.c | 17 ---
 4 files changed, 82 insertions(+), 61 deletions(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index 24d03e9..b959fbb 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -88,6 +88,34 @@ _active_context_get()
return _active_ctx;
 }
 
+void
+_canvas_name_update(const Gui_Context *ctx)
+{
+   const char* project_name = NULL;
+   char name[100];
+   if (!ctx)
+ {
+sprintf(name, Erigo - EFL GUI Builder);
+ }
+   else
+ {
+project_name = gui_context_project_name_get(ctx);
+if (!project_name) project_name = untitled;
+sprintf(name, Erigo - %s, project_name);
+ }
+   eo_do(g-main_win-main_win, elm_obj_win_title_set(name));
+
+   /* Find item according to context. */
+   Elm_Object_Item *glit = 
elm_toolbar_first_item_get(g-main_win-context_toolbar);
+   for ( ; glit; glit = elm_toolbar_item_next_get(glit))
+ if (elm_object_item_data_get(glit) == ctx) break;
+
+   if (glit)
+ {
+eo_do(glit, elm_wdg_item_part_text_set(NULL, project_name));
+ }
+}
+
 typedef enum {
  BORDER_OUT =0,
  BORDER_LEFT =   1  0,
@@ -3943,7 +3971,7 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Desc
   }
 else
   {
- Eid *name_id = gui_context_eid_get_by_name(_active_ctx, 
new_value);
+ Eid *name_id = gui_context_eid_get_by_name(_active_context_get(), 
new_value);
  gui_value_name_id_set(val, type, name_id);
  if (type == GUI_TYPE_OBJECT)
{
@@ -3956,7 +3984,7 @@ _field_update_from_itemview(void *data EINA_UNUSED, Eo 
*obj, const Eo_Event_Desc
   {
  if (type == GUI_TYPE_OBJECT)
{
-  Eid *old_name_id = gui_context_eid_get_by_name(_active_ctx, 
old_value);
+  Eid *old_name_id = 
gui_context_eid_get_by_name(_active_context_get(), old_value);
   Gui_Widget *w = wdg_get(old_name_id);
   wdg_parent_set(w, wdg_name_get(wdg_main_wdg_get(wdg)));
}
@@ -4518,6 +4546,7 @@ _switch_to_context(Gui_Context *ctx)
_editor_wdg_selected_set(wdg);
objtree_item_selected_set(wdg);
_canvas_resize_cb(NULL, g-main_win-canvas_scroller, NULL, NULL);
+   _canvas_name_update(ctx);
 }
 
 static void
@@ -4556,12 +4585,12 @@ _project_close(const Gui_Context *ctx)
 
 /* Set selected widget to NULL, in order to hide border. */
 _editor_wdg_selected_set(NULL);
-_editor_layout_clear(_active_ctx);
+_editor_layout_clear(_active_context_get());
 
 /* Iterate over windows and delete Main_Wdg_Info */
 Eina_List *list, *itr, *itr2;
 Eid *wdg_id;
-list = gui_context_main_widgets_get(_active_ctx);
+list = gui_context_main_widgets_get(_active_context_get());
 EINA_LIST_FOREACH_SAFE(list, itr, itr2, wdg_id)
   {
  Gui_Widget *wdg = wdg_get(wdg_id);
@@ -4573,31 +4602,9 @@ _project_close(const Gui_Context *ctx)
}
   }
 
-/* Remove context from context_toolbar */
-Elm_Object_Item *glit = 
elm_toolbar_first_item_get(g-main_win-context_toolbar);
-for ( ; glit; glit = elm_toolbar_item_next_get(glit))
-   if (elm_object_item_data_get(glit) == ctx) break;
-
-if (glit)
-  {
- Elm_Object_Item *itnext = elm_toolbar_item_prev_get(glit);
- itnext = (itnext) ? itnext : elm_toolbar_item_next_get(glit);
- elm_object_item_del(glit);
-
- if (itnext)
-   {
-  /* This will call toolbar item clicked. */
-  elm_toolbar_item_selected_set(itnext, EINA_TRUE);
-   }
-  }
-
 session_del((Gui_Session *) gui_context_editor_session_get(ctx));
 gui_context_del((Gui_Context *) ctx);
  }
-   if (!gui_contexts_count_get())
- {
-_active_context_set(NULL);
- }
 }
 
 static Eina_Bool
@@ -4670,9 +4677,10 @@ _project_new(const char *filename)
_observers_init(ctx);
 
const char *projname = gui_context_project_name_get(ctx);
-   Elm_Object_Item *glit = 
elm_toolbar_item_append(g-main_win-context_toolbar, NULL, projname, 
_context_toolbar_clicked, ctx);
+   Elm_Object_Item *glit;
+   eo_do(g-main_win-context_toolbar, glit = 
elm_obj_toolbar_item_append(NULL, projname, _context_toolbar_clicked, ctx));

[EGIT] [tools/erigo] master 01/05: Add zooming feature

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=89410b863e2499c979a8663cb8b410af1a920360

commit 89410b863e2499c979a8663cb8b410af1a920360
Author: Yakov Goldberg yako...@samsung.com
Date:   Sun May 31 17:59:40 2015 +0300

Add zooming feature

Usage: Ctrl + '+' for Zoom In,
   Ctrl + '-' for Zoom Out,
   Ctrl + '0' for Default
   Ctrl + mouse wheel
---
 src/bin/gui/dnd.c|  10 +-
 src/bin/gui/editor.c | 375 ---
 src/bin/gui/egui_layout.json |  18 ++-
 src/lib/gui_widget.c |  15 ++
 src/lib/gui_widget.h |   6 +
 5 files changed, 328 insertions(+), 96 deletions(-)

diff --git a/src/bin/gui/dnd.c b/src/bin/gui/dnd.c
index 5944339..a60717d 100644
--- a/src/bin/gui/dnd.c
+++ b/src/bin/gui/dnd.c
@@ -187,8 +187,8 @@ _drop_target_iterate(Gui_Widget **drop_candidate, const 
Gui_Session *session, Ev
 if (w == dragged_wdg)
   continue;
 o = session_eo_get(session, w);
-eo_do(o, efl_gfx_position_get(ox, oy));
-eo_do(o, efl_gfx_size_get(ow, oh));
+eo_do(o, efl_gfx_position_get(ox, oy),
+ efl_gfx_size_get(ow, oh));
 if (((x = ox)  (x = ox + ow)) 
 ((y = oy)  (y = oy + oh)))
   {
@@ -228,8 +228,10 @@ _droppos(void *data, Eo *obj, Evas_Coord x, Evas_Coord y, 
Elm_Xdnd_Action action
Evas_Coord p_x = 0, p_y = 0;
Evas_Coord iwin_x = 0, iwin_y = 0;
Gui_Widget *drop_candidate = (Gui_Widget *) wdg;
+   const Gui_Context *ctx = wdg_context_get(wdg);
+   double scale = gui_context_scale_get(ctx);
 
-   Gui_Session *session = (Gui_Session *) 
gui_context_editor_session_get(wdg_context_get(wdg));
+   Gui_Session *session = (Gui_Session *) gui_context_editor_session_get(ctx);
wdg_eo = session_eo_get(session, wdg);
/* Usually main_wdg is win.
 * But when it is not, need to get image of Editor win */
@@ -247,7 +249,7 @@ _droppos(void *data, Eo *obj, Evas_Coord x, Evas_Coord y, 
Elm_Xdnd_Action action
/* if p_x or p_y is  0, but we inside this callback, drop to window*/
p_x = x - iwin_x;
p_y = y - iwin_y;
-   _drop_target_iterate(drop_candidate, session, p_x, p_y);
+   _drop_target_iterate(drop_candidate, session, p_x / scale, p_y / scale);
 
if (main_wdg_ti-drop_target != drop_candidate)
  {
diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index 4205650..9119c49 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -30,6 +30,9 @@
 #define CURSOR_DROP_X cursor_drop_x
 #define CURSOR_DROP_Y cursor_drop_y
 
+#define FRAME_DELTA_W __frame_delta_w
+#define FRAME_DELTA_H __frame_delta_h
+
 #define EDITOR_DND_DATA __EDITOR_DND_DATA__
 #define EDITOR_DRAG_DATA __EDITOR_DRAG_DATA__
 
@@ -64,6 +67,9 @@ _editor_undo_redo_post(const Gui_Memento *memento);
 static void
 _wdg_parent_win_reload(const Gui_Widget *wdg);
 
+static void
+_zoom_label_update(double zoom);
+
 static Gui_Context *_active_ctx = NULL;
 static const Egui_Layout_Widgets *g;
 
@@ -110,7 +116,8 @@ typedef struct _Main_Wdg_Info
 static Main_Wdg_Info*
 main_wdg_info_new()
 {
-   return calloc(1, sizeof(Main_Wdg_Info));
+   Main_Wdg_Info *ret = calloc(1, sizeof(Main_Wdg_Info));
+   return ret;
 }
 
 static void
@@ -362,7 +369,7 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
  {
   case BORDER_SELECTION:
{
-  LINE(base_obj, BORDER_TOP, BORDER_SELECTION, ox, oy - 1, lw, 1, 
visibility);
+  LINE(base_obj, BORDER_TOP, BORDER_SELECTION, ox, oy - 1, lw , 1, 
visibility);
   LINE(base_obj, BORDER_BOTTOM, BORDER_SELECTION, ox, oy + oh - 1, 
lw, 1, visibility);
   LINE(base_obj, BORDER_RIGHT, BORDER_SELECTION, ox + ow - 1, oy - 
1, 1, lh, visibility);
   LINE(base_obj, BORDER_LEFT, BORDER_SELECTION, ox, oy, 1, lh, 
visibility);
@@ -371,7 +378,7 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
   MARKER(base_obj, BORDER_MARKER_TOP, ox + ow / 2 - hs / 2, oy - 1 
- hs - 1, visibility);
   MARKER(base_obj, BORDER_MARKER_TOP_RIGHT, ox + ow, oy - 1 - hs - 
1, visibility);
   MARKER(base_obj, BORDER_MARKER_RIGHT, ox + ow, oy + oh / 2 - hs 
/ 2, visibility);
-  MARKER(base_obj, BORDER_MARKER_BOTTOM_RIGHT, ox + ow - 1, oy + 
oh - 1, visibility);
+  MARKER(base_obj, BORDER_MARKER_BOTTOM_RIGHT, ox + ow - 1, oy + 
oh, visibility);
   MARKER(base_obj, BORDER_MARKER_BOTTOM, ox + ow / 2 - hs / 2, oy 
+ oh, visibility);
   MARKER(base_obj, BORDER_MARKER_BOTTOM_LEFT, ox - 1 - hs, oy + 
oh, visibility);
   MARKER(base_obj, BORDER_MARKER_LEFT, ox - 1 - hs, oy + oh / 2 - 
hs / 2, visibility);
@@ -392,36 +399,6 @@ _wdg_border_draw(const Gui_Widget *wdg, Eina_Bool 
visibility, int border_type_co
 #undef MARKER
 #undef STR
 
-static Eina_Bool

[EGIT] [tools/erigo] master 05/05: NEWS updated

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=7569c6dde0a78be2705c6a52eddd66dedf19e2e2

commit 7569c6dde0a78be2705c6a52eddd66dedf19e2e2
Author: Yakov Goldberg yako...@samsung.com
Date:   Sun Jun 28 11:21:09 2015 +0300

NEWS updated
---
 NEWS | 8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 52a3886..00fe1bc 100644
--- a/NEWS
+++ b/NEWS
@@ -16,11 +16,13 @@ Features:
- add theme as resource;
- override theme for separate widgets.
* Add DnD to objtree. Objects can be dragged from factory/canvas to objtree.
+   * Add canvas scrolling
+   * Add canvas zooming
 
 Fixes:
-  * Don't show empty hoversel in Property view when there is no resources.
-Add item to open Resource Manager.
-  * All enums are fetched form Eolian
+   * Don't show empty hoversel in Property view when there is no resources.
+ Add item to open Resource Manager.
+   * All enums are fetched form Eolian
 
 Changes since 0.9.1
 ---

-- 




[EGIT] [tools/erigo] master 03/05: Refactor and fix open/close multi contexts

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=918289db03634f948b2b85a987692a8743e9adc7

commit 918289db03634f948b2b85a987692a8743e9adc7
Author: Yakov Goldberg yako...@samsung.com
Date:   Sun Jun 28 16:32:00 2015 +0300

Refactor and fix open/close multi contexts
---
 src/bin/gui/editor.c |   6 ++-
 src/bin/gui/egui_logic.c | 124 +++
 src/bin/gui/egui_logic.h |   5 +-
 src/bin/main.c   |   4 +-
 4 files changed, 66 insertions(+), 73 deletions(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index 9119c49..24d03e9 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -4586,8 +4586,8 @@ _project_close(const Gui_Context *ctx)
 
  if (itnext)
{
+  /* This will call toolbar item clicked. */
   elm_toolbar_item_selected_set(itnext, EINA_TRUE);
-  _switch_to_context(elm_object_item_data_get(itnext));
}
   }
 
@@ -4595,7 +4595,9 @@ _project_close(const Gui_Context *ctx)
 gui_context_del((Gui_Context *) ctx);
  }
if (!gui_contexts_count_get())
- _active_context_set(NULL);
+ {
+_active_context_set(NULL);
+ }
 }
 
 static Eina_Bool
diff --git a/src/bin/gui/egui_logic.c b/src/bin/gui/egui_logic.c
index 5b825fa..1b548be 100644
--- a/src/bin/gui/egui_logic.c
+++ b/src/bin/gui/egui_logic.c
@@ -71,6 +71,11 @@ canvas_get()
 static void
 _main_win_del_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event EINA_UNUSED)
 {
+   Gui_Context *ctx;
+   while ((ctx = _active_context_get()))
+ {
+_guilogic_cbs-_project_close(ctx);
+ }
printf(win del\n);
elm_exit();
 }
@@ -915,8 +920,61 @@ _key_binding_save_cb(void *data)
  }
 }
 
+static void
+_egui_project_open(const char *path)
+{
+   if (path)
+ {
+Eina_Bool post_open = EINA_FALSE;
+/* If file exists try open it. */
+if (ecore_file_exists(path))
+  {
+ if (_guilogic_cbs-_project_new(path))
+   {
+  post_open = EINA_TRUE;
+   }
+  }
+/* If not, create new file. */
+else
+  {
+ if (_guilogic_cbs-_project_new(NULL))
+   {
+  const Gui_Context *ctx = _active_context_get();
+
+  char *_dir = ecore_file_dir_get(path);
+  const char *filename = ecore_file_file_get(path);
+
+  gui_context_project_name_set((Gui_Context *) ctx, filename);
+  gui_context_project_path_set((Gui_Context *) ctx, _dir);
+  gui_context_project_filename_set((Gui_Context *) ctx, 
filename);
+  generator_ctx_source_generate(ctx, GENERATE_JSON);
+  _canvas_name_update(ctx);
+
+  free(_dir);
+  post_open = EINA_TRUE;
+   }
+  }
+
+if (post_open)
+  {
+ _canvas_name_update(_active_context_get());
+ /* If no more free contexts, disable items. */
+ if (!gui_context_free_is())
+   {
+  _menu_item_disabled_set(project_menu, ITEM_OPEN, EINA_TRUE);
+  _menu_item_disabled_set(project_menu, ITEM_NEW, EINA_TRUE);
+   }
+ _menu_item_disabled_set(project_menu, ITEM_CLOSE, EINA_FALSE);
+ _menu_item_disabled_set(project_menu, ITEM_SAVE, EINA_FALSE);
+ _menu_item_disabled_set(project_menu, ITEM_SAVEAS, EINA_FALSE);
+ _menu_item_disabled_set(project_menu, ITEM_EXPORT, EINA_FALSE);
+ _guilogic_cbs-_theme_hoversel_fill();
+  }
+ }
+}
+
 void
-egui_start()
+egui_start(const char *filename)
 {
g_main_wdgs = egui_layout_gui_get();
 
@@ -1070,6 +1128,7 @@ egui_start()
/*FIXME: Need to unpack inline image, so pass it into delete callback*/
evas_object_smart_callback_add(g_main_wdgs-main_win-main_win, 
delete,request, _main_win_del_cb, NULL);
_factory_vertical_pack(EINA_FALSE);
+   _egui_project_open(filename);
 }
 
 void
@@ -1079,66 +1138,3 @@ egui_stop()
editor_shutdown();
key_bindings_shutdown();
 }
-
-void
-egui_project_open(char *path)
-{
-   if (path)
- {
-Eina_Bool post_open = EINA_FALSE;
-/* If file exists try open it. */
-if (ecore_file_exists(path))
-  {
- if (_guilogic_cbs-_project_new(path))
-   {
-  post_open = EINA_TRUE;
-   }
-  }
-/* If not, create new file. */
-else
-  {
- if (_guilogic_cbs-_project_new(NULL))
-   {
-  const Gui_Context *ctx = _active_context_get();
-
-  char *_dir = ecore_file_dir_get(path);
-  const char *filename = ecore_file_file_get(path);
-
-  

[EGIT] [tools/erigo] master 02/05: Fix warning when cleaning objtree

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=3b9226eb4ee0021e88b23e9306826f9eadd40b96

commit 3b9226eb4ee0021e88b23e9306826f9eadd40b96
Author: Yakov Goldberg yako...@samsung.com
Date:   Sun Jun 28 15:01:29 2015 +0300

Fix warning when cleaning objtree
---
 src/bin/gui/objtree.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bin/gui/objtree.c b/src/bin/gui/objtree.c
index 64d0c36..9f8ccf6 100644
--- a/src/bin/gui/objtree.c
+++ b/src/bin/gui/objtree.c
@@ -231,13 +231,13 @@ objtree_init()
 void
 objtree_shutdown()
 {
+   elm_genlist_clear(lst);
+   lst = NULL;
+   if (_itc) elm_genlist_item_class_free(_itc);
if (_widgets_to_items_hash_table) 
eina_hash_free(_widgets_to_items_hash_table);
_widgets_to_items_hash_table = NULL;
if (_openned_items_set) eina_hash_free(_openned_items_set);
_openned_items_set = NULL;
-   elm_genlist_clear(lst);
-   lst = NULL;
-   if (_itc) elm_genlist_item_class_free(_itc);
 }
 
 /* Clear filter field and expanded item's hash*/

-- 




[EGIT] [core/efl] master 01/01: Emotion: Adding Eo test for emotion

2015-06-29 Thread Avi Levin
jackdanielz pushed a commit to branch master.

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

commit dc5d6a6f7d7e0068625a9d9dead65dc49595393a
Author: Avi Levin avi.le...@samsung.com
Date:   Sun Jun 14 11:46:59 2015 +0300

Emotion: Adding Eo test for emotion

This test is exactly like the existing legacy one but works
with Eo invocations.
---
 src/Makefile_Emotion.am  |  18 +
 src/tests/emotion/emotion_test_main-eo.c | 835 +++
 2 files changed, 853 insertions(+)

diff --git a/src/Makefile_Emotion.am b/src/Makefile_Emotion.am
index 0390512..6b6efca 100644
--- a/src/Makefile_Emotion.am
+++ b/src/Makefile_Emotion.am
@@ -243,6 +243,24 @@ tests_emotion_emotion_test_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 tests_emotion_emotion_test_LDADD = @USE_EDJE_LIBS@ @USE_EMOTION_LIBS@
 tests_emotion_emotion_test_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ 
@USE_EMOTION_INTERNAL_LIBS@
 
+bin_PROGRAMS += tests/emotion/emotion_test-eo
+
+tests_emotion_emotion_test_eo_SOURCES = \
+tests/emotion/emotion_test_main-eo.c
+
+tests_emotion_emotion_test_eo_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+-DPACKAGE_BIN_DIR=\$(bindir)\ \
+-DPACKAGE_LIB_DIR=\$(libdir)\ \
+-DPACKAGE_DATA_DIR=\$(datadir)/emotion\ \
+-DPACKAGE_BUILD_DIR=\$(abs_top_builddir)\ \
+@EDJE_CFLAGS@ \
+@EMOTION_CFLAGS@ \
+@EO_CFLAGS@
+
+tests_emotion_emotion_test_eo_LDADD = @USE_EDJE_LIBS@ @USE_EMOTION_LIBS@ 
@USE_EO_LIBS@
+tests_emotion_emotion_test_eo_DEPENDENCIES = @USE_EDJE_INTERNAL_LIBS@ 
@USE_EMOTION_INTERNAL_LIBS@ \
+@USE_EO_INTERNAL_LIBS@
+
 tests/emotion/data/theme.edj: tests/emotion/data/theme.edc 
bin/edje/edje_cc${EXEEXT}
$(AM_V_EDJ) \
$(MKDIR_P) tests/emotion/data; \
diff --git a/src/tests/emotion/emotion_test_main-eo.c 
b/src/tests/emotion/emotion_test_main-eo.c
new file mode 100644
index 000..efa9d3c
--- /dev/null
+++ b/src/tests/emotion/emotion_test_main-eo.c
@@ -0,0 +1,835 @@
+#ifdef HAVE_CONFIG_H
+#include config.h
+#else
+#define EFL_EO_API_SUPPORT
+#define EFL_BETA_API_SUPPORT
+#endif
+
+#include Eo.h
+#include stdlib.h
+#include stdio.h
+#include string.h
+
+#include Evas.h
+#include Ecore.h
+#include Ecore_Getopt.h
+#include Ecore_Evas.h
+#include Edje.h
+
+#include Emotion.h
+
+static const Ecore_Getopt options = {
+   emotion_test,
+   %prog [options] filename,
+   1.0.0,
+   (C) 2011-2014 Enlightenment,
+   BSD\nThis is a 3 clause bsd bla bla,
+   a simple test program for emotion.,
+   1,
+   {
+  ECORE_GETOPT_STORE_STR('e', engine, ecore-evas engine to use),
+  ECORE_GETOPT_CALLBACK_NOARGS('E', list-engines, list ecore-evas 
engines,
+   
ecore_getopt_callback_ecore_evas_list_engines, NULL),
+  ECORE_GETOPT_CALLBACK_ARGS('g', geometry, geometry to use in x:y:w:h 
form., X:Y:W:H,
+ ecore_getopt_callback_geometry_parse, NULL),
+  ECORE_GETOPT_STORE_STR('b', backend, backend to use),
+  ECORE_GETOPT_STORE_INT('v', vis, visualization type),
+  ECORE_GETOPT_STORE_TRUE('w', webcams, show all the available v4l 
streams),
+  ECORE_GETOPT_STORE_TRUE('r', reflex, show video reflex effect),
+  ECORE_GETOPT_STORE_TRUE('l', loop, restart the video when end 
reached),
+  ECORE_GETOPT_STORE_TRUE('p', position, start the video from last know 
position),
+  ECORE_GETOPT_VERSION('V', version),
+  ECORE_GETOPT_COPYRIGHT('R', copyright),
+  ECORE_GETOPT_LICENSE('L', license),
+  ECORE_GETOPT_HELP('h', help),
+  ECORE_GETOPT_SENTINEL
+   }
+};
+
+typedef struct _Frame_Data Frame_Data;
+
+struct _Frame_Data
+{
+   unsigned char moving : 1;
+   unsigned char resizing : 1;
+   intbutton;
+   Evas_Coord x, y;
+};
+
+static Eina_Bool bg_key_down(void *data EINA_UNUSED, Eo *obj EINA_UNUSED,
+  const Eo_Event_Description *desc EINA_UNUSED, void *event_info);
+
+
+static Evas_Object *o_bg = NULL;
+
+static Ecore_Evas  *ecore_evas = NULL;
+static Evas*evas   = NULL;
+static int  startw = 800;
+static int  starth = 600;
+
+static Eina_List   *video_objs = NULL;
+static Emotion_Vis  vis= EMOTION_VIS_NONE;
+static unsigned char reflex= 0;
+static unsigned char loop  = 0;
+static unsigned char last_position_load  = 0;
+static const char  *theme_file = NULL;
+
+static void
+bg_resize(Evas_Coord w, Evas_Coord h)
+{
+   eo_do(o_bg, efl_gfx_size_set(w, h));
+}
+
+static void
+main_resize(Ecore_Evas *ee)
+{
+   Evas_Coord w, h;
+
+   eo_do(ecore_evas_get(ee),
+ evas_canvas_output_viewport_get(NULL, NULL, w, h));
+   bg_resize(w, h);
+}
+
+static Eina_Bool
+main_signal_exit(void *data EINA_UNUSED, int ev_type EINA_UNUSED, void *ev 
EINA_UNUSED)
+{
+   Evas_Object *o;
+
+   ecore_main_loop_quit();
+   EINA_LIST_FREE(video_objs, o)
+ {
+emotion_object_last_position_save(o);
+eo_del(o);
+ }
+   return EINA_TRUE;
+}
+
+static void

[EGIT] [core/efl] master 01/01: Eo: Remove redundant semicolon.

2015-06-29 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 6107f235aa77c8877279ce59a7dee7adbab4aae4
Author: Tom Hacohen t...@stosb.com
Date:   Mon Jun 29 12:52:40 2015 +0100

Eo: Remove redundant semicolon.

Thanks to Vincent Torri for spotting this one.
---
 src/lib/eo/eo_private.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eo/eo_private.h b/src/lib/eo/eo_private.h
index 3cad4e6..579ac6d 100644
--- a/src/lib/eo/eo_private.h
+++ b/src/lib/eo/eo_private.h
@@ -218,7 +218,7 @@ _eo_del_internal(const char *file, int line, _Eo_Object 
*obj)
 
_eo_condtor_reset(obj);
 
-   eo_do(_eo_id_get(obj), eo_destructor(););
+   eo_do(_eo_id_get(obj), eo_destructor());
 
if (!obj-condtor_done)
  {

-- 




[EGIT] [tools/erigo] master 01/01: Fix segfault

2015-06-29 Thread Yakov Goldberg
yakov pushed a commit to branch master.

http://git.enlightenment.org/tools/erigo.git/commit/?id=de4517aebad0486c3e321ecdde3160d27ed48b38

commit de4517aebad0486c3e321ecdde3160d27ed48b38
Author: Yakov Goldberg yako...@samsung.com
Date:   Mon Jun 29 17:33:58 2015 +0300

Fix segfault
---
 src/bin/gui/editor.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/gui/editor.c b/src/bin/gui/editor.c
index b959fbb..dce3086 100644
--- a/src/bin/gui/editor.c
+++ b/src/bin/gui/editor.c
@@ -4860,6 +4860,7 @@ _canvas_resize_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *d
Evas_Coord right_x, bottom_y, left_x, top_y;
_max_coords_get(left_x, top_y, right_x, bottom_y);
Gui_Context *ctx = _active_context_get();
+   if (!ctx) return EO_CALLBACK_CONTINUE;
if (g)
  {
 Evas_Coord dx = 17, dy = 2, w, h;
@@ -4882,7 +4883,6 @@ _canvas_resize_cb(void *data EINA_UNUSED, Eo *obj, const 
Eo_Event_Description *d
  Evas_Coord region_x, region_y, region_w, region_h;
  elm_scroller_region_get(obj, region_x, region_y, region_w, 
region_h);
  Eid *wdg_id;
- if (!ctx) return EO_CALLBACK_CONTINUE;
  Eina_List *main_widgets = gui_context_main_widgets_get(ctx), *itr;
  EINA_LIST_FOREACH(main_widgets, itr, wdg_id)
{

-- 




[EGIT] [core/efl] master 01/01: ecore_x_xi2: add small code to check device id

2015-06-29 Thread Ji-Youn Park
jypark pushed a commit to branch master.

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

commit f74895c6b7ef5442b1143a6c1f2f9b860114603b
Author: Ji-Youn Park jy0703.p...@samsung.com
Date:   Tue Jun 30 00:02:47 2015 +0900

ecore_x_xi2: add small code to check device id

cancel event only can be dealed in touch device.
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/src/lib/ecore_x/xlib/ecore_x_xi2.c 
b/src/lib/ecore_x/xlib/ecore_x_xi2.c
index ec16896..64c2030 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -150,6 +150,21 @@ _ecore_x_input_shutdown(void)
 
 #ifdef ECORE_XI2
 #ifdef ECORE_XI2_2
+static Eina_Bool
+_ecore_x_input_touch_device_check(int devid)
+{
+   int i;
+   Eina_Inlist *l = _ecore_x_xi2_touch_info_list;
+   Ecore_X_Touch_Device_Info *info = NULL;
+
+   if ((!_ecore_x_xi2_devs) || (!_ecore_x_xi2_touch_info_list))
+ return EINA_FALSE;
+
+   EINA_INLIST_FOREACH(l, info)
+ if (info-devid == devid) return EINA_TRUE;
+  return EINA_FALSE;
+}
+
 static int
 _ecore_x_input_touch_index_get(int devid, int detail, int event_type)
 {

-- 




[EGIT] [core/efl] master 01/02: ecore_wl: Add generated session-recovery-protocol files to build

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit cb449adde6d992c42bb01ebae10cd76b544da8db
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Mar 20 13:28:08 2015 +0100

ecore_wl: Add generated session-recovery-protocol files to build

For now these are generated externally by wayland-scanner and added here.
Also keep the original xml protocol file here for now.

This covers the client side for applications while the server side code
sits with E as compositor.
---
 src/Makefile_Ecore_Wayland.am  |  4 +-
 .../session-recovery-client-protocol.h | 68 ++
 src/lib/ecore_wayland/session-recovery-protocol.c  | 23 
 src/lib/ecore_wayland/session-recovery.xml | 12 
 4 files changed, 106 insertions(+), 1 deletion(-)

diff --git a/src/Makefile_Ecore_Wayland.am b/src/Makefile_Ecore_Wayland.am
index f9bb362..6099f34 100644
--- a/src/Makefile_Ecore_Wayland.am
+++ b/src/Makefile_Ecore_Wayland.am
@@ -21,7 +21,9 @@ lib/ecore_wayland/subsurface-client-protocol.h \
 lib/ecore_wayland/ivi-application-protocol.c \
 lib/ecore_wayland/ivi-application-client-protocol.h \
 lib/ecore_wayland/xdg-shell-client-protocol.h \
-lib/ecore_wayland/xdg-shell-protocol.c
+lib/ecore_wayland/xdg-shell-protocol.c \
+lib/ecore_wayland/session-recovery-client-protocol.h \
+lib/ecore_wayland/session-recovery-protocol.c
 
 lib_ecore_wayland_libecore_wayland_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl 
@ECORE_WAYLAND_CFLAGS@
 lib_ecore_wayland_libecore_wayland_la_LIBADD = @ECORE_WAYLAND_LIBS@
diff --git a/src/lib/ecore_wayland/session-recovery-client-protocol.h 
b/src/lib/ecore_wayland/session-recovery-client-protocol.h
new file mode 100644
index 000..97848c8
--- /dev/null
+++ b/src/lib/ecore_wayland/session-recovery-client-protocol.h
@@ -0,0 +1,68 @@
+#ifndef SESSION_RECOVERY_CLIENT_PROTOCOL_H
+#define SESSION_RECOVERY_CLIENT_PROTOCOL_H
+
+#ifdef  __cplusplus
+extern C {
+#endif
+
+#include stdint.h
+#include stddef.h
+#include wayland-client.h
+
+struct wl_client;
+struct wl_resource;
+
+struct session_recovery;
+
+extern const struct wl_interface session_recovery_interface;
+
+struct session_recovery_listener {
+   /**
+* uuid - (none)
+* @uuid: (none)
+*/
+   void (*uuid)(void *data,
+struct session_recovery *session_recovery,
+const char *uuid);
+};
+
+static inline int
+session_recovery_add_listener(struct session_recovery *session_recovery,
+ const struct session_recovery_listener *listener, 
void *data)
+{
+   return wl_proxy_add_listener((struct wl_proxy *) session_recovery,
+(void (**)(void)) listener, data);
+}
+
+#define SESSION_RECOVERY_PROVIDE_UUID  0
+
+static inline void
+session_recovery_set_user_data(struct session_recovery *session_recovery, void 
*user_data)
+{
+   wl_proxy_set_user_data((struct wl_proxy *) session_recovery, user_data);
+}
+
+static inline void *
+session_recovery_get_user_data(struct session_recovery *session_recovery)
+{
+   return wl_proxy_get_user_data((struct wl_proxy *) session_recovery);
+}
+
+static inline void
+session_recovery_destroy(struct session_recovery *session_recovery)
+{
+   wl_proxy_destroy((struct wl_proxy *) session_recovery);
+}
+
+static inline void
+session_recovery_provide_uuid(struct session_recovery *session_recovery, const 
char *uuid)
+{
+   wl_proxy_marshal((struct wl_proxy *) session_recovery,
+SESSION_RECOVERY_PROVIDE_UUID, uuid);
+}
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/lib/ecore_wayland/session-recovery-protocol.c 
b/src/lib/ecore_wayland/session-recovery-protocol.c
new file mode 100644
index 000..5e0a835
--- /dev/null
+++ b/src/lib/ecore_wayland/session-recovery-protocol.c
@@ -0,0 +1,23 @@
+#include stdlib.h
+#include stdint.h
+#include wayland-util.h
+
+
+static const struct wl_interface *types[] = {
+   NULL,
+};
+
+static const struct wl_message session_recovery_requests[] = {
+   { provide_uuid, s, types + 0 },
+};
+
+static const struct wl_message session_recovery_events[] = {
+   { uuid, s, types + 0 },
+};
+
+WL_EXPORT const struct wl_interface session_recovery_interface = {
+   session_recovery, 1,
+   1, session_recovery_requests,
+   1, session_recovery_events,
+};
+
diff --git a/src/lib/ecore_wayland/session-recovery.xml 
b/src/lib/ecore_wayland/session-recovery.xml
new file mode 100644
index 000..d996b6d
--- /dev/null
+++ b/src/lib/ecore_wayland/session-recovery.xml
@@ -0,0 +1,12 @@
+protocol name=session_recovery
+
+  interface name=session_recovery version=1
+request name=provide_uuid
+  arg name=uuid type=string/
+/request
+event name=uuid
+  arg name=uuid type=string/
+/event
+  /interface
+
+/protocol

-- 


[EGIT] [core/enlightenment] master 03/05: e_main: Initialize UUID store during E startup

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit bbc744490b8ecba0c1e759fa8aa680213f7b2050
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Tue Mar 25 11:06:25 2014 +0100

e_main: Initialize UUID store during E startup

I have been running with this enabled for a while and it should not make
trouble but if it does simply reverting this one if totally fine while I'm
away.
---
 src/bin/e_main.c | 12 
 1 file changed, 12 insertions(+)

diff --git a/src/bin/e_main.c b/src/bin/e_main.c
index 4575499..6a4823f 100644
--- a/src/bin/e_main.c
+++ b/src/bin/e_main.c
@@ -517,6 +517,18 @@ main(int argc, char **argv)
_e_main_shutdown_push(e_alert_shutdown);
 #endif
 
+#ifdef HAVE_WAYLAND
+   /* init uuid store for window/surface properties */
+   TS(E_UUID_Store Init);
+   if (!e_uuid_store_init())
+ {
+e_error_message_show(_(Enlightenment cannot initialize its UUID 
store.\n));
+_e_main_shutdown(-1);
+ }
+   TS(E_UUID_Store Init Done);
+   _e_main_shutdown_push(e_uuid_store_shutdown);
+#endif
+
TS(E_Configure Init);
e_configure_init();
TS(E_Configure Init Done);

-- 




[EGIT] [core/enlightenment] master 04/05: e_pixmap: Create uuid when being used as a wl surface

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 0522053dd1960647fdce541e56453a59d1238908
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Mar 20 11:35:35 2015 +0100

e_pixmap: Create uuid when being used as a wl surface
---
 src/bin/e_pixmap.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c
index 1635b46..1ee17ac 100644
--- a/src/bin/e_pixmap.c
+++ b/src/bin/e_pixmap.c
@@ -7,6 +7,8 @@
 # include e_comp_x.h
 #endif
 
+#include uuid.h
+
 static Eina_Hash *pixmaps[2] = {NULL};
 
 struct _E_Pixmap
@@ -36,6 +38,7 @@ struct _E_Pixmap
struct wl_listener buffer_destroy_listener;
void *data;
Eina_Rectangle opaque;
+   uuid_t uuid;
 #endif
 
Eina_Bool usable : 1;
@@ -243,6 +246,7 @@ e_pixmap_new(E_Pixmap_Type type, ...)
 cp = _e_pixmap_new(type);
 cp-win = id;
 eina_hash_add(pixmaps[type], id, cp);
+uuid_generate(cp-uuid);
 #endif
 break;
   default: break;

-- 




[EGIT] [core/enlightenment] master 02/05: e_remember: Update UUID store properties from e_remember

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 2d3fae79a0aabfa0beda20409a49769f36151194
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Wed Apr 23 14:50:33 2014 +0200

e_remember: Update UUID store properties from e_remember

The e_remember infrastructure already hooks into all needed places to keep
a record of the given properties for an e_client. We use this to update the
UUID store.

Signed-off-by: Stefan Schmidt s.schm...@samsung.com
---
 src/bin/e_remember.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/e_remember.c b/src/bin/e_remember.c
index 4efbca7..83902e2 100644
--- a/src/bin/e_remember.c
+++ b/src/bin/e_remember.c
@@ -376,6 +376,10 @@ e_remember_default_match_set(E_Remember *rem, E_Client *ec)
 E_API void
 e_remember_update(E_Client *ec)
 {
+#ifdef HAVE_WAYLAND
+   /* Use this as e_remeber_update is called in all the right places already */
+   e_uuid_store_entry_update(ec-uuid, ec);
+#endif
if (ec-new_client) return;
if (!ec-remember) return;
if (ec-remember-keep_settings) return;

-- 




[EGIT] [core/efl] master 02/02: ecore_wl: Hookup wl listener for uuid event from session recovery protocol

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 633747a05de07e7273e7f164978850e5537979e3
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Mar 20 14:13:59 2015 +0100

ecore_wl: Hookup wl listener for uuid event from session recovery protocol

This should listen for events containing the assigned UUID from the 
compositor.
---
 src/lib/ecore_wayland/ecore_wl.c | 16 
 src/lib/ecore_wayland/ecore_wl_private.h |  1 +
 2 files changed, 17 insertions(+)

diff --git a/src/lib/ecore_wayland/ecore_wl.c b/src/lib/ecore_wayland/ecore_wl.c
index c9764f2..7b7b783 100644
--- a/src/lib/ecore_wayland/ecore_wl.c
+++ b/src/lib/ecore_wayland/ecore_wl.c
@@ -19,6 +19,8 @@
 #include xdg-shell-client-protocol.h
 #define XDG_VERSION 5
 
+#include session-recovery-client-protocol.h
+
 /* local function prototypes */
 static int _ecore_wl_shutdown(Eina_Bool close);
 static Eina_Bool _ecore_wl_cb_idle_enterer(void *data);
@@ -75,6 +77,17 @@ static const struct xdg_shell_listener xdg_shell_listener =
xdg_shell_ping,
 };
 
+static void
+_ecore_wl_uuid_receive(void *data EINA_UNUSED, struct session_recovery 
*session_recovery EINA_UNUSED, const char *uuid)
+{
+   DBG(UUID assigned from compositor: %s, uuid);
+}
+
+static const struct session_recovery_listener 
_ecore_wl_session_recovery_listener =
+{
+   _ecore_wl_uuid_receive,
+};
+
 /* external variables */
 int _ecore_wl_log_dom = -1;
 Ecore_Wl_Display *_ecore_wl_disp = NULL;
@@ -190,6 +203,9 @@ ecore_wl_init(const char *name)
wl_registry_add_listener(_ecore_wl_disp-wl.registry,
 _ecore_wl_registry_listener, _ecore_wl_disp);
 
+   session_recovery_add_listener(_ecore_wl_disp-wl.session_recovery,
+_ecore_wl_session_recovery_listener, 
_ecore_wl_disp);
+
if (!_ecore_wl_xkb_init(_ecore_wl_disp))
  {
 ERR(Could not initialize XKB);
diff --git a/src/lib/ecore_wayland/ecore_wl_private.h 
b/src/lib/ecore_wayland/ecore_wl_private.h
index c54b157..21daf65 100644
--- a/src/lib/ecore_wayland/ecore_wl_private.h
+++ b/src/lib/ecore_wayland/ecore_wl_private.h
@@ -71,6 +71,7 @@ struct _Ecore_Wl_Display
 struct wl_shell *shell;
 struct xdg_shell *xdg_shell;
 struct wl_shell *desktop_shell;
+struct session_recovery *session_recovery;
 # ifdef USE_IVI_SHELL
 struct ivi_application *ivi_application;
 # endif

-- 




[EGIT] [core/elementary] master 01/01: atspi: fix missing Window signals on AT-SPI2 initialization

2015-06-29 Thread Lukasz Stanislawski
stanluk pushed a commit to branch master.

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

commit 0dc0ad891a33572bc2c056c425a3ae6566c26050
Author: Lukasz Stanislawski l.stanisl...@samsung.com
Date:   Mon Jun 29 16:30:34 2015 +0200

atspi: fix missing Window signals on AT-SPI2 initialization

Patch adds connected/disconnected elm_atspi_bridge events to avoid
races between window getting focus and AT-SPI2 bus initialization.
When  bridge gets connected windows will reemit all Created,
Activated and Deactivated events with regard to window focus.
---
 src/lib/elm_atspi_bridge.c  | 45 +
 src/lib/elm_atspi_bridge.eo |  4 
 src/lib/elm_win.c   | 43 +--
 3 files changed, 54 insertions(+), 38 deletions(-)

diff --git a/src/lib/elm_atspi_bridge.c b/src/lib/elm_atspi_bridge.c
index 9a5c9cb..289f3af 100644
--- a/src/lib/elm_atspi_bridge.c
+++ b/src/lib/elm_atspi_bridge.c
@@ -2997,6 +2997,10 @@ _registered_listeners_get(void *data, const 
Eldbus_Message *msg, Eldbus_Pending
 eldbus_message_iter_arguments_get(siter, ss, bus, event);
 _set_broadcast_flag(event, data);
  }
+
+   if (!pd-connected)
+  eo_do(data, eo_event_callback_call(ELM_ATSPI_BRIDGE_EVENT_CONNECTED, 
NULL));
+   pd-connected = EINA_TRUE;
 }
 
 static void
@@ -3145,46 +3149,24 @@ static Eina_Bool
 _window_signal_send(void *data, Eo *obj, const Eo_Event_Description *desc, 
void *event_info EINA_UNUSED)
 {
enum _Atspi_Window_Signals type;
-   const char *name;
 
ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN_VAL(data, pd, EINA_FALSE);
ELM_ATSPI_OBJECT_INTERFACE_GET_OR_RETURN_VAL(obj, 
eo_class_name_get(ELM_INTERFACE_ATSPI_WINDOW_INTERFACE), ifc, EINA_FALSE);
 
if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_CREATED)
- {
-type = ATSPI_WINDOW_EVENT_CREATE;
-name = Create;
- }
+ type = ATSPI_WINDOW_EVENT_CREATE;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_DESTROYED)
- {
-type = ATSPI_WINDOW_EVENT_DESTROY;
-name = Destroy;
- }
+ type = ATSPI_WINDOW_EVENT_DESTROY;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_DEACTIVATED)
- {
-type = ATSPI_WINDOW_EVENT_DEACTIVATE;
-name = Deactivate;
- }
+ type = ATSPI_WINDOW_EVENT_DEACTIVATE;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_ACTIVATED)
- {
-type = ATSPI_WINDOW_EVENT_ACTIVATE;
-name = Activate;
- }
+ type = ATSPI_WINDOW_EVENT_ACTIVATE;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MAXIMIZED)
- {
-type = ATSPI_WINDOW_EVENT_MAXIMIZE;
-name = Maximize;
- }
+ type = ATSPI_WINDOW_EVENT_MAXIMIZE;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MINIMIZED)
- {
-type = ATSPI_WINDOW_EVENT_MINIMIZE;
-name = Minimize;
- }
+ type = ATSPI_WINDOW_EVENT_MINIMIZE;
else if (desc == ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_RESTORED)
- {
-type = ATSPI_WINDOW_EVENT_RESTORE;
-name = Restore;
- }
+ type = ATSPI_WINDOW_EVENT_RESTORE;
else
  return EINA_FALSE;
 
@@ -3197,7 +3179,7 @@ _window_signal_send(void *data, Eo *obj, const 
Eo_Event_Description *desc, void
 return EINA_FALSE;
  }
 
-   _bridge_signal_send(data, ifc, type, name, 0, 0, i, 0);
+   _bridge_signal_send(data, ifc, type, , 0, 0, i, 0);
return EINA_TRUE;
 }
 
@@ -3461,6 +3443,7 @@ _a11y_connection_shutdown(Eo *bridge)
if (pd-a11y_bus) eldbus_connection_unref(pd-a11y_bus);
pd-a11y_bus = NULL;
 
+   eo_do(bridge, eo_event_callback_call(ELM_ATSPI_BRIDGE_EVENT_DISCONNECTED, 
NULL));
pd-connected = EINA_FALSE;
 }
 
@@ -3492,8 +3475,6 @@ _a11y_bus_initialize(Eo *obj, const char *socket_addr)
// buid cache
eo_do(obj, root = elm_obj_atspi_bridge_root_get());
_bridge_cache_build(obj, root);
-
-   pd-connected = EINA_TRUE;
 }
 
 static void
diff --git a/src/lib/elm_atspi_bridge.eo b/src/lib/elm_atspi_bridge.eo
index fc1471a..eafd9f4 100644
--- a/src/lib/elm_atspi_bridge.eo
+++ b/src/lib/elm_atspi_bridge.eo
@@ -23,4 +23,8 @@ class Elm.Atspi_Bridge (Eo.Base)
   Eo.Base.constructor;
   Eo.Base.destructor;
}
+   events {
+  connected;
+  disconnected;
+   }
 }
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index ff2021e..e41113a 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1507,9 +1507,6 @@ _elm_win_evas_object_smart_show(Eo *obj, Elm_Win_Data *sd)
TRAP(sd, show);
 
if (sd-shot.info) _shot_handle(sd);
-
-   if (_elm_config-atspi_mode)
- eo_do(obj, 
eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_CREATED, NULL));
 }
 
 EOLIAN static void
@@ -1878,6 +1875,9 @@ _elm_win_evas_object_smart_del(Eo *obj, Elm_Win_Data *sd)
 evas_font_cache_flush(evas_object_evas_get(obj));
 elm_exit();
  }
+

[EGIT] [core/enlightenment] master 05/05: session_recovery: Add wayland extension protocol prototype for session recovery

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit df041fe77b5ee660b430ee63b3941911636fd196
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Fri Mar 20 19:07:43 2015 +0100

session_recovery: Add wayland extension protocol prototype for session 
recovery

Like with all other wayland protocols I add the files generated with wayland
scanner here. Also the xml so we have the source around for updating and
modifications. We might want to think about wayland-scanner support in our 
build
system but this works for now.

The protocol prototype is hold simple and does only have a uuid signal and 
provide
call to handle the uuid assignment from compositor to app and app providing 
its
uuid if present already.
---
 src/bin/Makefile.mk|  2 ++
 src/bin/session-recovery-protocol.c| 23 
 src/bin/session-recovery-server-protocol.h | 43 ++
 src/bin/session-recovery.xml   | 12 +
 4 files changed, 80 insertions(+)

diff --git a/src/bin/Makefile.mk b/src/bin/Makefile.mk
index 8fe0706..4a24ea1 100644
--- a/src/bin/Makefile.mk
+++ b/src/bin/Makefile.mk
@@ -368,6 +368,8 @@ endif
 if HAVE_WAYLAND
 enlightenment_src += \
 src/bin/e_uuid_store.c \
+src/bin/session-recovery-protocol.c \
+src/bin/session-recovery-server-protocol.h \
 src/bin/e_comp_wl_data.c \
 src/bin/e_comp_wl_input.c \
 src/bin/e_comp_wl.c
diff --git a/src/bin/session-recovery-protocol.c 
b/src/bin/session-recovery-protocol.c
new file mode 100644
index 000..5e0a835
--- /dev/null
+++ b/src/bin/session-recovery-protocol.c
@@ -0,0 +1,23 @@
+#include stdlib.h
+#include stdint.h
+#include wayland-util.h
+
+
+static const struct wl_interface *types[] = {
+   NULL,
+};
+
+static const struct wl_message session_recovery_requests[] = {
+   { provide_uuid, s, types + 0 },
+};
+
+static const struct wl_message session_recovery_events[] = {
+   { uuid, s, types + 0 },
+};
+
+WL_EXPORT const struct wl_interface session_recovery_interface = {
+   session_recovery, 1,
+   1, session_recovery_requests,
+   1, session_recovery_events,
+};
+
diff --git a/src/bin/session-recovery-server-protocol.h 
b/src/bin/session-recovery-server-protocol.h
new file mode 100644
index 000..4b5f5d0
--- /dev/null
+++ b/src/bin/session-recovery-server-protocol.h
@@ -0,0 +1,43 @@
+#ifndef SESSION_RECOVERY_SERVER_PROTOCOL_H
+#define SESSION_RECOVERY_SERVER_PROTOCOL_H
+
+#ifdef  __cplusplus
+extern C {
+#endif
+
+#include stdint.h
+#include stddef.h
+#include wayland-util.h
+
+struct wl_client;
+struct wl_resource;
+
+struct session_recovery;
+
+extern const struct wl_interface session_recovery_interface;
+
+struct session_recovery_interface {
+   /**
+* provide_uuid - (none)
+* @uuid: (none)
+*/
+   void (*provide_uuid)(struct wl_client *client,
+struct wl_resource *resource,
+const char *uuid);
+};
+
+#define SESSION_RECOVERY_UUID  0
+
+#define SESSION_RECOVERY_UUID_SINCE_VERSION1
+
+static inline void
+session_recovery_send_uuid(struct wl_resource *resource_, const char *uuid)
+{
+   wl_resource_post_event(resource_, SESSION_RECOVERY_UUID, uuid);
+}
+
+#ifdef  __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/bin/session-recovery.xml b/src/bin/session-recovery.xml
new file mode 100644
index 000..d996b6d
--- /dev/null
+++ b/src/bin/session-recovery.xml
@@ -0,0 +1,12 @@
+protocol name=session_recovery
+
+  interface name=session_recovery version=1
+request name=provide_uuid
+  arg name=uuid type=string/
+/request
+event name=uuid
+  arg name=uuid type=string/
+/event
+  /interface
+
+/protocol

-- 




[EGIT] [core/enlightenment] master 01/05: e_client: Remove deleted client from UUID store

2015-06-29 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit e2f87d34985658aac5a7447da783737c1fc848b8
Author: Stefan Schmidt s.schm...@samsung.com
Date:   Thu Apr 10 17:12:28 2014 +0200

e_client: Remove deleted client from UUID store

Signed-off-by: Stefan Schmidt s.schm...@samsung.com
---
 src/bin/e_client.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index b578ff0..20f9e5e 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -548,6 +548,11 @@ _e_client_free(E_Client *ec)
ec-e.state.profile.wait_desk = NULL;
evas_object_del(ec-frame);
E_OBJECT(ec)-references--;
+
+#ifdef HAVE_WAYLAND
+   e_uuid_store_entry_del(ec-uuid);
+#endif
+
free(ec);
 }
 

-- 




[EGIT] [core/efl] master 01/01: ecore_x_xi2: remove build warning

2015-06-29 Thread Ji-Youn Park
jypark pushed a commit to branch master.

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

commit 4d417782518901ff5786536711d8b853079a24d6
Author: Ji-Youn Park jy0703.p...@samsung.com
Date:   Tue Jun 30 00:58:24 2015 +0900

ecore_x_xi2: remove build warning
---
 src/lib/ecore_x/xlib/ecore_x_xi2.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/ecore_x/xlib/ecore_x_xi2.c 
b/src/lib/ecore_x/xlib/ecore_x_xi2.c
index 64c2030..566570a 100644
--- a/src/lib/ecore_x/xlib/ecore_x_xi2.c
+++ b/src/lib/ecore_x/xlib/ecore_x_xi2.c
@@ -153,7 +153,6 @@ _ecore_x_input_shutdown(void)
 static Eina_Bool
 _ecore_x_input_touch_device_check(int devid)
 {
-   int i;
Eina_Inlist *l = _ecore_x_xi2_touch_info_list;
Ecore_X_Touch_Device_Info *info = NULL;
 
@@ -162,7 +161,7 @@ _ecore_x_input_touch_device_check(int devid)
 
EINA_INLIST_FOREACH(l, info)
  if (info-devid == devid) return EINA_TRUE;
-  return EINA_FALSE;
+   return EINA_FALSE;
 }
 
 static int

-- 




[EGIT] [core/efl] master 02/03: Revert ecore-input: add keysym to Ecore_Event_Key struct

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 121e7be4b684645cbef76e58871c0a35027ce9bf
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:11:47 2015 -0400

Revert ecore-input: add keysym to Ecore_Event_Key struct

This reverts commit c3f3c4eba80f0a7f388de608f2b1566213e73603.

this was audited and found to be impractical due to portability concerns
---
 src/lib/ecore_drm/ecore_drm_evdev.c| 1 -
 src/lib/ecore_input/Ecore_Input.h  | 1 -
 src/lib/ecore_wayland/ecore_wl_input.c | 1 -
 src/lib/ecore_x/xcb/ecore_xcb_events.c | 1 -
 src/lib/ecore_x/xlib/ecore_x_events.c  | 1 -
 5 files changed, 5 deletions(-)

diff --git a/src/lib/ecore_drm/ecore_drm_evdev.c 
b/src/lib/ecore_drm/ecore_drm_evdev.c
index ec50509..e40ad40 100644
--- a/src/lib/ecore_drm/ecore_drm_evdev.c
+++ b/src/lib/ecore_drm/ecore_drm_evdev.c
@@ -361,7 +361,6 @@ _device_handle_key(struct libinput_device *device, struct 
libinput_event_keyboar
e-timestamp = timestamp;
e-same_screen = 1;
e-keycode = code;
-   e-keysym = sym;
 
_device_modifiers_update(edev);
 
diff --git a/src/lib/ecore_input/Ecore_Input.h 
b/src/lib/ecore_input/Ecore_Input.h
index 1a72e98..a1fc93c 100644
--- a/src/lib/ecore_input/Ecore_Input.h
+++ b/src/lib/ecore_input/Ecore_Input.h
@@ -154,7 +154,6 @@ extern C {
 unsigned int keycode; /** Key scan code numeric value @since 1.10 
*/
 
 void*data; /** User data associated with an 
Ecore_Event_Key @since 1.10 */
-unsigned int keysym; /** Encoding of keyboard symbold @since 1.15 
*/
  };
 
/**
diff --git a/src/lib/ecore_wayland/ecore_wl_input.c 
b/src/lib/ecore_wayland/ecore_wl_input.c
index 58d1030..7813a15 100644
--- a/src/lib/ecore_wayland/ecore_wl_input.c
+++ b/src/lib/ecore_wayland/ecore_wl_input.c
@@ -827,7 +827,6 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct 
wl_keyboard *keyboard EINA_UN
e-timestamp = timestamp;
e-modifiers = input-modifiers;
e-keycode = code;
-   e-keysym = sym;
 
if (state)
  ecore_event_add(ECORE_EVENT_KEY_DOWN, e, NULL, NULL);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_events.c 
b/src/lib/ecore_x/xcb/ecore_xcb_events.c
index fdd17da..0b71451 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_events.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_events.c
@@ -2422,7 +2422,6 @@ _ecore_xcb_event_key_press(xcb_generic_event_t *event)
 e-same_screen = xevent-same_screen;
 e-root_window = xevent-root;
 e-keycode = keycode;
-e-keysym = sym;
 
 DBG(Sending Key Down Event: %s, e-keyname);
 ecore_event_add(ECORE_EVENT_KEY_DOWN, e, NULL, NULL);
diff --git a/src/lib/ecore_x/xlib/ecore_x_events.c 
b/src/lib/ecore_x/xlib/ecore_x_events.c
index 0a02b3e..ced9657 100644
--- a/src/lib/ecore_x/xlib/ecore_x_events.c
+++ b/src/lib/ecore_x/xlib/ecore_x_events.c
@@ -393,7 +393,6 @@ _ecore_key_press(int event,
e-same_screen = xevent-same_screen;
e-root_window = xevent-root;
e-keycode = xevent-keycode;
-   e-keysym = sym;
 
ecore_event_add(event, e, NULL, NULL);
 

-- 




[EGIT] [core/efl] master 03/03: Revert evas: add keysym member to key event structs

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 508da27bb161aa93c80ee9b252cae9b07c49f6d2
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:12:10 2015 -0400

Revert evas: add keysym member to key event structs

This reverts commit b7c89d23252d34c1d9efecc27dc835aa8df3c50d.

this was audited and found to be impractical due to portability concerns
---
 src/lib/ecore_input_evas/ecore_input_evas.c | 10 +++
 src/lib/evas/Evas_Common.h  |  2 --
 src/lib/evas/canvas/evas_canvas.eo  | 42 -
 src/lib/evas/canvas/evas_events.c   | 30 +
 4 files changed, 10 insertions(+), 74 deletions(-)

diff --git a/src/lib/ecore_input_evas/ecore_input_evas.c 
b/src/lib/ecore_input_evas/ecore_input_evas.c
index b9b3082..4c95bf9 100644
--- a/src/lib/ecore_input_evas/ecore_input_evas.c
+++ b/src/lib/ecore_input_evas/ecore_input_evas.c
@@ -392,25 +392,23 @@ _ecore_event_evas_key(Ecore_Event_Key *e, 
Ecore_Event_Press press)
if (!lookup) return ECORE_CALLBACK_PASS_ON;
ecore_event_evas_modifier_lock_update(lookup-evas, e-modifiers);
if (press == ECORE_DOWN)
- evas_event_feed_key_down_with_keycode_and_keysym(lookup-evas,
+ evas_event_feed_key_down_with_keycode(lookup-evas,
e-keyname,
e-key,
e-string,
e-compose,
e-timestamp,
e-data,
-   e-keycode,
-   e-keysym);
+   e-keycode);
else
- evas_event_feed_key_up_with_keycode_and_keysym(lookup-evas,
+ evas_event_feed_key_up_with_keycode(lookup-evas,
  e-keyname,
  e-key,
  e-string,
  e-compose,
  e-timestamp,
  e-data,
- e-keycode,
- e-keysym);
+ e-keycode);
return ECORE_CALLBACK_PASS_ON;
 }
 
diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
index aa82737..e042b18 100644
--- a/src/lib/evas/Evas_Common.h
+++ b/src/lib/evas/Evas_Common.h
@@ -666,7 +666,6 @@ struct _Evas_Event_Key_Down /** Key press event */
Evas_Device *dev;
 
unsigned int keycode; /** Key scan code numeric value @since 1.10 */
-   unsigned int keysym; /** Encoding of key symbol @since 1.15 */
 };
 
 struct _Evas_Event_Key_Up /** Key release event */
@@ -684,7 +683,6 @@ struct _Evas_Event_Key_Up /** Key release event */
Evas_Device *dev;
 
unsigned int keycode; /** Key scan code numeric value @since 1.10 */
-   unsigned int keysym; /** Encoding of key symbol @since 1.15 */
 };
 
 struct _Evas_Event_Render_Post /** Send when the frame rendering is done 
@since 1.8 */
diff --git a/src/lib/evas/canvas/evas_canvas.eo 
b/src/lib/evas/canvas/evas_canvas.eo
index 561aae1..442e493 100644
--- a/src/lib/evas/canvas/evas_canvas.eo
+++ b/src/lib/evas/canvas/evas_canvas.eo
@@ -1797,48 +1797,6 @@ class Evas.Canvas (Eo.Base, Evas.Common_Interface)
 @in keycode: uint; /*@ Key scan code numeric value for canvas. */
  }
   }
-  event_feed_key_down_with_keycode_and_keysym {
- /*@
- Key down event feed with keycode and keysym
-
- This function will set some evas properties that is necessary when
- a key is pressed. It prepares information to be treated by the
- callback function.
-
- @since 1.15 */
-
- params {
-@in keyname: const(char)*; /*@ Name of the key */
-@in key: const(char)*; /*@ The key pressed. */
-@in string: const(char)*; /*@ A String */
-@in compose: const(char)*; /*@ The compose string */
-@in timestamp: uint; /*@ Timestamp of the mouse up event */
-@in data: const(void)*; /*@ Data for canvas. */
-@in keycode: uint; /*@ Key scan code numeric value for canvas. */
-@in keysym: uint; /*@ Keysym for pressed key. */
- }
-  }
-  event_feed_key_up_with_keycode_and_keysym {
- /*@
- Key up event feed with keycode
-
- This function will set some evas properties that is necessary when
- a key is released. It prepares information to be treated by the
- callback function.
-
- @since 1.15 */
-
- params {
-@in keyname: const(char)*; /*@ Name of 

[EGIT] [core/efl] master 01/03: ecore-x: add ecore_x_keysym_get()

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 476ebdc0a16140a8d9e07ae3814c1475b51cd1aa
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:09:56 2015 -0400

ecore-x: add ecore_x_keysym_get()

this is a less invasive solution for retrieving a keysym. X keysyms are
not portable, and so this function should not be used for any code which
is meant to run on other platforms.

@feature
---
 src/lib/ecore_x/Ecore_X.h  | 10 ++
 src/lib/ecore_x/xcb/ecore_xcb_keymap.c |  6 ++
 src/lib/ecore_x/xlib/ecore_x_test.c|  6 ++
 3 files changed, 22 insertions(+)

diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 8c3a41f..f933aee 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -2520,6 +2520,16 @@ EAPI const char*ecore_x_keysym_string_get(int 
keysym);
  */
 EAPI intecore_x_keysym_keycode_get(const char *keyname);
 
+/**
+ * Return the X-specific keysym for a given key string
+ * @param string The key to get the keysym for
+ * @return the keysym value
+ *
+ * @since 1.15
+ * @note The returned value is not portable.
+ */
+EAPI unsigned int   ecore_x_keysym_get(const char *string);
+
 typedef struct _Ecore_X_Image Ecore_X_Image;
 
 EAPI Ecore_X_Image *ecore_x_image_new(int w, int h, Ecore_X_Visual vis, int 
depth);
diff --git a/src/lib/ecore_x/xcb/ecore_xcb_keymap.c 
b/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
index 530a3d4..35a559c 100644
--- a/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
+++ b/src/lib/ecore_x/xcb/ecore_xcb_keymap.c
@@ -330,6 +330,12 @@ ecore_x_keysym_keycode_get(const char *keyname)
return _ecore_xcb_keymap_string_to_keycode(keyname);
 }
 
+EAPI unsigned int
+ecore_x_keysym_get(const char *string)
+{
+   return _ecore_xcb_keymap_string_to_keysym(string);
+}
+
 /* local functions */
 static int
 _ecore_xcb_keymap_mask_get(void*reply,
diff --git a/src/lib/ecore_x/xlib/ecore_x_test.c 
b/src/lib/ecore_x/xlib/ecore_x_test.c
index 4eec6b7..f552910 100644
--- a/src/lib/ecore_x/xlib/ecore_x_test.c
+++ b/src/lib/ecore_x/xlib/ecore_x_test.c
@@ -165,3 +165,9 @@ ecore_x_keysym_keycode_get(const char *keyname)
 
return keycode;
 }
+
+EAPI unsigned int
+ecore_x_keysym_get(const char *string)
+{
+   return XStringToKeysym(string);
+}

-- 




[EGIT] [core/elementary] master 01/01: atspi: add missing header

2015-06-29 Thread Lukasz Stanislawski
stanluk pushed a commit to branch master.

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

commit 65bfc92ad68d45927abef9a6b7f1bc6ae76c8da8
Author: Lukasz Stanislawski l.stanisl...@samsung.com
Date:   Mon Jun 29 11:39:16 2015 +0200

atspi: add missing header
---
 src/lib/Makefile.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index ece5597..bcfc36e 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -34,6 +34,7 @@ includesdir = $(includedir)/elementary-@VMAJ@
 
 includesunstable_HEADERS = \
 elm_gen_common.h \
+elm_atspi_bridge.h \
 elm_interface_atspi_accessible.h \
 elm_interface_atspi_text.h \
 elm_interface_atspi_widget_action.h \

-- 




[EGIT] [core/enlightenment] master 04/05: disable wl-fb output module

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit e29d451c74b5a0bde7404828753d2f3c0e79c506
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:54:45 2015 -0400

disable wl-fb output module

this has never worked and is not being actively developed
---
 src/modules/Makefile.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/Makefile.mk b/src/modules/Makefile.mk
index abcbeeb..7548c50 100644
--- a/src/modules/Makefile.mk
+++ b/src/modules/Makefile.mk
@@ -115,7 +115,7 @@ include src/modules/Makefile_wl_desktop_shell.mk
 
 include src/modules/Makefile_wl_x11.mk
 
-include src/modules/Makefile_wl_fb.mk
+#include src/modules/Makefile_wl_fb.mk
 
 include src/modules/Makefile_xwayland.mk
 

-- 




[EGIT] [core/enlightenment] master 02/05: fix wl-x11 configure checks

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 50df06777dbdb431f876a3c971622b0a3646baff
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:40:51 2015 -0400

fix wl-x11 configure checks
---
 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index 05900d4..dbe0115 100644
--- a/configure.ac
+++ b/configure.ac
@@ -818,10 +818,10 @@ fi
 
 define([CHECK_MODULE_WL_X11],
 [
-  if test x${have_wayland_only} = xyes ; then
-PKG_CHECK_MODULES([ECORE_X], [ecore-x = ${efl_version}])
+  if test x${have_wayland} = xyes ; then
+PKG_CHECK_MODULES([ECORE_X], [ecore-x = ${efl_version}], 
[have_wayland_only=no], [WL_X11=false])
   fi
-  if test x${have_wayland_only} = xyes; then
+  if test x${have_wayland} = xyes; then
 AC_E_CHECK_PKG(WL_X11, [ ecore-x = ${efl_version} ], [WL_X11=true], 
[WL_X11=false])
   else
 WL_X11=false

-- 




[EGIT] [core/enlightenment] master 01/05: rename --enable-wayland-only to --enable-wayland

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 6e9d6726bb50c5078602e43a10911ce3f31b8c08
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:30:00 2015 -0400

rename --enable-wayland-only to --enable-wayland

wayland-only is only enabled if xwayland and x11 output are disabled
---
 configure.ac | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index c9e24d2..05900d4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -446,11 +446,11 @@ AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n $eeze_mount])
 # verify wayland-only early to adapt dependencies
 
 have_wayland_only=no
-AC_ARG_ENABLE([wayland-only],
-  AS_HELP_STRING([--enable-wayland-only],[enable wayland-only version of 
enlightenment @:@default=disabled@:@]),
+AC_ARG_ENABLE([wayland],
+  AS_HELP_STRING([--enable-wayland],[enable wayland support in enlightenment 
@:@default=disabled@:@]),
   [e_cv_want_wayland_only=$enableval],
   [e_cv_want_wayland_only=no])
-AC_MSG_CHECKING([whether wayland-only version is enabled])
+AC_MSG_CHECKING([whether wayland support is enabled])
 AC_MSG_RESULT([${e_cv_want_wayland_only}])
 
 # doxygen program for documentation building

-- 




[EGIT] [core/enlightenment] master 03/05: remove E_Comp_Data reference from wl-x11 module

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 8c223c0af47d7c78d938e788abf3df26814b889f
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 13:42:14 2015 -0400

remove E_Comp_Data reference from wl-x11 module

fix T2528
---
 src/modules/wl_x11/e_mod_main.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/modules/wl_x11/e_mod_main.c b/src/modules/wl_x11/e_mod_main.c
index 433601d..ce7 100644
--- a/src/modules/wl_x11/e_mod_main.c
+++ b/src/modules/wl_x11/e_mod_main.c
@@ -14,7 +14,6 @@ _cb_delete_request(Ecore_Evas *ee EINA_UNUSED)
 static Eina_Bool 
 _cb_keymap_changed(void *data, int type EINA_UNUSED, void *event EINA_UNUSED)
 {
-   E_Comp_Data *cdata;
E_Config_XKB_Layout *ekbd;
char *rules = NULL, *model = NULL, *layout = NULL;
Ecore_X_Atom xkb = 0;
@@ -24,8 +23,6 @@ _cb_keymap_changed(void *data, int type EINA_UNUSED, void 
*event EINA_UNUSED)
 
printf(KEYMAP CHANGED\n);
 
-   if (!(cdata = data)) return ECORE_CALLBACK_PASS_ON;
-
/* try to fetch the E keyboard layout */
if ((ekbd = e_xkb_layout_get()))
  {

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 07/07: trigger client mouse-in on x11 mouse movement for non-action clients

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit cf332e874c7d5b273ba831df11a70c10ef759fee
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 16:01:52 2015 -0400

trigger client mouse-in on x11 mouse movement for non-action clients

this should fix the case of mouse-based focus policies trying to reapply
focus after another client has stolen it away without the pointer leaving
the window
---
 src/bin/e_comp_x.c | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 4364cd7..8cfac78 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2105,7 +2105,16 @@ _e_comp_x_mouse_move(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mouse_M
E_Client *ec;
 
ec = e_client_action_get();
-   if (!ec) return ECORE_CALLBACK_RENEW;
+   if (!ec)
+ {
+ec = _e_comp_x_client_find_by_window(ev-window);
+if ((!ec)  (ev-window != ev-event_window))
+  ec = _e_comp_x_client_find_by_window(ev-event_window);
+if ((!ec) || e_client_util_ignored_get(ec)) return 
ECORE_CALLBACK_RENEW;
+if (!ec-mouse.in)
+  e_client_mouse_in(ec, e_comp_canvas_x_root_adjust(ec-comp, 
ev-root.x), e_comp_canvas_x_root_adjust(ec-comp, ev-root.y));
+return ECORE_CALLBACK_RENEW;
+ }
E_COMP_X_PIXMAP_CHECK ECORE_CALLBACK_RENEW;
if (ec-comp_data-deleted || e_client_util_ignored_get(ec)) return 
ECORE_CALLBACK_RENEW;
if (e_client_util_resizing_get(ec) 

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 06/07: trigger fake mouse-out on clients when unsetting focus

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 9e5c227689511cb4ff909c57791067e17c7c2695
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 16:00:43 2015 -0400

trigger fake mouse-out on clients when unsetting focus

this will allow a more reasonable determination of pointer location
when attempting to apply mouse-based focus policies
---
 src/bin/e_client.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_client.c b/src/bin/e_client.c
index e8d62e8..b65ffce 100644
--- a/src/bin/e_client.c
+++ b/src/bin/e_client.c
@@ -3488,6 +3488,8 @@ e_client_focused_set(E_Client *ec)
 ec_unfocus-want_focus = ec_unfocus-focused = 0;
 if (!e_object_is_del(E_OBJECT(ec_unfocus)))
   e_focus_event_focus_out(ec_unfocus);
+if (ec_unfocus-mouse.in)
+  e_client_mouse_out(ec_unfocus, ec_unfocus-x - 1, ec_unfocus-y - 1);
 
 E_FREE_FUNC(ec_unfocus-raise_timer, ecore_timer_del);
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/07: stop rejecting possibly-valid x11 focus events

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 84ba19d57667ec115e4469e4af1d7152bd0b15ae
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 15:26:08 2015 -0400

stop rejecting possibly-valid x11 focus events

fixes case where window assumes focus without wm interaction
---
 src/bin/e_comp_x.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 8df7063..30bd64a 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2421,11 +2421,7 @@ _e_comp_x_focus_in(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_W
 * these result from iconifying a client during a grab */
if (ec-iconic) return ECORE_CALLBACK_RENEW;
 
-   /* block spurious focus events
-* not sure if correct, but seems necessary to use pointer focus...
-*/
focused = e_client_focused_get();
-   if (focused  (ec != focused)) return ECORE_CALLBACK_RENEW;
 
_e_comp_x_client_pri_raise(ec);
if (ev-mode == ECORE_X_EVENT_MODE_GRAB)

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 03/07: fix focus FIXME regarding focus-setting on clients from other desks

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit a491a3fa9ed128c9521217b115138f861d7c4fd2
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 15:47:57 2015 -0400

fix focus FIXME regarding focus-setting on clients from other desks

fix T2259
---
 src/bin/e_comp_object.c | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index f10d34e..a8a48fb 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -1442,12 +1442,10 @@ _e_comp_intercept_focus(void *data, Evas_Object *obj, 
Eina_Bool focus)
   {
  return;
   }
-/* FIXME: hack for deskflip animation:
- * dont update focus when sliding previous desk */
-if ((!ec-sticky)  (ec-desk) 
-(ec-desk != e_desk_current_get(ec-desk-zone)))
+if ((!ec-sticky)  (ec-desk)  (!ec-desk-visible))
   {
- return;
+ if (ec-desk-animate_count) return;
+ e_desk_show(ec-desk);
   }
  }
 

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 02/07: check for possible parent window on x11 mouse button events

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit a416f96c12ea656552b3e0eb339c39199584fe82
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 15:28:41 2015 -0400

check for possible parent window on x11 mouse button events

in the case of different window - event_window, window is a child window
of event_window, and thus checking event_window here is valid (and 
necessary)
---
 src/bin/e_comp_x.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 30bd64a..4364cd7 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2061,6 +2061,8 @@ _e_comp_x_mouse_up(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mouse_But
//else
  {
 ec = _e_comp_x_client_find_by_window(ev-window);
+if ((!ec)  (ev-window != ev-event_window))
+  ec = _e_comp_x_client_find_by_window(ev-event_window);
 if (!ec)
   {
  if (e_client_comp_grabbed_get())
@@ -2087,6 +2089,8 @@ _e_comp_x_mouse_down(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mouse_B
//else
  {
 ec = _e_comp_x_client_find_by_window(ev-window);
+if ((!ec)  (ev-window != ev-event_window))
+  ec = _e_comp_x_client_find_by_window(ev-event_window);
 if ((!ec) || e_client_util_ignored_get(ec)) return 
ECORE_CALLBACK_RENEW;
  }
if (ec-comp_data-deleted) return ECORE_CALLBACK_RENEW;

-- 




[EGIT] [core/enlightenment] enlightenment-0.19 01/01: enforce pstate's extremely-confusing no_turbo option in cpufreq

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.19.

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

commit 5182693d8db6039c5d3dbd09e67714b55f96a688
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 16:38:17 2015 -0400

enforce pstate's extremely-confusing no_turbo option in cpufreq

fix T2411
---
 src/modules/cpufreq/e_mod_config.c |  2 +-
 src/modules/cpufreq/e_mod_main.c   | 18 +++---
 src/modules/cpufreq/e_mod_main.h   |  2 +-
 3 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/src/modules/cpufreq/e_mod_config.c 
b/src/modules/cpufreq/e_mod_config.c
index 4564e5b..1ae42cc 100644
--- a/src/modules/cpufreq/e_mod_config.c
+++ b/src/modules/cpufreq/e_mod_config.c
@@ -142,7 +142,7 @@ _basic_apply_data(E_Config_Dialog *cfd __UNUSED__, 
E_Config_Dialog_Data *cfdata)
if (cpufreq_config-pstate_min  cpufreq_config-pstate_max)
  cpufreq_config-pstate_min = cpufreq_config-pstate_max;
_cpufreq_set_pstate(cpufreq_config-pstate_min - 1,
-   cpufreq_config-pstate_max - 1, 1);
+   cpufreq_config-pstate_max - 1);
e_config_save_queue();
return 1;
 }
diff --git a/src/modules/cpufreq/e_mod_main.c b/src/modules/cpufreq/e_mod_main.c
index 6cc011a..2bb2c11 100644
--- a/src/modules/cpufreq/e_mod_main.c
+++ b/src/modules/cpufreq/e_mod_main.c
@@ -566,13 +566,13 @@ _cpufreq_set_frequency(int frequency)
 }
 
 void
-_cpufreq_set_pstate(int min, int max, int turbo)
+_cpufreq_set_pstate(int min, int max)
 {
char buf[4096];
int ret;
 
snprintf(buf, sizeof(buf),
-%s %s %i %i %i, cpufreq_config-set_exe_path, pstate, min, 
max, turbo);
+%s %s %i %i %i, cpufreq_config-set_exe_path, pstate, min, 
max, cpufreq_config-status-pstate_turbo);
ret = system(buf);
if (ret != 0)
  {
@@ -597,6 +597,7 @@ _cpufreq_cb_check(void *data __UNUSED__)
Instance *inst;
Eina_List *l;
int active;
+   static Eina_Bool init_set = EINA_FALSE;
 
if (cpufreq_config-menu_poll) return ECORE_CALLBACK_RENEW;
active = cpufreq_config-status-active;
@@ -619,6 +620,12 @@ _cpufreq_cb_check(void *data __UNUSED__)
edje_object_signal_emit(inst-o_cpu, e,state,enabled, e);
   }
  }
+   if (!init_set)
+ {
+_cpufreq_set_pstate(cpufreq_config-pstate_min - 1,
+cpufreq_config-pstate_max - 1);
+init_set = 1;
+ }
 
return ECORE_CALLBACK_RENEW;
 }
@@ -1277,7 +1284,7 @@ _cpufreq_menu_pstate_min(void *data, E_Menu *m 
__UNUSED__, E_Menu_Item *mi __UNU
if (cpufreq_config-pstate_max  cpufreq_config-pstate_min)
  cpufreq_config-pstate_max = cpufreq_config-pstate_min;
_cpufreq_set_pstate(cpufreq_config-pstate_min - 1,
-   cpufreq_config-pstate_max - 1, 1);
+   cpufreq_config-pstate_max - 1);
e_config_save_queue();
 }
 
@@ -1289,7 +1296,7 @@ _cpufreq_menu_pstate_max(void *data, E_Menu *m 
__UNUSED__, E_Menu_Item *mi __UNU
if (cpufreq_config-pstate_min  cpufreq_config-pstate_max)
  cpufreq_config-pstate_min = cpufreq_config-pstate_max;
_cpufreq_set_pstate(cpufreq_config-pstate_min - 1, 
-   cpufreq_config-pstate_max - 1, 1);
+   cpufreq_config-pstate_max - 1);
e_config_save_queue();
 }
 
@@ -1399,9 +1406,6 @@ e_modapi_init(E_Module *m)
   }
  }
 
-   _cpufreq_set_pstate(cpufreq_config-pstate_min - 1, 
-   cpufreq_config-pstate_max - 1, 1);
-
cpufreq_config-module = m;
 
e_gadcon_provider_register(_gadcon_class);
diff --git a/src/modules/cpufreq/e_mod_main.h b/src/modules/cpufreq/e_mod_main.h
index c57e01f..7c58dc2 100644
--- a/src/modules/cpufreq/e_mod_main.h
+++ b/src/modules/cpufreq/e_mod_main.h
@@ -63,7 +63,7 @@ EAPI int   e_modapi_save (E_Module *m);
 E_Config_Dialog *e_int_config_cpufreq_module(E_Comp *comp, const char *params);
 void _cpufreq_poll_interval_update(void);
 void _cpufreq_set_governor(const char *governor);
-void _cpufreq_set_pstate(int min, int max, int turbo);
+void _cpufreq_set_pstate(int min, int max);
 
 extern Config *cpufreq_config;
 

-- 




[EGIT] [core/enlightenment] master 02/07: stop rejecting possibly-valid x11 focus events

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit aa32ef87f95f9d0e885fbeba7509a2fb6749b615
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 15:26:08 2015 -0400

stop rejecting possibly-valid x11 focus events

fixes case where window assumes focus without wm interaction
---
 src/bin/e_comp_x.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 90c307d..ea91632 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2544,11 +2544,7 @@ _e_comp_x_focus_in(void *data EINA_UNUSED, int type 
EINA_UNUSED, Ecore_X_Event_W
 * these result from iconifying a client during a grab */
if (ec-iconic) return ECORE_CALLBACK_RENEW;
 
-   /* block spurious focus events
-* not sure if correct, but seems necessary to use pointer focus...
-*/
focused = e_client_focused_get();
-   if (focused  (ec != focused)) return ECORE_CALLBACK_RENEW;
 
_e_comp_x_client_pri_raise(ec);
if (ev-mode == ECORE_X_EVENT_MODE_GRAB)

-- 




[EGIT] [core/enlightenment] master 03/07: check for possible parent window on x11 mouse button events

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 14c038d7302172cbd20adc334592a65176204835
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 15:28:41 2015 -0400

check for possible parent window on x11 mouse button events

in the case of different window - event_window, window is a child window
of event_window, and thus checking event_window here is valid (and 
necessary)
---
 src/bin/e_comp_x.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index ea91632..4f1e922 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2183,6 +2183,8 @@ _e_comp_x_mouse_up(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mouse_But
//else
  {
 ec = _e_comp_x_client_find_by_window(ev-window);
+if ((!ec)  (ev-window != ev-event_window))
+  ec = _e_comp_x_client_find_by_window(ev-event_window);
 if (!ec)
   {
  if (e_client_comp_grabbed_get())
@@ -2209,6 +2211,8 @@ _e_comp_x_mouse_down(void *d EINA_UNUSED, int t 
EINA_UNUSED, Ecore_Event_Mouse_B
//else
  {
 ec = _e_comp_x_client_find_by_window(ev-window);
+if ((!ec)  (ev-window != ev-event_window))
+  ec = _e_comp_x_client_find_by_window(ev-event_window);
 if ((!ec) || e_client_util_ignored_get(ec)) return 
ECORE_CALLBACK_RENEW;
  }
if (_e_comp_x_client_data_get(ec)-deleted) return ECORE_CALLBACK_RENEW;

-- 




[EGIT] [core/enlightenment] master 01/07: set pager_plain to fill area

2015-06-29 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4e601d421ea25e2adbbdb7bc3d1abcf57e18bc17
Author: Mike Blumenkrantz zm...@osg.samsung.com
Date:   Mon Jun 29 14:58:48 2015 -0400

set pager_plain to fill area

fix T2526
---
 src/modules/pager_plain/e_mod_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/pager_plain/e_mod_main.c 
b/src/modules/pager_plain/e_mod_main.c
index 01cac16..dd81015 100644
--- a/src/modules/pager_plain/e_mod_main.c
+++ b/src/modules/pager_plain/e_mod_main.c
@@ -307,6 +307,7 @@ _pager_new(Evas *evas, E_Zone *zone, E_Gadcon *gc)
p-inst = NULL;
p-popup = NULL;
p-o_table = elm_table_add(e_win_evas_win_get(evas));
+   E_FILL(p-o_table);
elm_table_homogeneous_set(p-o_table, 1);
p-zone = zone;
_pager_fill(p, gc);

-- 




[EGIT] [core/elementary] master 01/06: elm_box: porting evas smart callbacks to eo

2015-06-29 Thread Avi Levin
jackdanielz pushed a commit to branch master.

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

commit e68e171ba3d974b126793409af9071f8a10d1857
Author: Avi Levin avi.le...@samsung.com
Date:   Tue Apr 28 14:26:17 2015 +0300

elm_box: porting evas smart callbacks to eo

Replacing  calls of evas_object_smart_callback_add/del/call
with eo_callback_add/del/call.
This will reduce the use of legacy events and callbacks lists in
smart_object which in turn will improve performance and reduce memory
use.
---
 src/lib/elm_box.c | 58 +--
 1 file changed, 31 insertions(+), 27 deletions(-)

diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c
old mode 100644
new mode 100755
index 42a6f33..f89989f
--- a/src/lib/elm_box.c
+++ b/src/lib/elm_box.c
@@ -28,24 +28,26 @@ _elm_box_list_data_get(const Eina_List *list)
return opt-obj;
 }
 
-static void
+static Eina_Bool
 _child_added_cb_proxy(void *data,
-  Evas_Object *o EINA_UNUSED,
-  void *event_info)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info)
 {
Evas_Object *box = data;
Evas_Object_Box_Option *opt = event_info;
-   evas_object_smart_callback_call(box, SIG_CHILD_ADDED, opt-obj);
+   eo_do(box, eo_event_callback_call(ELM_BOX_EVENT_CHILD_ADDED, opt-obj));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _child_removed_cb_proxy(void *data,
-Evas_Object *o EINA_UNUSED,
-void *event_info)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info)
 {
Evas_Object *box = data;
Evas_Object *child = event_info;
-   evas_object_smart_callback_call(box, SIG_CHILD_REMOVED, child);
+   eo_do(box, eo_event_callback_call(ELM_BOX_EVENT_CHILD_REMOVED, child));
+
+   return EINA_TRUE;
 }
 
 EOLIAN static Eina_Bool
@@ -192,27 +194,27 @@ _transition_animation(void *data)
return ECORE_CALLBACK_RENEW;
 }
 
-static void
+static Eina_Bool
 _transition_layout_child_added(void *data,
-   Evas_Object *obj EINA_UNUSED,
-   void *event_info)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info)
 {
Transition_Animation_Data *tad;
Evas_Object_Box_Option *opt = event_info;
Elm_Box_Transition *layout_data = data;
 
tad = calloc(1, sizeof(Transition_Animation_Data));
-   if (!tad) return;
+   if (!tad) return EINA_TRUE;
 
tad-obj = opt-obj;
layout_data-objs = eina_list_append(layout_data-objs, tad);
layout_data-recalculate = EINA_TRUE;
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _transition_layout_child_removed(void *data,
- Evas_Object *obj EINA_UNUSED,
- void *event_info)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info)
 {
Eina_List *l;
Transition_Animation_Data *tad;
@@ -228,6 +230,8 @@ _transition_layout_child_removed(void *data,
  break;
   }
  }
+
+   return EINA_TRUE;
 }
 
 static void
@@ -319,10 +323,10 @@ _transition_layout_animation_start(Evas_Object *obj,
evas_object_event_callback_add
  (obj, EVAS_CALLBACK_RESIZE, _transition_layout_obj_resize_cb,
  layout_data);
-   evas_object_smart_callback_add
- (obj, SIG_CHILD_ADDED, _transition_layout_child_added, layout_data);
-   evas_object_smart_callback_add
- (obj, SIG_CHILD_REMOVED, _transition_layout_child_removed, layout_data);
+   eo_do(obj, eo_event_callback_add
+ (ELM_BOX_EVENT_CHILD_ADDED, _transition_layout_child_added, layout_data));
+   eo_do(obj, eo_event_callback_add
+ (ELM_BOX_EVENT_CHILD_REMOVED, _transition_layout_child_removed, 
layout_data));
 
if (!layout_data-animator)
  layout_data-animator = ecore_animator_add(transition_animation_cb, obj);
@@ -387,10 +391,10 @@ _elm_box_evas_object_smart_add(Eo *obj, Elm_Box_Data *_pd 
EINA_UNUSED)
eo_do_super(obj, MY_CLASS, evas_obj_smart_add());
elm_widget_sub_object_parent_add(obj);
 
-   evas_object_smart_callback_add(wd-resize_obj, SIG_CHILD_ADDED,
-  _child_added_cb_proxy, obj);
-   evas_object_smart_callback_add(wd-resize_obj, SIG_CHILD_REMOVED,
-  _child_removed_cb_proxy, obj);
+   eo_do(wd-resize_obj, eo_event_callback_add
+  (ELM_BOX_EVENT_CHILD_ADDED, _child_added_cb_proxy, obj));
+   eo_do(wd-resize_obj, eo_event_callback_add
+ (ELM_BOX_EVENT_CHILD_REMOVED, _child_removed_cb_proxy, obj));
 
elm_widget_can_focus_set(obj, EINA_FALSE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
@@ -642,10 +646,10 @@ elm_box_transition_free(void *data)
 
evas_object_event_callback_del
  (box_data-box, EVAS_CALLBACK_RESIZE, _transition_layout_obj_resize_cb);
-   

[EGIT] [core/elementary] master 05/06: elm_photo: porting evas smart callbacks to eo

2015-06-29 Thread Avi Levin
jackdanielz pushed a commit to branch master.

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

commit 5ac56354a11f212253792edd007f302c801df4de
Author: Avi Levin avi.le...@samsung.com
Date:   Wed Apr 29 17:45:24 2015 +0300

elm_photo: porting evas smart callbacks to eo
---
 src/lib/elm_photo.c  | 18 ++
 src/lib/elm_photo.eo |  5 -
 2 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/lib/elm_photo.c b/src/lib/elm_photo.c
old mode 100644
new mode 100755
index 00c113d..fc214da
--- a/src/lib/elm_photo.c
+++ b/src/lib/elm_photo.c
@@ -109,7 +109,7 @@ _drag_done_cb(void *unused EINA_UNUSED,
ELM_PHOTO_DATA_GET(obj, sd);
 
elm_object_scroll_freeze_pop(obj);
-   evas_object_smart_callback_call(obj, SIG_DRAG_END, NULL);
+   eo_do(obj, eo_event_callback_call(EVAS_DRAGGABLE_INTERFACE_EVENT_DRAG_END, 
NULL));
sd-drag_started = EINA_FALSE;
 }
 
@@ -171,7 +171,8 @@ _long_press_cb(void *obj)
   _drag_done_cb, NULL))
   {
  elm_object_scroll_freeze_push(obj);
- evas_object_smart_callback_call(obj, SIG_DRAG_START, NULL);
+ eo_do(obj, eo_event_callback_call
+   (EVAS_DRAGGABLE_INTERFACE_EVENT_DRAG_START, NULL));
  sd-drag_started = EINA_TRUE;
   }
  }
@@ -213,7 +214,7 @@ _mouse_up(void *data,
ELM_SAFE_FREE(sd-long_press_timer, ecore_timer_del);
 
if (!sd-drag_started)
- evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
+ eo_do(data, 
eo_event_callback_call(EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED, NULL));
 }
 
 static inline int
@@ -241,12 +242,13 @@ _elm_photo_internal_image_follow(Evas_Object *obj)
  (img, EVAS_CALLBACK_RESIZE, _icon_move_resize_cb, obj);
 }
 
-static void
+static Eina_Bool
 _on_thumb_done(void *data,
-   Evas_Object *obj EINA_UNUSED,
-   void *event EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
_elm_photo_internal_image_follow(data);
+
+   return EINA_TRUE;
 }
 
 EOLIAN static void
@@ -274,8 +276,8 @@ _elm_photo_evas_object_smart_add(Eo *obj, Elm_Photo_Data 
*priv)
evas_object_event_callback_add
  (priv-icon, EVAS_CALLBACK_MOUSE_DOWN, _mouse_down, obj);
 
-   evas_object_smart_callback_add
- (priv-icon, thumb,done, _on_thumb_done, obj);
+   eo_do(priv-icon, eo_event_callback_add
+ (ELM_ICON_EVENT_THUMB_DONE, _on_thumb_done, obj));
 
_elm_photo_internal_image_follow(obj);
 
diff --git a/src/lib/elm_photo.eo b/src/lib/elm_photo.eo
index 2ff4c7d..67c2c84 100644
--- a/src/lib/elm_photo.eo
+++ b/src/lib/elm_photo.eo
@@ -93,10 +93,5 @@ class Elm.Photo (Elm.Widget, Efl.File, 
Evas.Clickable_Interface, Evas.Draggable_
   Evas.Object_Smart.del;
   Elm.Widget.theme_apply;
}
-   events {
-  clicked;
-  drag,start;
-  drag,end;
-   }
 
 }

-- 




[EGIT] [core/elementary] master 03/06: elc_player: porting evas smart callbacks to eo

2015-06-29 Thread Avi Levin
jackdanielz pushed a commit to branch master.

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

commit 0657cd583f7c451b28130e699aef26893603c0b6
Author: Avi Levin avi.le...@samsung.com
Date:   Tue Apr 28 19:37:09 2015 +0300

elc_player: porting evas smart callbacks to eo
---
 src/lib/elc_player.c | 206 ---
 1 file changed, 113 insertions(+), 93 deletions(-)

diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
old mode 100644
new mode 100755
index 1818e1f..91e38ed
--- a/src/lib/elc_player.c
+++ b/src/lib/elc_player.c
@@ -210,16 +210,15 @@ _elm_player_elm_layout_sizing_eval(Eo *obj, 
Elm_Player_Data *sd EINA_UNUSED)
evas_object_size_hint_min_set(obj, w, h);
 }
 
-static void
+static Eina_Bool
 _update_slider(void *data,
-   Evas_Object *obj EINA_UNUSED,
-   void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
double pos, length;
Eina_Bool seekable;
 
ELM_PLAYER_DATA_GET(data, sd);
-   if (!sd) return;
+   if (!sd) return EINA_TRUE;
 
seekable = elm_video_is_seekable_get(sd-video);
length = elm_video_play_length_get(sd-video);
@@ -231,22 +230,24 @@ _update_slider(void *data,
if ((elm_slider_value_get(sd-slider) != pos) 
(!sd-dragging))
  elm_slider_value_set(sd-slider, pos);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_frame(void *data,
-  Evas_Object *obj,
-  void *event_info)
+  Eo *obj, const Eo_Event_Description *desc, void *event_info)
 {
ELM_PLAYER_DATA_GET(data, sd);
-   if (!sd) return;
-   _update_slider(data, obj, event_info);
+   if (!sd) return EINA_TRUE;
+   _update_slider(data, obj, desc, event_info);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_position(void *data,
- Evas_Object *obj EINA_UNUSED,
- void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
double pos;
ELM_PLAYER_DATA_GET(data, sd);
@@ -254,30 +255,33 @@ _update_position(void *data,
pos = elm_slider_value_get(sd-slider);
if (pos != elm_video_play_position_get(sd-video))
  elm_video_play_position_set(sd-video, pos);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _drag_start(void *data,
-Evas_Object *obj EINA_UNUSED,
-void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
ELM_PLAYER_DATA_GET(data, sd);
sd-dragging = EINA_TRUE;
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _drag_stop(void *data,
-Evas_Object *obj EINA_UNUSED,
-void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
ELM_PLAYER_DATA_GET(data, sd);
sd-dragging = EINA_FALSE;
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _update_volume(void *data,
- Evas_Object *obj EINA_UNUSED,
- void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
double vol;
ELM_PLAYER_DATA_GET(data, sd);
@@ -285,12 +289,13 @@ _update_volume(void *data,
vol = elm_slider_value_get(sd-vslider) / 100.0;
if (vol != elm_video_audio_level_get(sd-video))
  elm_video_audio_level_set(sd-video, vol);
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _forward(void *data,
- Evas_Object *obj EINA_UNUSED,
- void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
double pos, length;
ELM_PLAYER_DATA_GET(data, sd);
@@ -302,64 +307,70 @@ _forward(void *data,
elm_video_play_position_set(sd-video, pos);
 
elm_layout_signal_emit(data, elm,button,forward, elm);
-   evas_object_smart_callback_call(data, SIG_FORWARD_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_FORWARD_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _info(void *data,
-  Evas_Object *obj EINA_UNUSED,
-  void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
elm_layout_signal_emit(data, elm,button,info, elm);
-   evas_object_smart_callback_call(data, SIG_INFO_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(ELM_PLAYER_EVENT_INFO_CLICKED, NULL));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _next(void *data,
-  Evas_Object *obj EINA_UNUSED,
-  void *event_info EINA_UNUSED)
+  Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {

[EGIT] [core/elementary] master 06/06: elm_flip: porting evas smart callbacks to eo

2015-06-29 Thread Avi Levin
jackdanielz pushed a commit to branch master.

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

commit ec424b6893ef6c665fd351115b314a59865c0f6e
Author: Avi Levin avi.le...@samsung.com
Date:   Thu Apr 30 14:18:41 2015 +0300

elm_flip: porting evas smart callbacks to eo
---
 src/lib/elm_flip.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/elm_flip.c b/src/lib/elm_flip.c
index 29cd214..8608817 100644
--- a/src/lib/elm_flip.c
+++ b/src/lib/elm_flip.c
@@ -1333,7 +1333,7 @@ _flip(Evas_Object *obj)
   sd-state = sd-next_state;
 _configure(obj);
 _flip_show_hide(obj);
-evas_object_smart_callback_call(obj, SIG_ANIMATE_DONE, NULL);
+eo_do(obj, eo_event_callback_call(ELM_FLIP_EVENT_ANIMATE_DONE, NULL));
 
 return ECORE_CALLBACK_CANCEL;
  }
@@ -1514,8 +1514,8 @@ _event_anim(void *data,
_flip_show_hide(sd-obj);
_configure(sd-obj);
sd-animator = NULL;
-   evas_object_smart_callback_call
- (sd-obj, SIG_ANIMATE_DONE, NULL);
+   eo_do(sd-obj, eo_event_callback_call
+ (ELM_FLIP_EVENT_ANIMATE_DONE, NULL));
 
return ECORE_CALLBACK_CANCEL;
 }
@@ -1701,7 +1701,7 @@ _move_cb(void *data,
  evas_smart_objects_calculate(evas_object_evas_get(data));
  _configure(fl);
  // FIXME: end hack
- evas_object_smart_callback_call(fl, SIG_ANIMATE_BEGIN, NULL);
+ eo_do(fl, eo_event_callback_call(ELM_FLIP_EVENT_ANIMATE_BEGIN, 
NULL));
   }
 else return;
  }
@@ -1922,7 +1922,7 @@ _internal_elm_flip_go_to(Evas_Object *obj,
evas_smart_objects_calculate(evas_object_evas_get(obj));
_configure(obj);
// FIXME: end hack
-   evas_object_smart_callback_call(obj, SIG_ANIMATE_BEGIN, NULL);
+   eo_do(obj, eo_event_callback_call(ELM_FLIP_EVENT_ANIMATE_BEGIN, NULL));
 
// set focus to the content object when flip go to is called
if (elm_object_focus_get(obj))

-- 




[EGIT] [core/efl] master 01/01: Evas filters: Force filter redraw if object changed

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 7ea52e1bd8b5be7a4e348f31c670436f0a6a4c53
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 30 11:45:55 2015 +0900

Evas filters: Force filter redraw if object changed

Somehow I broke this when introducing the eo mixin.
This is what broke @cedric's work on the snapshot widget!

TODO: Verify that the contents changed, and not just X,Y.
---
 src/lib/evas/canvas/evas_filter_mixin.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/evas/canvas/evas_filter_mixin.c 
b/src/lib/evas/canvas/evas_filter_mixin.c
index b2433b8..ffc8dfa 100644
--- a/src/lib/evas/canvas/evas_filter_mixin.c
+++ b/src/lib/evas/canvas/evas_filter_mixin.c
@@ -153,6 +153,12 @@ evas_filter_object_render(Eo *eo_obj, 
Evas_Object_Protected_Data *obj,
 fcow-state.pos);
  if (redraw)
DBG(Filter redraw by state change!);
+ else if (obj-changed)
+   {
+  // FIXME: Check that something else than X,Y changed!
+  redraw = EINA_TRUE;
+  DBG(Filter redraw by object content change!);
+   }
 
  // Scan proxies to find if any changed
  if (!redraw  fcow-sources)

-- 




[EGIT] [core/efl] master 03/08: Edje: Add proper filters section in the EDJ file

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 3648b0e25203a2ce269b586b4a499468fa07bbda
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 29 16:47:00 2015 +0900

Edje: Add proper filters section in the EDJ file

Don't [ab]use the file data section for filter scripts, instead
create a proper section for them. The rest of the behaviour stays
the same.
---
 src/bin/edje/edje_cc_handlers.c | 157 
 src/lib/edje/edje_calc.c|  29 
 src/lib/edje/edje_data.c|  15 
 src/lib/edje/edje_private.h |  16 
 4 files changed, 204 insertions(+), 13 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 4c7955f..0c14255 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -65,6 +65,7 @@
  *  li@ref sec_toplevel_data Data/li
  *  li@ref sec_toplevel_color_classes Color Classes/li
  *  li@ref sec_toplevel_styles Styles/li
+ *  li@ref sec_collections_group_filter Filters/li !-- dup --
  */ul
  *li@ref sec_collections Collections/li
  *ul
@@ -72,6 +73,7 @@
  *  ul
  *li@ref sec_collections_sounds_sample Sample/li
  *  /ul
+ *  li@ref sec_collections_group_filter Filters/li
  *  li@ref sec_collections_vibrations Vibrations/li
  *  ul
  *li@ref sec_collections_vibrations_sample Sample/li
@@ -81,6 +83,7 @@
  *li@ref sec_collections_group_script Script/li
  *li@ref sec_collections_group_limits Limits/li
  *li@ref sec_collections_group_data Data/li
+ *li@ref sec_collections_group_filter Filters/li
  *li@ref sec_collections_group_parts Parts/li
  *ul
  *  li@ref sec_collections_group_parts_part Part/li
@@ -209,6 +212,9 @@ static void st_color_class_color2(void);
 static void st_color_class_color3(void);
 static void st_color_class_desc(void);
 
+static void st_filters_filter_inline(void);
+static void st_filters_filter_file(void);
+
 static void ob_collections(void);
 static void st_collections_base_scale(void);
 
@@ -617,6 +623,12 @@ static void st_collections_group_nobroadcast(void);
 ed-type_node.orientation.type = 
EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_QUATERNION; \
  }
 
+#define FILTERS_STATEMENTS(PREFIX) \
+ {PREFIXfilters, NULL}, \
+ {PREFIXfilters.filter, NULL}, \
+ {PREFIXfilters.filter.inline, st_filters_filter_inline}, \
+ {PREFIXfilters.filter.file, st_filters_filter_file},
+
 New_Statement_Handler statement_handlers[] =
 {
  {externals.external, st_externals_external},
@@ -624,6 +636,7 @@ New_Statement_Handler statement_handlers[] =
  FONT_STYLE_CC_STATEMENTS()
  {data.item, st_data_item},
  {data.file, st_data_file},
+ FILTERS_STATEMENTS()
  {collections.externals.external, st_externals_external}, /* dup */
  IMAGE_STATEMENTS(collections.)
  IMAGE_SET_STATEMENTS(collections)
@@ -643,6 +656,7 @@ New_Statement_Handler statement_handlers[] =
  {collections.group.sounds.tone, st_collections_group_sound_tone}, /* 
dup */
  {collections.vibrations.sample.name, 
st_collections_group_vibration_sample_name},
  {collections.vibrations.sample.source, 
st_collections_group_vibration_sample_source},
+ FILTERS_STATEMENTS(collections.) /* dup */
  {collections.group.vibrations.sample.name, 
st_collections_group_vibration_sample_name}, /* dup */
  {collections.group.vibrations.sample.source, 
st_collections_group_vibration_sample_source}, /* dup */
  {collections.group.name, st_collections_group_name},
@@ -903,6 +917,7 @@ New_Statement_Handler statement_handlers[] =
  {collections.group.physics.world.z, 
st_collections_group_physics_world_z},
  {collections.group.physics.world.depth, 
st_collections_group_physics_world_depth},
 #endif
+ FILTERS_STATEMENTS(collections.group.) /* dup */
  PROGRAM_STATEMENTS(collections.group.parts.part.description)
  PROGRAM_STATEMENTS(collections.group.parts.part)
  PROGRAM_STATEMENTS(collections.group.parts)
@@ -4283,6 +4298,148 @@ st_collections_group_data_item(void)
  eina_hash_direct_add(pc-data, key, es);
 }
 
+/** @edcsubsection{collections_group_filter,
+ * Group.Filter} */
+
+/**
+@page edcref
+@block
+filters
+@context
+filters {
+filter {
+inline: key Lua script here;
+file: key Lua script filename;
+..
+}
+}
+@description
+The filter block lets you embed filter scripts into an EDC group,
+that can then be referred to in a @ref 
sec_collections_group_parts_description_filter Text.Filter
+or @ref collections_group_parts_description_filter Image.Filter 
statement.
+
+In a similar way to the @ref sec_collections_group_data 

[EGIT] [core/efl] master 07/08: doc: Fixup EDC documentation about filters examples

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4e6e7def006605666213c49089e09654bab691e7
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 29 19:52:56 2015 +0900

doc: Fixup EDC documentation about filters  examples
---
 src/bin/edje/edje_cc_handlers.c| 92 +-
 src/examples/evas/filters/filter_blend.lua |  2 +-
 src/examples/evas/filters/filter_blur.lua  |  2 +-
 src/examples/evas/filters/filter_bump.lua  |  2 +-
 src/examples/evas/filters/filter_grow.lua  |  2 +-
 5 files changed, 56 insertions(+), 44 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 762b713..18701a2 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -65,7 +65,7 @@
  *  li@ref sec_toplevel_data Data/li
  *  li@ref sec_toplevel_color_classes Color Classes/li
  *  li@ref sec_toplevel_styles Styles/li
- *  li@ref sec_collections_group_filter Filters/li !-- dup --
+ *  li@ref sec_collections_group_filters Filters/li
  */ul
  *li@ref sec_collections Collections/li
  *ul
@@ -73,7 +73,7 @@
  *  ul
  *li@ref sec_collections_sounds_sample Sample/li
  *  /ul
- *  li@ref sec_collections_group_filter Filters/li
+ *  li@ref sec_collections_group_filters Filters/li
  *  li@ref sec_collections_vibrations Vibrations/li
  *  ul
  *li@ref sec_collections_vibrations_sample Sample/li
@@ -83,7 +83,7 @@
  *li@ref sec_collections_group_script Script/li
  *li@ref sec_collections_group_limits Limits/li
  *li@ref sec_collections_group_data Data/li
- *li@ref sec_collections_group_filter Filters/li
+ *li@ref sec_collections_group_filters Filters/li
  *li@ref sec_collections_group_parts Parts/li
  *ul
  *  li@ref sec_collections_group_parts_part Part/li
@@ -119,6 +119,7 @@
  *  li@ref sec_collections_group_parts_description_perspective 
Perspective/li
  *  li@ref sec_collections_group_parts_descriptions_params 
Params/li
  *  li@ref sec_collections_group_parts_description_links 
Links/li
+ *  li@ref sec_collections_group_parts_description_filter 
Filter/li
  */ul
  *  /ul
  */ul
@@ -4298,25 +4299,26 @@ st_collections_group_data_item(void)
  eina_hash_direct_add(pc-data, key, es);
 }
 
-/** @edcsubsection{collections_group_filter,
- * Group.Filter} */
+/** @edcsubsection{collections_group_filters,
+ * Group.Filters} */
 
 /**
 @page edcref
 @block
 filters
 @context
+// (toplevel)
+// collections
+// collections.group
 filters {
-filter {
-inline: key Lua script here;
-file: key Lua script filename;
-..
-}
+filter.inline: key Lua script here;
+filter.file: other filename.lua;
+..
 }
 @description
 The filter block lets you embed filter scripts into an EDC group,
-that can then be referred to in a @ref 
sec_collections_group_parts_description_filter Text.Filter
-or @ref collections_group_parts_description_filter Image.Filter 
statement.
+that can then be referred to in the @ref 
sec_collections_group_parts_description_filter Text.Filter
+or @ref sec_collections_group_parts_description_filter Image.Filter 
statements.
 
 In a similar way to the toplevel @ref sec_toplevel_data Data section,
 it is possible to embed filters from a external file inside the final 
EDJ.
@@ -11714,43 +11716,52 @@ 
st_collections_group_parts_part_description_perspective_focal(void)
current_desc-persp.focal = parse_int_range(0, 1, 0x7fff);
 }
 
+
 /** @edcsubsection{collections_group_parts_description_filter,
  * Group.Parts.Part.Description.Filter} */
 
 /**
 @page edcref
-
+@block
+filter
 @context
 part {
-type: [TEXT or IMAGE];
+type: [IMAGE or TEXT];
+..
 description {
 ..
 filter {
-code: blend {} -- ...
-// or:
-code: data name;
-source: part1 buf;
-source: part2 otherbuf;
-source: part3;
+   code: blend {};
+   // or:
+   code: filter_name;
+   source: part1 buf;
+   source: part2 otherbuf;
+   source: part3;
+   ..
+   data: the_answer 42;
+   data: something anything;
+   data: mycc color_class('my_color_class');
+   ..
 }
-// or, for 

[EGIT] [core/efl] master 02/08: doc: EDC reference: Add specific doc for group.data

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit a31222ae6f11932bcfa964db0e1576d02d6d1d7c
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Fri Jun 26 11:48:57 2015 +0900

doc: EDC reference: Add specific doc for group.data

Group.data does not support file, only item. This doc
explains that.

Should Group.Data support file instead?
---
 src/bin/edje/edje_cc_handlers.c | 31 ++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 114a085..4c7955f 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -80,7 +80,7 @@
  *  ul
  *li@ref sec_collections_group_script Script/li
  *li@ref sec_collections_group_limits Limits/li
- *li@ref sec_toplevel_data Data/li
+ *li@ref sec_collections_group_data Data/li
  *li@ref sec_collections_group_parts Parts/li
  *ul
  *  li@ref sec_collections_group_parts_part Part/li
@@ -4229,6 +4229,35 @@ ob_collections_group_lua_script(void)
  }
 }
 
+/** @edcsubsection{collections_group_data,
+ * Group.Data} */
+
+/**
+@page edcref
+@block
+data
+@context
+data {
+item: key value;
+..
+}
+@description
+The data block is used to pass arbitrary parameters from the theme to
+the application. Unlike the toplevel data block, this block Group.Data
+can only store inline items (not files).
+See also the toplevel @ref sec_toplevel_data Data section.
+@endblock
+
+@property
+item
+@parameters
+[parameter name] [parameter value]
+@effect
+Defines a new parameter, the value will be the string specified next to
+it.
+@endproperty
+*/
+
 static void
 st_collections_group_data_item(void)
 {

-- 




[EGIT] [core/efl] master 05/08: Edje: Use bsearch() to find filters as fast as possible

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 6e294890546b14cc1bfd6839a07cde5ce8fb7e12
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 29 17:51:42 2015 +0900

Edje: Use bsearch() to find filters as fast as possible

edje_cc ensures that the filters are in order by name
---
 src/lib/edje/edje_calc.c| 37 -
 src/lib/edje/edje_private.h |  2 +-
 2 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index b45de76..bf0e182 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2405,26 +2405,37 @@ _edje_part_recalc_single_map(Edje *ed,
EINA_COW_CALC_MAP_END(params, params_write);
 }
 
+static int
+_filter_bsearch_cmp(const void *a, const void *b)
+{
+   const Edje_Gfx_Filter *filter = b;
+   const char *key = a;
+
+   return strcmp(key, filter-name);
+}
+
 static inline const char *
 _edje_filter_get(Edje *ed, Edje_Part_Description_Spec_Filter *filter)
 {
-   int k;
if (!filter-code) return NULL;
if (EINA_UNLIKELY(!filter-checked_data))
  {
-// FIXME: bisect search instead of linear search
+Edje_Gfx_Filter *found;
+
 filter-checked_data = EINA_TRUE;
-if (ed-file-filter_dir)
-  for (k = 0; k = ed-file-filter_dir-filters_count; k++)
-{
-   if (!strcmp(filter-code, 
ed-file-filter_dir-filters[k].name))
- {
-filter-name = ed-file-filter_dir-filters[k].name;
-filter-code = ed-file-filter_dir-filters[k].script;
-filter-no_free = EINA_TRUE;
-return filter-code;
- }
-}
+if (!ed-file-filter_dir)
+  return filter-code;
+
+found = bsearch(filter-code, (ed-file-filter_dir-filters[0]),
+ed-file-filter_dir-filters_count,
+sizeof(Edje_Gfx_Filter), _filter_bsearch_cmp);
+if (found)
+  {
+ filter-name = found-name;
+ filter-code = found-script;
+ filter-no_free = EINA_TRUE;
+ return filter-code;
+  }
  }
return filter-code;
 }
diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h
index bc53874..e3c55fe 100644
--- a/src/lib/edje/edje_private.h
+++ b/src/lib/edje/edje_private.h
@@ -731,7 +731,7 @@ struct _Edje_Gfx_Filter
 
 struct _Edje_Gfx_Filter_Directory
 {
-   Edje_Gfx_Filter *filters; /* array */
+   Edje_Gfx_Filter *filters; /* sorted array (by strcmp() on name) */
int  filters_count;
 };
 

-- 




[EGIT] [core/efl] master 01/08: Edje: Use array instead of hash for filters data

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit b676dcf9982292c08227f7133fb97d4bf31b7ebe
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Fri Jun 26 10:40:27 2015 +0900

Edje: Use array instead of hash for filters data

Yeah that was totally overkill and pure laziness on my side.

Despite having the EO API for the filters still in beta,
I want to the EDC API and EDJ binary formats to stay compatible,
so let's get it right before the release :)
---
 src/bin/edje/edje_cc_handlers.c | 24 ++--
 src/lib/edje/edje_calc.c| 35 +--
 src/lib/edje/edje_data.c| 14 +++---
 src/lib/edje/edje_private.h | 13 -
 4 files changed, 54 insertions(+), 32 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 7834ffb..114a085 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -11703,8 +11703,10 @@ 
st_collections_group_parts_part_description_filter_source(void)
 static void
 st_collections_group_parts_part_description_filter_data(void)
 {
+   Edje_Part_Description_Spec_Filter_Data *array;
Edje_Part_Description_Spec_Filter *filter;
char *name, *value;
+   unsigned k;
 
if (current_part-type == EDJE_PART_TYPE_TEXT)
  filter = (((Edje_Part_Description_Text *)current_desc)-text.filter);
@@ -11719,19 +11721,21 @@ 
st_collections_group_parts_part_description_filter_data(void)
 
check_arg_count(2);
 
-   if (!filter-data)
- filter-data = eina_hash_string_small_new(EINA_FREE_CB(free));
-
name = parse_str(0);
value = parse_str(1);
-   if (eina_hash_find(filter-data, name))
- {
-ERR(parse error %s:%i. filter.data '%s' already exists in this 
context,
-file_in, line - 1, name);
-exit(-1);
- }
+   for (k = 0; k  filter-data_count; k++)
+ if (!strcmp(filter-data[k].name, name))
+   {
+  ERR(parse error %s:%i. filter.data '%s' already exists in this 
context,
+  file_in, line - 1, name);
+  exit(-1);
+   }
 
-   eina_hash_add(filter-data, name, value);
+   filter-data_count++;
+   array = realloc(filter-data, 
sizeof(Edje_Part_Description_Spec_Filter_Data) * filter-data_count);
+   array[filter-data_count - 1].name = name;
+   array[filter-data_count - 1].value = value;
+   filter-data = array;
 }
 
 /** @edcsubsection{collections_group_parts_descriptions_params,
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index b0db961..c72bba7 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -2480,27 +2480,27 @@ _edje_part_recalc_single_filter(Edje *ed,
  /* pass extra data items */
  if (filter-data)
{
-  Eina_Iterator *it = eina_hash_iterator_tuple_new(filter-data);
-  Eina_Hash_Tuple *tup;
-  EINA_ITERATOR_FOREACH(it, tup)
+  unsigned int k;
+  for (k = 0; k  filter-data_count; k++)
 {
-   const char *name = tup-key;
-   char *value = tup-data;
-   if (!value)
+   Edje_Part_Description_Spec_Filter_Data *data = 
(filter-data[k]);
+   if (data-invalid_cc)
+ continue;
+   if (!data-value)
  {
-efl_gfx_filter_data_set(name, NULL, EINA_FALSE);
+efl_gfx_filter_data_set(data-name, NULL, EINA_FALSE);
  }
-   else if (!strncmp(value, color_class(', 
sizeof(color_class(') - 1))
+   else if (!strncmp(data-value, color_class(', 
sizeof(color_class(') - 1))
  {
 /* special handling for color classes even tho they're 
not that great */
 char *ccname, *buffer, *r;
 Edje_Color_Class *cc;
 
-ccname = strdup(value + sizeof(color_class(') - 1);
+ccname = strdup(data-value + sizeof(color_class(') 
- 1);
 if (ccname)
   {
  r = strchr(ccname, '\'');
- if (r)
+ if (r  (r[1] == ')')  (r[2] == '\0'))
{
   *r = '\0';
   cc = _edje_color_class_find(ed, ccname);
@@ -2511,33 +2511,32 @@ _edje_part_recalc_single_filter(Edje *ed,
  r2=%d,g2=%d,b2=%d,a2=%d,
  r3=%d,g3=%d,b3=%d,a3=%d};
int len = sizeof(fmt) + 20;
-   len += strlen(name);
+   len += 

[EGIT] [core/efl] master 08/08: Evas filters: Fix color(0xrrggbb) to be opaque by default

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 6980cb2c709ff69133f24549fd9f44fe42993ed4
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Tue Jun 30 10:33:29 2015 +0900

Evas filters: Fix color(0xrrggbb) to be opaque by default

For compatibility with previous behaviour and with what the doc
says, make sure default alpha is 255 and not 0.

This way color(0) is black and not transparent
---
 src/lib/evas/filters/lua/color.lua | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/filters/lua/color.lua 
b/src/lib/evas/filters/lua/color.lua
index 3fb1e9b..fc60d8e 100644
--- a/src/lib/evas/filters/lua/color.lua
+++ b/src/lib/evas/filters/lua/color.lua
@@ -147,7 +147,7 @@ __color = {
 
  -- input single value 0xAARRGGBB
  if ((B == nil) and (type(A) == 'number')) then
-A = math.floor(A) -- % 0x1
+A = math.floor(A)
 if ((A  0) or (A  0x)) then
error('Invalid color value: ' .. string.format(0x%x, A))
 end
@@ -155,6 +155,7 @@ __color = {
 self.r = math.floor((A / 0x1) % 0x100)
 self.g = math.floor((A / 0x100) % 0x100)
 self.b = math.floor(A % 0x100)
+if (self.a == 0) then self.a = 255 end
 return self
  end
 

-- 




[EGIT] [core/efl] master 06/08: Edje: Fix test case (after syntax change)

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d4de36a43ab4fdd5ab16fca246ed4b93495846c8
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 29 19:06:26 2015 +0900

Edje: Fix test case (after syntax change)

Filters now belong to one of the filters sections:
- filters
- collections.filters
- collections.group.filters
---
 src/tests/edje/data/test_filters.edc | 17 ++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/tests/edje/data/test_filters.edc 
b/src/tests/edje/data/test_filters.edc
index df84c48..2c31955 100644
--- a/src/tests/edje/data/test_filters.edc
+++ b/src/tests/edje/data/test_filters.edc
@@ -1,6 +1,3 @@
-data {
-   file: filterfile filter.lua;
-}
 color_classes {
color_class {
   name: cc1;
@@ -9,12 +6,25 @@ color_classes {
   color3: 0 0 255 255;
}
 }
+filters {
+   // some unused filters
+   filter.file: filter0 filter.lua;
+   filter.inline: filter1 blend {};
+}
 collections {
+   filters {
+  // some unused filters
+  filter.file: filter2 filter.lua;
+  filter.inline: filter3 blend {};
+   }
images {
   // found in tests/emotion/data
   image: pnl.png COMP;
}
group { name: test_group;
+  filters {
+ filter.file: filterfile filter.lua;
+  }
   parts {
  part { name: background;
 type: RECT;
@@ -47,6 +57,7 @@ collections {
   text: FILTER;
   font: Sans;
   size: 48;
+  ellipsis: -1;
}
filter {
   code: filterfile;

-- 




[EGIT] [core/efl] master 04/08: Edje: Replace index() by strchr()

2015-06-29 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit fc36eedadd1670cbe7b65b781bb53e45436ace42
Author: Jean-Philippe Andre jp.an...@samsung.com
Date:   Mon Jun 29 17:00:57 2015 +0900

Edje: Replace index() by strchr()

Thanks vtorri for pointing out the build break on windows and
that index() is deprecated.
---
 src/bin/edje/edje_cc_handlers.c | 11 +--
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 0c14255..762b713 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -4318,7 +4318,7 @@ st_collections_group_data_item(void)
 that can then be referred to in a @ref 
sec_collections_group_parts_description_filter Text.Filter
 or @ref collections_group_parts_description_filter Image.Filter 
statement.
 
-In a similar way to the @ref sec_collections_group_data Group.Data 
blocks,
+In a similar way to the toplevel @ref sec_toplevel_data Data section,
 it is possible to embed filters from a external file inside the final 
EDJ.
 
 Please also refer to @ref evasfiltersref Evas filters reference.
@@ -11796,11 +11796,11 @@ 
st_collections_group_parts_part_description_filter_source(void)
Edje_Part_Description_Spec_Filter *filter;
Edje_Part_Collection *pc;
char *name, *part, *str;
-   size_t sn = 0, sp;
+   size_t sn = 0, sp, k;
int *part_key;
int args;
 
-   static const char *allowed_name_chars =
+   static const char allowed_name_chars[] =
  abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789_;
 
if (current_part-type == EDJE_PART_TYPE_TEXT)
@@ -11826,7 +11826,7 @@ 
st_collections_group_parts_part_description_filter_source(void)
 if (name) sn = strlen(name);
 if (!name || (strspn(name, allowed_name_chars) != sn))
   {
- ERR(parse error %s:%i. invalid name for a filter buffer: %s,
+ ERR(parse error %s:%i. invalid name for a filter buffer: '%s',
  file_in, line - 1, name);
  exit(-1);
   }
@@ -11841,12 +11841,11 @@ 
st_collections_group_parts_part_description_filter_source(void)
 if (!name)
   {
  // name = part so we replace all invalid chars by '_'
- size_t k;
  name = strdup(part);
  sn = strlen(name);
  for (k = 0; k  sn; k++)
{
-  if (!index(allowed_name_chars, name[k]))
+  if (!strchr(allowed_name_chars, name[k]))
 name[k] = '_';
}
   }

-- 




[EGIT] [website/www-content] master 01/01: Wiki page start changed with summary [typo Eolian] by jpeg

2015-06-29 Thread jpeg
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=6a15934abedf7aea814149c4671f55eec1c5d1dc

commit 6a15934abedf7aea814149c4671f55eec1c5d1dc
Author: jpeg j...@videolan.org
Date:   Mon Jun 29 22:33:44 2015 -0700

Wiki page start changed with summary [typo Eolian] by jpeg
---
 pages/docs/efl/start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/docs/efl/start.txt b/pages/docs/efl/start.txt
index 96a77e5..a27daa7 100644
--- a/pages/docs/efl/start.txt
+++ b/pages/docs/efl/start.txt
@@ -45,7 +45,7 @@ You will use a range of libraries to make use of the above, 
and so learning the
 |Emile   |Compression  Encryption |*INTERNAL* Compression and 
encryption utilities and abstractions |
 |Emotion |Video  Audio Playback   |Wrapping Gstreamer, Xine and/or 
VLC to provide Video playback in Evas objects as well as audio playback 
controls |
 |Eo  |Object System|Core object system for EFL with 
handling of classes, references, inheritance, safe object access and method 
execution etc. |
-|Eloian  |Object Code Generation   |Used with Eo to generate both C 
boilerplate src, and for generating bindings |
+|Eolian  |Object Code Generation   |Used with Eo to generate both C 
boilerplate src, and for generating bindings |
 |Ephysics|Physics  Object Glue|Glues the Bullet physics library 
to Evas objects and is used by Edje |
 |Escape  |PS3 LibC Filler  |*INTERNAL* Fills in missing LibC 
functionality for PS3 |
 |Ethumb  |Image Thumbnailer|A library and service for async 
thumbnail generation and caching |

--