[EGIT] [core/efl] master 01/01: eolian: fix setter generation for @auto functions

2017-10-13 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit b88132932afffaaee377b513cad171ff2648ac46
Author: Daniel Kolesa 
Date:   Fri Oct 13 23:48:34 2017 +0200

eolian: fix setter generation for @auto functions

Because of a typo in generator source (and overlooked error in
tests) we were previously generating incorrect code for setters
with the @auto qualifier. This was brought up in D5306 and is
now fixed.
---
 src/bin/eolian/sources.c |  2 +-
 src/tests/eolian/data/override_ref.c | 12 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c
index c8d71d4b24..473342aa8a 100644
--- a/src/bin/eolian/sources.c
+++ b/src/bin/eolian/sources.c
@@ -441,7 +441,7 @@ _gen_func(const Eolian_Unit *src, const Eolian_Class *cl,
  if (is_auto)
{
   if (ftype == EOLIAN_PROP_SET)
-eina_strbuf_append_printf(params_init, "   %s = 
pd->%s;\n", prn, prn);
+eina_strbuf_append_printf(params_init, "   pd->%s = 
%s;\n", prn, prn);
   else
 {
eina_strbuf_append_printf(params_init, "   if (%s) *%s 
= pd->%s;\n",
diff --git a/src/tests/eolian/data/override_ref.c 
b/src/tests/eolian/data/override_ref.c
index 967914a09d..95ee937ae0 100644
--- a/src/tests/eolian/data/override_ref.c
+++ b/src/tests/eolian/data/override_ref.c
@@ -6,9 +6,9 @@ EOAPI EFL_VOID_FUNC_BODY_CONST(override_a_get);
 
 static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, 
int idx EINA_UNUSED, float a, char b, int c)
 {
-   a = pd->a;
-   b = pd->b;
-   c = pd->c;
+   pd->a = a;
+   pd->b = b;
+   pd->c = c;
 }
 
 EOAPI EFL_VOID_FUNC_BODYV(override_b_set, EFL_FUNC_CALL(idx, a, b, c), int 
idx, float a, char b, int c);
@@ -42,9 +42,9 @@ void _override_base_constructor(Eo *obj, Override_Data *pd);
 
 static void __eolian_override_base_z_set(Eo *obj EINA_UNUSED, Override_Data 
*pd, int a, char b, float c)
 {
-   a = pd->a;
-   b = pd->b;
-   c = pd->c;
+   pd->a = a;
+   pd->b = b;
+   pd->c = c;
 }
 
 

-- 




[EGIT] [core/efl] master 01/01: ecore_file: rename parameter for doxygen

2017-10-13 Thread JinYong Park
cedric pushed a commit to branch master.

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

commit b05cae250c34764d6055cf3ee898efbab42565ba
Author: JinYong Park 
Date:   Fri Oct 13 14:02:31 2017 -0700

ecore_file: rename parameter for doxygen

Summary:
Some parameter's name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, rename that parameters.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

Reviewed By: cedric

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

Signed-off-by: Cedric Bail 
---
 src/lib/ecore_file/Ecore_File.h | 10 +-
 src/lib/ecore_file/ecore_file.c |  4 ++--
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/ecore_file/Ecore_File.h b/src/lib/ecore_file/Ecore_File.h
index 9a8402df31..57cb550e30 100644
--- a/src/lib/ecore_file/Ecore_File.h
+++ b/src/lib/ecore_file/Ecore_File.h
@@ -383,7 +383,7 @@ EAPI const char*ecore_file_file_get (const char 
*path);
  * returns @c NULL. When not needed anymore, the returned value must
  * be freed.
  */
-EAPI char  *ecore_file_dir_get  (const char *path);
+EAPI char  *ecore_file_dir_get  (const char *file);
 
 /**
  * @brief Checks if the given file can be read.
@@ -422,7 +422,7 @@ EAPI Eina_Bool  ecore_file_can_exec (const char 
*file);
 /**
  * @brief Gets the path pointed by the given link.
  *
- * @param  lnk The name of the link.
+ * @param  link The name of the link.
  * @return The path pointed by link or NULL.
  *
  * This function returns the path pointed by @p link as a newly
@@ -488,7 +488,7 @@ EAPI char  *ecore_file_escape_name  (const char 
*filename);
  * failure, the function returns @c NULL. When not needed anymore, the
  * returned value must be freed.
  */
-EAPI char  *ecore_file_strip_ext(const char *file);
+EAPI char  *ecore_file_strip_ext(const char *path);
 
 /**
  * @brief Checks if the given directory is empty.
@@ -537,7 +537,7 @@ EAPI Ecore_File_Monitor *ecore_file_monitor_add(const char 
*path,
  * of the notify methods (Inotify, Windows notification or polling) is
  * availablethis function does nothing.
  */
-EAPI voidecore_file_monitor_del(Ecore_File_Monitor 
*ecore_file_monitor);
+EAPI voidecore_file_monitor_del(Ecore_File_Monitor *em);
 
 /**
  * @brief Gets the monitored path.
@@ -550,7 +550,7 @@ EAPI void
ecore_file_monitor_del(Ecore_File_Monitor *ecore_file_m
  * returned by ecore_file_monitor_add(). If @p em is @c NULL, the
  * function returns @c NULL.
  */
-EAPI const char *ecore_file_monitor_path_get(Ecore_File_Monitor 
*ecore_file_monitor);
+EAPI const char *ecore_file_monitor_path_get(Ecore_File_Monitor *em);
 
 /* Path */
 
diff --git a/src/lib/ecore_file/ecore_file.c b/src/lib/ecore_file/ecore_file.c
index f5c15b6e60..14c1934853 100644
--- a/src/lib/ecore_file/ecore_file.c
+++ b/src/lib/ecore_file/ecore_file.c
@@ -631,12 +631,12 @@ ecore_file_can_exec(const char *file)
 }
 
 EAPI char *
-ecore_file_readlink(const char *lnk)
+ecore_file_readlink(const char *link)
 {
char buf[PATH_MAX];
int count;
 
-   if ((count = readlink(lnk, buf, sizeof(buf) - 1)) < 0) return NULL;
+   if ((count = readlink(link, buf, sizeof(buf) - 1)) < 0) return NULL;
buf[count] = 0;
return strdup(buf);
 }

-- 




[EGIT] [tools/edi] master 01/01: welcome: Improve project creation.

2017-10-13 Thread Al Poole
netstar pushed a commit to branch master.

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

commit f155a58983587296b3662884f92e020061306182
Author: Al Poole 
Date:   Fri Oct 13 22:03:20 2017 +0100

welcome: Improve project creation.

Add support for additional meta data including images and
title/descriptions. Also add a new frame to the project
creation process with more descriptive choices of project type.
Layouts can change later.
---
 data/extra/skeleton/Makefile.am   |  11 +-
 data/extra/skeleton/eflproject.edc|  23 ++
 data/extra/skeleton/eflproject_python.edc |  23 ++
 data/extra/skeleton/images/c.png  | Bin 0 -> 7097 bytes
 data/extra/skeleton/images/python.png | Bin 0 -> 8510 bytes
 data/extra/skeleton/meson.build   |  23 +-
 src/bin/screens/edi_welcome.c | 378 ++
 7 files changed, 312 insertions(+), 146 deletions(-)

diff --git a/data/extra/skeleton/Makefile.am b/data/extra/skeleton/Makefile.am
index 46df77b..6787854 100644
--- a/data/extra/skeleton/Makefile.am
+++ b/data/extra/skeleton/Makefile.am
@@ -1,9 +1,12 @@
+
 MAINTAINERCLEANFILES = Makefile.in
 
 skeletondir = $(datadir)/$(PACKAGE)/skeleton
 skeleton_DATA = \
 eflproject.tar.gz \
-eflproject_python.tar.gz 
+eflproject.edj \
+eflproject_python.tar.gz \
+eflproject_python.edj
 
 eflproject.tar.gz:
tar zcvf eflproject.tar.gz -C $(srcdir) eflproject
@@ -11,4 +14,10 @@ eflproject.tar.gz:
 eflproject_python.tar.gz:
tar zcvf eflproject_python.tar.gz -C $(srcdir) eflproject_python
 
+eflproject.edj:
+   edje_cc -id images/ eflproject.edc
+
+eflproject_python.edj:
+   edje_cc -id images/ eflproject_python.edc
+
 EXTRA_DIST = $(skeleton_DATA)
diff --git a/data/extra/skeleton/eflproject.edc 
b/data/extra/skeleton/eflproject.edc
new file mode 100644
index 000..fa5056a
--- /dev/null
+++ b/data/extra/skeleton/eflproject.edc
@@ -0,0 +1,23 @@
+data {
+item: "title" "C EFL Project";
+item: "file"  "eflproject.tar.gz";
+item: "description"
+
+"C EFL Project.Begin your C programming EFL project. All content 
is freely modifiable and distributable and licensed in the 
public-domain.Happy hacking!";
+}
+
+collections {
+group {
+   name: "logo";
+   max: 128 128;
+   parts {
+   part { name: "icon";
+  description { state: "default" 0.0;
+ max: 128 128;
+ image.image: "c.png" COMP;
+ image.normal: "c.png";
+  }
+}
+   }
+}
+}
diff --git a/data/extra/skeleton/eflproject_python.edc 
b/data/extra/skeleton/eflproject_python.edc
new file mode 100644
index 000..87bd914
--- /dev/null
+++ b/data/extra/skeleton/eflproject_python.edc
@@ -0,0 +1,23 @@
+data {
+item: "title" "Python EFL Project";
+item: "file"  "eflproject_python.tar.gz";
+item: "description"
+
+"Python EFL Project.Start your new EFL Python programming project. 
All code is in the public-domain, you are free to modify and distribute as you 
wish.";
+}
+
+collections {
+group {
+   name: "logo";
+   max: 128 128;
+   parts {
+   part { name: "icon";
+  description { state: "default" 0.0;
+ max: 128 128;
+ image.image: "python.png" COMP;
+ image.normal: "python.png";
+  }
+}
+   }
+}
+}
diff --git a/data/extra/skeleton/images/c.png b/data/extra/skeleton/images/c.png
new file mode 100644
index 000..9d94aaa
Binary files /dev/null and b/data/extra/skeleton/images/c.png differ
diff --git a/data/extra/skeleton/images/python.png 
b/data/extra/skeleton/images/python.png
new file mode 100644
index 000..0eabd23
Binary files /dev/null and b/data/extra/skeleton/images/python.png differ
diff --git a/data/extra/skeleton/meson.build b/data/extra/skeleton/meson.build
index fc134d5..7ae8183 100644
--- a/data/extra/skeleton/meson.build
+++ b/data/extra/skeleton/meson.build
@@ -1,11 +1,12 @@
 tar = find_program('tar')
+edje_cc = find_program('edje_cc')
 
 skeleton_names = ['eflproject', 'eflproject_python']
 
 foreach skeleton_name : skeleton_names
 
   custom_target('skeleton ' + skeleton_name,
- command : [tar, 'zcf', '@OUTPUT@', '@INPUT@'],
+ command : [tar, 'zcf', '@OUTPUT@', '-C', '../data/extra/skeleton', 
skeleton_name],
  input : skeleton_name,
  output : skeleton_name + '.tar.gz',
  install_dir: join_paths(get_option('prefix'), get_option('datadir'), 
'edi', 'skeleton'),
@@ -13,3 +14,23 @@ foreach skeleton_name : skeleton_names
   )
 
 endforeach
+
+cmd = [ edje_cc,
+'-id', join_paths(meson.source_root(), 'data' , 'extra', 'skeleton', 
'images'),
+'@INPUT@', '@OUTPUT@'
+  ]
+
+skeleton_meta = ['eflproject', 'eflproject_python']
+
+foreach meta : skeleton_meta
+

[EGIT] [core/efl] master 15/23: efl: unused variable removed, removing local variable assignment which has no use at all.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 1235459ed3cd78f6efb811295afc49668d2438a6
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:11:41 2017 -0700

efl: unused variable removed, removing local variable assignment which has 
no use at all.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/evil/evil_stdlib.c| 1 -
 src/tests/eina/eina_test_lock.c   | 4 ++--
 src/tests/eina/eina_test_log.c| 1 -
 src/tests/eina/eina_test_strbuf.c | 2 --
 src/tests/eina/eina_test_ustr.c   | 2 +-
 5 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/src/lib/evil/evil_stdlib.c b/src/lib/evil/evil_stdlib.c
index 56d0ede881..dbb9779ee4 100644
--- a/src/lib/evil/evil_stdlib.c
+++ b/src/lib/evil/evil_stdlib.c
@@ -119,7 +119,6 @@ _mkstemp(char *suffix, int val)
suffix[4] = lookup[v % 62];
v /= 62;
suffix[5] = lookup[v % 62];
-   v /= 62;
 
val += ;
 
diff --git a/src/tests/eina/eina_test_lock.c b/src/tests/eina/eina_test_lock.c
index c0b45bd885..6636706288 100644
--- a/src/tests/eina/eina_test_lock.c
+++ b/src/tests/eina/eina_test_lock.c
@@ -137,12 +137,12 @@ _eina_test_tls_thread(void *data EINA_UNUSED, Eina_Thread 
t EINA_UNUSED)
int *ptr;
 
ptr = eina_tls_get(key);
-   fail_if(eina_tls_get(key) != NULL);
+   fail_if(ptr != NULL);
 
fail_if(!eina_tls_set(key, _eina_test_tls_alloc(24)));
 
ptr = eina_tls_get(key);
-   fail_if(eina_tls_get(key) == NULL);
+   fail_if(ptr == NULL);
fail_if(*ptr != 24);
 
return NULL;
diff --git a/src/tests/eina/eina_test_log.c b/src/tests/eina/eina_test_log.c
index cc20bfc98b..44bea28816 100644
--- a/src/tests/eina/eina_test_log.c
+++ b/src/tests/eina/eina_test_log.c
@@ -376,7 +376,6 @@ END_TEST
 
 START_TEST(eina_log_customize)
 {
-   struct log_ctx ctx;
int d;
 
/* please don't define EINA_LOG_LEVELS for it */
diff --git a/src/tests/eina/eina_test_strbuf.c 
b/src/tests/eina/eina_test_strbuf.c
index b4e1cd1d02..85176ccf67 100644
--- a/src/tests/eina/eina_test_strbuf.c
+++ b/src/tests/eina/eina_test_strbuf.c
@@ -390,8 +390,6 @@ START_TEST(strbuf_realloc)
 
eina_strbuf_remove(buf, 0, 0 + 32);
fail_if(eina_strbuf_length_get(buf) != sz - 32);
-   sz -= 32;
-
 
eina_strbuf_free(buf);
 
diff --git a/src/tests/eina/eina_test_ustr.c b/src/tests/eina/eina_test_ustr.c
index eba07e37e2..5bf7bbee8f 100644
--- a/src/tests/eina/eina_test_ustr.c
+++ b/src/tests/eina/eina_test_ustr.c
@@ -161,7 +161,7 @@ START_TEST(eina_unicode_strncpy_test)
fail_if(buf[9] != 0);
 
buf[0] = '7';
-   rv = eina_unicode_strncpy(buf, STR1, 0);
+   eina_unicode_strncpy(buf, STR1, 0);
fail_if(buf[0] != '7');
 
 #ifdef EINA_SAFETY_CHECKS

-- 




[EGIT] [core/efl] master 08/23: elmentary: fix a potential null pointer dereferencing in elm_box

2017-10-13 Thread Wonki Kim
cedric pushed a commit to branch master.

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

commit c60b889d3518ec4680ad5d095b1ea5dd5cce309c
Author: Wonki Kim 
Date:   Fri Oct 13 12:00:59 2017 -0700

elmentary: fix a potential null pointer dereferencing in elm_box

Summary:
if 'evas_object_smart_data_get' return null somehow,
logic that dereference the smart data pointer will cause problems.
This patch prevent a potential bug in advance.

Reviewers: jpeg, woohyun, cedric

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

Signed-off-by: Cedric Bail 
---
 src/lib/elementary/elm_box.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index 53996632ab..4641c15e19 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -475,8 +475,11 @@ _elm_box_unpack_all(Eo *obj, Elm_Box_Data *pd)
/* set this to block _sizing_eval() calls */
pd->delete_me = EINA_TRUE;
bd = evas_object_smart_data_get(wd->resize_obj);
-   EINA_LIST_FOREACH (bd->children, l, opt)
- children = eina_list_append(children, opt->obj);
+   if (bd)
+ {
+EINA_LIST_FOREACH (bd->children, l, opt)
+  children = eina_list_append(children, opt->obj);
+ }
pd->delete_me = EINA_FALSE;
 
/* EINA_FALSE means do not delete objects */

-- 




[EGIT] [core/efl] master 04/23: eina: spellfix comment in matrix code

2017-10-13 Thread Bryce Harrington
cedric pushed a commit to branch master.

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

commit 1f6d3b40e4e5229a83bcf6dd44c3f5c47679609f
Author: Bryce Harrington 
Date:   Fri Oct 13 11:51:52 2017 -0700

eina: spellfix comment in matrix code

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/eina/eina_matrix.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eina/eina_matrix.c b/src/lib/eina/eina_matrix.c
index 50439dd755..e60989f971 100644
--- a/src/lib/eina/eina_matrix.c
+++ b/src/lib/eina/eina_matrix.c
@@ -601,7 +601,7 @@ eina_matrix3_square_quad_map(Eina_Matrix3 *m, const 
Eina_Quad *q)
// y0 - y1 + y2 - y3
double ey = QUAD_Y0(q) - QUAD_Y1(q) + QUAD_Y2(q) - QUAD_Y3(q);
 
-   /* paralellogram */
+   /* parallelogram */
if (EINA_DBL_EQ(ex, 0.0) && EINA_DBL_EQ(ey, 0.0))
  {
 /* create the affine matrix */

-- 




[EGIT] [core/efl] master 10/23: edje: no case is defined for Preprocessor Flag "EDJE_EXTRA_MODULE_NAME". So removing it to avoid printf warning.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 72a807a51c4ad36b82c4001d5eb1ba0aff312d10
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:04:35 2017 -0700

edje: no case is defined for Preprocessor Flag "EDJE_EXTRA_MODULE_NAME". So 
removing it to avoid printf warning.

Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/edje/edje_module.c | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/src/lib/edje/edje_module.c b/src/lib/edje/edje_module.c
index 80ae9c78e4..318393d704 100644
--- a/src/lib/edje/edje_module.c
+++ b/src/lib/edje/edje_module.c
@@ -165,11 +165,7 @@ edje_available_modules_get(void)
 
 EINA_ITERATOR_FOREACH(it, info)
   {
- eina_strbuf_append_printf(buf, "%s/%s/" EDJE_MODULE_NAME, 
info->path, MODULE_ARCH
-#ifdef EDJE_EXTRA_MODULE_NAME
-   , info->path + info->name_start
-#endif
-   );
+ eina_strbuf_append_printf(buf, "%s/%s/" EDJE_MODULE_NAME, 
info->path, MODULE_ARCH);
 
  if (ecore_file_exists(eina_strbuf_string_get(buf)))
result = eina_list_append(result, 
eina_stringshare_add(info->path + info->name_start));

-- 




[EGIT] [core/efl] master 01/23: evil: remove strrstr and ffs - not used in the EFL on Windows

2017-10-13 Thread Vincent Torri
cedric pushed a commit to branch master.

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

commit c47fdb8c80bc02d54bb45d0980538e8f9f868dd6
Author: Vincent Torri 
Date:   Mon Oct 9 05:04:26 2017 +0200

evil: remove strrstr and ffs - not used in the EFL on Windows

Signed-off-by: Cedric Bail 
---
 src/lib/evil/evil_string.c | 28 
 src/lib/evil/evil_string.h | 36 
 2 files changed, 64 deletions(-)

diff --git a/src/lib/evil/evil_string.c b/src/lib/evil/evil_string.c
index 4534b72437..08ab2d7a02 100644
--- a/src/lib/evil/evil_string.c
+++ b/src/lib/evil/evil_string.c
@@ -29,34 +29,6 @@ strndup(const char *str, size_t n)
return ret;
 }
 
-int ffs(int i)
-{
-   int size;
-   int x;
-
-   if (!i) return 1;
-
-   /* remove the sign bit */
-   x = i & -i;
-   size = sizeof(int) << 3;
-   for (i = size; i > 0; --i, x <<= 1)
- if (x & (1 << (size - 1))) return i;
-
-   return x;
-}
-
-char *
-strrstr (const char *str, const char *substr)
-{
-  char *it;
-  char *ret = NULL;
-
-  while ((it = strstr(str, substr)))
-ret = it;
-
-  return ret;
-}
-
 char *strcasestr(const char *haystack, const char *needle)
 {
size_t length_needle;
diff --git a/src/lib/evil/evil_string.h b/src/lib/evil/evil_string.h
index e1bf65b73b..6dbdb34d96 100644
--- a/src/lib/evil/evil_string.h
+++ b/src/lib/evil/evil_string.h
@@ -38,42 +38,6 @@
 EAPI char *strndup(const char *str, size_t n);
 
 /**
- * @brief Return the position of the first (least significant) bit set in a 
word
- *
- * @param i Word to take the first bit.
- * @return The position of the first bit set, or 0 if no bits are set.
- *
- * This function returns the position of the first (least significant)
- * bit set in @p i. The least significant bit is position 1 and the
- * most significant position e.g. 32 or 64. The function returns 0 if
- * no bits are set in @p i, or the position of the first bit set
- * otherwise.
- *
- * Conformity: BSD
- *
- * Supported OS: Windows XP.
- */
-EAPI int ffs(int i);
-
-
-/**
- * @brief Get the last substring occurence.
- *
- * @param str The string to search from.
- * @param substr The substring to search.
- * @return The last occurrence of the substring if found, @c NULL otherwise.
- *
- * This function retrieves the last occurrence of @p substring in the
- * string @p str. If @p str or @p substr are @c NULL, of if @p substr
- * is not found in @p str, @c NULL is returned.
- *
- * Conformity: Non applicable.
- *
- * Supported OS: Windows XP.
- */
-EAPI char *strrstr (const char *str, const char *substr);
-
-/**
  * @brief Locate a substring into a string, ignoring case.
  *
  * @param haystack The string to search in.

-- 




[EGIT] [core/efl] master 21/23: elementary: we actually do not use that variable.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 59b417c37891bbf3d7b95d905428d521d7392395
Author: Cedric Bail 
Date:   Fri Oct 13 12:43:56 2017 -0700

elementary: we actually do not use that variable.
---
 src/lib/elementary/elm_toolbar.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index aa20cf5a40..97d5074a2d 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -103,10 +103,8 @@ static void
 _item_focus_eval_all(Elm_Toolbar *obj, Elm_Toolbar_Data *pd)
 {
Elm_Toolbar_Item_Data *it;
-   Elm_Widget_Smart_Data *wpd;
Eina_List *order = NULL;
 
-   wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
EINA_INLIST_FOREACH(pd->items, it)
  {
 _item_focus_eval(it);

-- 




[EGIT] [core/efl] master 17/23: ecore_ipc: rename parameters and annotations for doxygen

2017-10-13 Thread JinYong Park
cedric pushed a commit to branch master.

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

commit b86e4ca88b8292d8dc6b9d8c373a040588c7749c
Author: JinYong Park 
Date:   Fri Oct 13 12:24:14 2017 -0700

ecore_ipc: rename parameters and annotations for doxygen

Summary:
Some parameters' name are different in annotations and statements,
so it occurs doxygen warning.
To fix it, change it appropriately.

Test Plan: API Doxygen Revision

Reviewers: raster, cedric, jpeg, myoungwoon, Jaehyun_Cho

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

Signed-off-by: Cedric Bail 
---
 src/lib/ecore_ipc/Ecore_Ipc.h | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore_ipc/Ecore_Ipc.h b/src/lib/ecore_ipc/Ecore_Ipc.h
index be776f40f1..47e3c174d8 100644
--- a/src/lib/ecore_ipc/Ecore_Ipc.h
+++ b/src/lib/ecore_ipc/Ecore_Ipc.h
@@ -353,10 +353,10 @@ EAPI int   ecore_ipc_shutdown(void);
  * @ingroup Ecore_IPC_Server_Group
  * @brief Creates an IPC server that listens for connections.
  *
- * For more details about the @p compl_type, @p name and @p port
+ * For more details about the @p type, @p name and @p port
  * parameters, see the @ref ecore_con_server_add documentation.
  *
- * @param   compl_type The connection type.
+ * @param   type  The connection type.
  * @param   name   Name to associate with the socket used for connection.
  * @param   port   Number to identify with socket used for connection.
  * @param   data   Data to associate with the IPC server.
@@ -370,10 +370,10 @@ EAPI Ecore_Ipc_Server 
*ecore_ipc_server_add(Ecore_Ipc_Type type, const char *nam
  * @brief Creates an IPC server object to represent the IPC server listening
  * on the given port.
  *
- * For more details about the @p compl_type, @p name and @p port
+ * For more details about the @p type, @p name and @p port
  * parameters, see the @ref ecore_con_server_connect documentation.
  *
- * @param   compl_type The IPC connection type.
+ * @param   type   The IPC connection type.
  * @param   name   Name used to determine which socket to use for the
  * IPC connection.
  * @param   port   Number used to identify the socket to use for the
@@ -468,7 +468,7 @@ EAPI void  
ecore_ipc_server_client_limit_set(Ecore_Ipc_Server *svr,
  * @param   svr   The given server.
  * @param   size  The maximum data payload size in bytes.
  */
-EAPI void  ecore_ipc_server_data_size_max_set(Ecore_Ipc_Server 
*srv, int size);
+EAPI void  ecore_ipc_server_data_size_max_set(Ecore_Ipc_Server 
*svr, int size);
 
 /**
  * @ingroup Ecore_IPC_Server_Group
@@ -477,7 +477,7 @@ EAPI void  
ecore_ipc_server_data_size_max_set(Ecore_Ipc_Server *srv,
  * @param   svr   The given server.
  * @return The maximum data payload in bytes.
  */
-EAPI int   ecore_ipc_server_data_size_max_get(Ecore_Ipc_Server 
*srv);
+EAPI int   ecore_ipc_server_data_size_max_get(Ecore_Ipc_Server 
*svr);
 
 /**
  * @ingroup Ecore_IPC_Server_Group

-- 




[EGIT] [core/efl] master 18/23: evas: mark parameter unused now that it is not necessary anymore.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 7e00ab42220b82638ee5bda5a139bc446f18d2c7
Author: Cedric Bail 
Date:   Fri Oct 13 12:36:08 2017 -0700

evas: mark parameter unused now that it is not necessary anymore.
---
 src/modules/evas/engines/software_x11/evas_xlib_color.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/software_x11/evas_xlib_color.c 
b/src/modules/evas/engines/software_x11/evas_xlib_color.c
index a016bb5505..e1dfec4a19 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_color.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_color.c
@@ -37,7 +37,7 @@ static DATA8 *x_color_alloc_gray_4(Display *d, Colormap cmap, 
Visual *v);
 static DATA8 *x_color_alloc_mono(Display *d, Colormap cmap, Visual *v);
 
 static DATA8 *
-x_color_alloc_rgb(int nr, int ng, int nb, Display *d, Colormap cmap, Visual *v)
+x_color_alloc_rgb(int nr, int ng, int nb, Display *d, Colormap cmap, Visual *v 
EINA_UNUSED)
 {
int r, g, b, i;
DATA8 *color_lut;

-- 




[EGIT] [core/efl] master 20/23: elementary: we actually do not use that object.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 6770f9b8a3c67317ddc78347ab70fcfcd2a9f4d1
Author: Cedric Bail 
Date:   Fri Oct 13 12:43:02 2017 -0700

elementary: we actually do not use that object.
---
 src/lib/elementary/efl_ui_focus_manager_calc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index 5b3bb4c924..5295934cbb 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -1563,7 +1563,7 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_reset_history(Eo *obj EINA_UNUSE
 }
 
 EOLIAN static void
-_efl_ui_focus_manager_calc_efl_ui_focus_manager_pop_history_stack(Eo *obj, 
Efl_Ui_Focus_Manager_Calc_Data *pd)
+_efl_ui_focus_manager_calc_efl_ui_focus_manager_pop_history_stack(Eo *obj 
EINA_UNUSED, Efl_Ui_Focus_Manager_Calc_Data *pd)
 {
   Node *last;
 

-- 




[EGIT] [core/efl] master 23/23: eina: this was actually a used variable.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 377a68561987c8fc1bdd33842488683b2a7e8a8b
Author: Cedric Bail 
Date:   Fri Oct 13 12:49:35 2017 -0700

eina: this was actually a used variable.
---
 src/tests/eina/eina_test_log.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/eina/eina_test_log.c b/src/tests/eina/eina_test_log.c
index 44bea28816..cc20bfc98b 100644
--- a/src/tests/eina/eina_test_log.c
+++ b/src/tests/eina/eina_test_log.c
@@ -376,6 +376,7 @@ END_TEST
 
 START_TEST(eina_log_customize)
 {
+   struct log_ctx ctx;
int d;
 
/* please don't define EINA_LOG_LEVELS for it */

-- 




[EGIT] [core/efl] master 09/23: eina: uninitialization of array leads to unwanted outcome of "eina_strlcat"

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 393560748380b635bb161a71358d15f1cee0ccac
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:03:52 2017 -0700

eina: uninitialization of array leads to unwanted outcome of "eina_strlcat"

Reviewers: raster, cedric, rajeshps

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/examples/eina/eina_simple_xml_parser_01.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/examples/eina/eina_simple_xml_parser_01.c 
b/src/examples/eina/eina_simple_xml_parser_01.c
index de27e0bb18..a4f6ca4456 100644
--- a/src/examples/eina/eina_simple_xml_parser_01.c
+++ b/src/examples/eina/eina_simple_xml_parser_01.c
@@ -63,7 +63,7 @@ _xml_tag_cb(void *data, Eina_Simple_XML_Type type, const char 
*content,
 {
char buffer[length+1];
Eina_Array *array = data;
-   char str[512];
+   char str[512] = {'\0'};
 
if (type == EINA_SIMPLE_XML_OPEN)
  {

-- 




[EGIT] [core/efl] master 07/23: evas: removing unwanted operation in interface create

2017-10-13 Thread Godly T.Alias
cedric pushed a commit to branch master.

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

commit 295403769b2cc49f9e79f4231bbabc858821018b
Author: Godly T.Alias 
Date:   Fri Oct 13 11:59:43 2017 -0700

evas: removing unwanted operation in interface create

Summary: Signed-off-by: Godly T.Alias 

Reviewers: cedric, raster, rajeshps, prince.dubey

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/evas/canvas/evas_smart.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_smart.c b/src/lib/evas/canvas/evas_smart.c
index e93c3fc0e8..b33ccaef23 100644
--- a/src/lib/evas/canvas/evas_smart.c
+++ b/src/lib/evas/canvas/evas_smart.c
@@ -255,7 +255,7 @@ _evas_smart_class_callbacks_create(Evas_Smart *s)
 static void
 _evas_smart_class_interfaces_create(Evas_Smart *s)
 {
-   unsigned int i, total_priv_sz = 0;
+   unsigned int i;
const Evas_Smart_Class *sc;
 
/* get number of interfaces on the smart */
@@ -278,7 +278,6 @@ _evas_smart_class_interfaces_create(Evas_Smart *s)
 
   if (size % sizeof(void *) != 0)
 size += sizeof(void *) - (size % sizeof(void *));
-  total_priv_sz += size;
}
 
  ifaces_array++;

-- 




[EGIT] [core/efl] master 13/23: evas: parameter length is not used, so removing it. to fix static analyzer tool warning.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 71e62840e45319f3580504106c7a79f89545c07c
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:08:24 2017 -0700

evas: parameter length is not used, so removing it. to fix static analyzer 
tool warning.

Reviewers: raster, cedric

Subscribers: jpeg, rajeshps

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

Signed-off-by: Cedric Bail 
---
 src/bin/evas/evas_cserve2_slave.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/evas/evas_cserve2_slave.c 
b/src/bin/evas/evas_cserve2_slave.c
index 137e6ae3dc..015429706d 100644
--- a/src/bin/evas/evas_cserve2_slave.c
+++ b/src/bin/evas/evas_cserve2_slave.c
@@ -23,7 +23,6 @@ static Eina_Prefix *pfx = NULL;
 
 struct ext_loader_s
 {
-   unsigned int length;
const char *extension;
const char *loader;
 };

-- 




[EGIT] [core/efl] master 03/23: eina: document matrix3 API routines.

2017-10-13 Thread Bryce Harrington
cedric pushed a commit to branch master.

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

commit 150485b5d436746ffc190eacef4336342ca4887d
Author: Bryce Harrington 
Date:   Fri Oct 13 11:47:56 2017 -0700

eina: document matrix3 API routines.

Summary: This adds missing doxygen documentation for eight matrix3 
operations.

Reviewers: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/eina/eina_matrix.h | 86 --
 1 file changed, 84 insertions(+), 2 deletions(-)

diff --git a/src/lib/eina/eina_matrix.h b/src/lib/eina/eina_matrix.h
index 377986e23b..637694470d 100644
--- a/src/lib/eina/eina_matrix.h
+++ b/src/lib/eina/eina_matrix.h
@@ -440,10 +440,10 @@ EAPI void eina_matrix3_divide(Eina_Matrix3 *m, double 
scalar);
 /**
  * @brief Computes the inverse of the given matrix.
  *
- * @param m The matrix to inverse.
+ * @param m The source matrix.
  * @param m2 The inverse matrix.
  *
- * This function inverse the matrix @p m and stores the result in
+ * This function inverts the matrix @p m and stores the result in
  * @p m2. No check is done on @p m or @p m2. If @p m can not be
  * invertible, then @p m2 is set to the identity matrix.
  *
@@ -452,27 +452,79 @@ EAPI void eina_matrix3_divide(Eina_Matrix3 *m, double 
scalar);
 EAPI void eina_matrix3_inverse(const Eina_Matrix3 *m, Eina_Matrix3 *m2);
 
 /**
+ * @brief Computes the transpose of the given matrix.
+ *
+ * @param m The source matrix.
+ * @param a The transposed matrix.
+ *
+ * This function transposes the matrix @p m and stores the result in
+ * @p a. No check is done on @p m or @p a.  The transpose of a matrix
+ * essentially flips a matrix over its diagonal.
+ *
  * @since 1.14
  */
 EAPI void eina_matrix3_transpose(const Eina_Matrix3 *m, Eina_Matrix3 *a);
 
 /**
+ * @brief Computes the cofactor of the given matrix.
+ *
+ * @param m The source matrix.
+ * @param a The cofactored matrix.
+ *
+ * This function cofactors the matrix @p m and stores the result in
+ * @p a.  No check is done on @p m or @p a.  The cofactor of a matrix3 at
+ * row i, column j is computed by taking the determinant of the
+ * submatrix formed by deleting the i-th row and j-th column, and then
+ * multiplying by (-1)^(i+j).
+ *
  * @since 1.14
  */
 EAPI void eina_matrix3_cofactor(const Eina_Matrix3 *m, Eina_Matrix3 *a);
 
 /**
+ * @brief Computes the adjoint of the given matrix.
+ *
+ * @param m The matrix to be adjointed.
+ * @param a The adjoint matrix.
+ *
+ * This function finds the adjoint of the matrix @p m and stores the
+ * result in @p a. No check is done on @p m or @p a.  The adjoint of a
+ * matrix3 is effectively the transpose of its cofactor.
+ *
  * @since 1.14
  */
 EAPI void eina_matrix3_adjoint(const Eina_Matrix3 *m, Eina_Matrix3 *a);
 
 /**
+ * @brief Computes the transform of a 2D point using the given matrix.
+ *
+ * @param m The transformation matrix to apply.
+ * @param x The x point to be transformed.
+ * @param y The y point to be transformed.
+ * @param xr The transformed x point.
+ * @param yr The transformed y point.
+ *
+ * Applies the transformation matrix @p m to the point (x,y), and stores
+ * the result in (*xr,*yr).  No check is done on @p m; @p xr and @p yr
+ * must point to valid memory.  A fast-path is included for if the zx
+ * and zy components of the matrix are zero.
+ *
  * @since 1.14
  */
 EAPI void eina_matrix3_point_transform(const Eina_Matrix3 *m,
double x, double y,
double *xr, double *yr);
 /**
+ * @brief Computes the transformation of a rectangle using the given matrix.
+ *
+ * @param m The transformation matrix to apply.
+ * @param r The rectangle to be transformed.
+ * @param q The resultant transformed points.
+ *
+ * Performs a point transformation of each corner of the rectangle @p r,
+ * and stores the result in the quadrangle @p q.  No checks are done on the
+ * inputs, and @p q must point to valid memory.
+ *
  * @since 1.14
  */
 EAPI void eina_matrix3_rectangle_transform(const Eina_Matrix3 *m,
@@ -481,18 +533,48 @@ EAPI void eina_matrix3_rectangle_transform(const 
Eina_Matrix3 *m,
 
 /**
  * @brief Creates a projective matrix that maps a quadrangle to a quadrangle.
+ *
+ * @param m The transformation matrix to create.
+ * @param src The source quadrangle.
+ * @param dst The destination quadrangle.
+ * @return @c EINA_TRUE if matrix could be successfully created, @c EINA_FALSE 
otherwise.
+ *
+ * Calculates a matrix @p m that can be used to transform from an arbitrary
+ * source quadrangle @p src to another arbitrary quadrangle @p dst.
  */
 EAPI Eina_Bool eina_matrix3_quad_quad_map(Eina_Matrix3 *m,
   const Eina_Quad *src,

[EGIT] [core/efl] master 12/23: efl: unsigned int/long never be less than zero. Fixed.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 41197981abcfe6a01b4208e30f700c714dc1d648
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:07:25 2017 -0700

efl: unsigned int/long never be less than zero. Fixed.

Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/bin/evas/evas_cserve2_index.c| 2 +-
 src/examples/eina/eina_simple_xml_parser_02.c| 2 +-
 src/lib/ecore_con/ecore_con_local_win32.c| 4 ++--
 src/lib/ecore_win32/ecore_win32_window.c | 2 +-
 src/lib/ecore_x/ecore_x_e.c  | 4 ++--
 src/lib/ecore_x/ecore_x_keygrab.c| 2 +-
 src/modules/evas/image_loaders/ico/evas_image_load_ico.c | 4 ++--
 7 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/bin/evas/evas_cserve2_index.c 
b/src/bin/evas/evas_cserve2_index.c
index 42bcffad37..76d4e62ecb 100644
--- a/src/bin/evas/evas_cserve2_index.c
+++ b/src/bin/evas/evas_cserve2_index.c
@@ -200,7 +200,7 @@ _shared_data_shm_resize(Data_Shm *ds, size_t newsize)
Shm_Handle *shm;
size_t mapping_size;
 
-   if (newsize <= 0)
+   if (newsize == 0)
  return -1;
 
mapping_size = cserve2_shm_size_normalize(newsize, ARRAY_MINSIZE);
diff --git a/src/examples/eina/eina_simple_xml_parser_02.c 
b/src/examples/eina/eina_simple_xml_parser_02.c
index 0d8269a8fd..5c0cf08858 100644
--- a/src/examples/eina/eina_simple_xml_parser_02.c
+++ b/src/examples/eina/eina_simple_xml_parser_02.c
@@ -17,7 +17,7 @@ static Eina_Bool
 _xml_tag_parse_cb(void *data, Eina_Simple_XML_Type type, const char *content,
   unsigned offset EINA_UNUSED, unsigned int length)
 {
-   if (length <= 0) return EINA_FALSE;
+   if (length == 0) return EINA_FALSE;
 
if (type == EINA_SIMPLE_XML_OPEN)
  {
diff --git a/src/lib/ecore_con/ecore_con_local_win32.c 
b/src/lib/ecore_con/ecore_con_local_win32.c
index 4bd0ba4069..9a5b731f6d 100644
--- a/src/lib/ecore_con/ecore_con_local_win32.c
+++ b/src/lib/ecore_con/ecore_con_local_win32.c
@@ -681,7 +681,7 @@ ecore_con_local_win32_server_flush(Ecore_Con_Server *obj)
  return EINA_FALSE;
 
num = eina_binbuf_length_get(svr->buf) - svr->write_buf_offset;
-   if (num <= 0) return EINA_TRUE;
+   if (num == 0) return EINA_TRUE;
 
res = WriteFile(svr->pipe, eina_binbuf_string_get(svr->buf) + 
svr->write_buf_offset, num, , NULL);
if (!res)
@@ -732,7 +732,7 @@ ecore_con_local_win32_client_flush(Ecore_Con_Client *obj)
  return EINA_FALSE;
 
num = eina_binbuf_length_get(cl->buf) - cl->buf_offset;
-   if (num <= 0) return EINA_TRUE;
+   if (num == 0) return EINA_TRUE;
 
res = WriteFile(svr->pipe, eina_binbuf_string_get(cl->buf) + 
cl->buf_offset, num, , NULL);
if (!res)
diff --git a/src/lib/ecore_win32/ecore_win32_window.c 
b/src/lib/ecore_win32/ecore_win32_window.c
index f9629f735c..628264d7b3 100644
--- a/src/lib/ecore_win32/ecore_win32_window.c
+++ b/src/lib/ecore_win32/ecore_win32_window.c
@@ -1477,7 +1477,7 @@ ecore_win32_window_state_set(Ecore_Win32_Window   
*window,
 {
unsigned int i;
 
-   if (!window || !state || (num <= 0))
+   if (!window || !state || (num == 0))
  return;
 
INF("setting window state");
diff --git a/src/lib/ecore_x/ecore_x_e.c b/src/lib/ecore_x/ecore_x_e.c
index af1065..8d10ba0700 100644
--- a/src/lib/ecore_x/ecore_x_e.c
+++ b/src/lib/ecore_x/ecore_x_e.c
@@ -1173,7 +1173,7 @@ ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
if (!win)
  return;
 
-   if ((!profiles) || (num_profiles <= 0))
+   if ((!profiles) || (num_profiles == 0))
  ecore_x_window_prop_property_del(win, 
ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST);
else
  {
@@ -1382,7 +1382,7 @@ ecore_x_e_window_available_profiles_set(Ecore_X_Window  
win,
if (!win)
  return;
 
-   if ((!profiles) || (count <= 0))
+   if ((!profiles) || (count == 0))
  ecore_x_window_prop_property_del(win, 
ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST);
else
  {
diff --git a/src/lib/ecore_x/ecore_x_keygrab.c 
b/src/lib/ecore_x/ecore_x_keygrab.c
index 4ed762d39b..64f342b887 100644
--- a/src/lib/ecore_x/ecore_x_keygrab.c
+++ b/src/lib/ecore_x/ecore_x_keygrab.c
@@ -542,7 +542,7 @@ _ecore_x_window_keygrab_unset_internal(Ecore_X_Window win,
if (!_ecore_x_window_keytable_get(win, ))
   return EINA_FALSE;
 
-   if (keytable.key_cnt <= 0)
+   if (keytable.key_cnt == 0)
  return EINA_FALSE;
 
i = _ecore_x_window_keytable_key_search(, keycode);
diff --git a/src/modules/evas/image_loaders/ico/evas_image_load_ico.c 
b/src/modules/evas/image_loaders/ico/evas_image_load_ico.c
index 0754ba4f79..53ce8e83c2 100644
--- a/src/modules/evas/image_loaders/ico/evas_image_load_ico.c
+++ 

[EGIT] [core/efl] master 06/23: evas: buffer is not used in the case where destination and source dimension is different

2017-10-13 Thread Godly T.Alias
cedric pushed a commit to branch master.

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

commit 3ad9ac892696495a822fa1b2d273e70bfccb4698
Author: Godly T.Alias 
Date:   Fri Oct 13 11:58:49 2017 -0700

evas: buffer is not used in the case where destination and source dimension 
is different

Summary: Signed-off-by: Godly T.Alias 

Reviewers: cedric, raster, rajeshps, prince.dubey

Subscribers: jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/evas/common/evas_scale_sample.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/src/lib/evas/common/evas_scale_sample.c 
b/src/lib/evas/common/evas_scale_sample.c
index 55cfbe4bd8..daa57f6497 100644
--- a/src/lib/evas/common/evas_scale_sample.c
+++ b/src/lib/evas/common/evas_scale_sample.c
@@ -727,9 +727,6 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, 
RGBA_Image *dst,
   {
  unsigned int mul_col;
 
- /* a scanline buffer */
- buf = alloca(dst_clip_w * sizeof(DATA32));
-
  mul_col = dc->mul.use ? dc->mul.col : 0x;
 
  /* do we have enough data to start some additional thread ? */

-- 




[EGIT] [core/efl] master 19/23: elementary: remove unused variable.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 6fb1e2ff684c0adb85a50e42bb74607263158a12
Author: Cedric Bail 
Date:   Fri Oct 13 12:42:49 2017 -0700

elementary: remove unused variable.
---
 src/lib/elementary/elm_widget.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index 880e291dc3..5fbce1f57e 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -453,7 +453,6 @@ static Efl_Ui_Focus_Object*
 _logical_parent_eval(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd)
 {
Elm_Widget *parent;
-   Efl_Ui_Focus_Parent_Provider *provider;
 
parent = efl_ui_focus_parent_provider_find_logical_parent(pd->provider, 
obj);
 

-- 




[EGIT] [core/efl] master 16/23: evas: to avoid warning unused variable and unnecessary assignment is removed.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit df5f404f090591421278a631e0159be583d2052e
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:14:20 2017 -0700

evas: to avoid warning unused variable and unnecessary assignment is 
removed.

Reviewers: raster, cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/modules/evas/engines/software_x11/evas_xlib_color.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/software_x11/evas_xlib_color.c 
b/src/modules/evas/engines/software_x11/evas_xlib_color.c
index 4070c48418..a016bb5505 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_color.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_color.c
@@ -41,11 +41,14 @@ x_color_alloc_rgb(int nr, int ng, int nb, Display *d, 
Colormap cmap, Visual *v)
 {
int r, g, b, i;
DATA8 *color_lut;
-   int sig_mask = 0, delt = 0;
+   int delt = 0;
+/*
+   int sig_mask = 0;
 
for (i = 0; i < v->bits_per_rgb; i++)
  sig_mask |= (0x1 << i);
sig_mask <<= (16 - v->bits_per_rgb);
+*/
i = 0;
color_lut = malloc((nr) * (ng) * (nb));
if (!color_lut) return NULL;

-- 




[EGIT] [core/efl] master 14/23: ecore_audio: unused variables are removed to fix warning.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit 68a455d10c394c228c1eb71638ff3699e1b19edd
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:09:08 2017 -0700

ecore_audio: unused variables are removed to fix warning.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/ecore_audio/ecore_audio_alsa.c | 4 
 1 file changed, 4 deletions(-)

diff --git a/src/lib/ecore_audio/ecore_audio_alsa.c 
b/src/lib/ecore_audio/ecore_audio_alsa.c
index b0f48c6b5e..2496426d80 100644
--- a/src/lib/ecore_audio/ecore_audio_alsa.c
+++ b/src/lib/ecore_audio/ecore_audio_alsa.c
@@ -103,10 +103,6 @@ recover:
 static void
 _alsa_output_add_input(Ecore_Audio_Object *output, Ecore_Audio_Object *input)
 {
-   Ecore_Audio_Module *outmod = output->module;
-   Ecore_Audio_Module *inmod = input->module;
-   struct _Ecore_Audio_Alsa *alsa = (struct _Ecore_Audio_Alsa 
*)output->module_data;
-
ecore_timer_add(0.3, _alsa_output_async_cb, output);
 }
 

-- 




[EGIT] [core/efl] master 02/23: eina: comparing unsigned integer with less than zero.

2017-10-13 Thread Subodh Kumar
cedric pushed a commit to branch master.

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

commit be63db00a71bf1b5b3da59c29e0b3fb569b0ba90
Author: Subodh Kumar 
Date:   Fri Oct 13 11:46:28 2017 -0700

eina: comparing unsigned integer with less than zero.

Summary: Unsigned integer should not be compared less than zero.

Test Plan: NA

Reviewers: cedric

Subscribers: shilpasingh, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/eina/eina_share_common.c | 2 +-
 src/lib/eina/eina_strbuf.c   | 8 
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/eina/eina_share_common.c b/src/lib/eina/eina_share_common.c
index 6ad55b7053..e7ba2a72d2 100644
--- a/src/lib/eina/eina_share_common.c
+++ b/src/lib/eina/eina_share_common.c
@@ -740,7 +740,7 @@ eina_share_common_add_length(Eina_Share *share,
 
eina_share_common_population_add(share, slen);
 
-   if (slen <= 0)
+   if (slen == 0)
   return NULL;
 
hash = eina_hash_superfast(str, slen);
diff --git a/src/lib/eina/eina_strbuf.c b/src/lib/eina/eina_strbuf.c
index f18408d59e..a76e4418ea 100644
--- a/src/lib/eina/eina_strbuf.c
+++ b/src/lib/eina/eina_strbuf.c
@@ -94,7 +94,7 @@ eina_strbuf_append_printf(Eina_Strbuf *buf, const char *fmt, 
...)
len = vasprintf(, fmt, args);
va_end(args);
 
-   if (len <= 0 || !str)
+   if (len == 0 || !str)
   return EINA_FALSE;
 
ret = eina_strbuf_append_length(buf, str, len);
@@ -111,7 +111,7 @@ eina_strbuf_append_vprintf(Eina_Strbuf *buf, const char 
*fmt, va_list args)
 
len = vasprintf(, fmt, args);
 
-   if (len <= 0 || !str)
+   if (len == 0 || !str)
   return EINA_FALSE;
 
ret = eina_strbuf_append_length(buf, str, len);
@@ -131,7 +131,7 @@ eina_strbuf_insert_printf(Eina_Strbuf *buf, const char 
*fmt, size_t pos, ...)
len = vasprintf(, fmt, args);
va_end(args);
 
-   if (len <= 0 || !str)
+   if (len == 0 || !str)
   return EINA_FALSE;
 
ret = eina_strbuf_insert(buf, str, pos);
@@ -151,7 +151,7 @@ eina_strbuf_insert_vprintf(Eina_Strbuf *buf,
 
len = vasprintf(, fmt, args);
 
-   if (len <= 0 || !str)
+   if (len == 0 || !str)
   return EINA_FALSE;
 
ret = eina_strbuf_insert(buf, str, pos);

-- 




[EGIT] [core/efl] master 22/23: evas: as we do not use the size, we should set it either.

2017-10-13 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 352637d8b0b9b7c9eff926c8d032ad99f1491dda
Author: Cedric Bail 
Date:   Fri Oct 13 12:45:09 2017 -0700

evas: as we do not use the size, we should set it either.
---
 src/bin/evas/evas_cserve2_slave.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/evas/evas_cserve2_slave.c 
b/src/bin/evas/evas_cserve2_slave.c
index 015429706d..c15c943182 100644
--- a/src/bin/evas/evas_cserve2_slave.c
+++ b/src/bin/evas/evas_cserve2_slave.c
@@ -28,7 +28,7 @@ struct ext_loader_s
 };
 
 #define MATCHING(Ext, Module)   \
-  { sizeof (Ext), Ext, Module }
+  { Ext, Module }
 
 /* The following list comes from evas_image_load.c
  * TODO: Don't duplicate, reuse common functions

-- 




[EGIT] [core/efl] master 11/23: ecore_evas: preprocessor flag "BUILD_ECORE_EVAS_SOFTWARE_GDI" is not closed properly, if not defined, leads to build break.

2017-10-13 Thread Prince Kumar Dubey
cedric pushed a commit to branch master.

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

commit cb4a17ab22885c81dfaa20c7eed73659a7037641
Author: Prince Kumar Dubey 
Date:   Fri Oct 13 12:05:38 2017 -0700

ecore_evas: preprocessor flag "BUILD_ECORE_EVAS_SOFTWARE_GDI" is not closed 
properly, if not defined, leads to build break.

Reviewers: raster, cedric

Reviewed By: cedric

Subscribers: rajeshps, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/modules/ecore_evas/engines/win32/ecore_evas_win32.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c 
b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
index bdf0a485f7..46c795b60b 100644
--- a/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
+++ b/src/modules/ecore_evas/engines/win32/ecore_evas_win32.c
@@ -790,8 +790,8 @@ _ecore_evas_win32_shaped_set(Ecore_Evas *ee, int shaped)
  if (ee->shaped)
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
   }
-#endif /* BUILD_ECORE_EVAS_SOFTWARE_GDI */
  }
+#endif /* BUILD_ECORE_EVAS_SOFTWARE_GDI */
 }
 
 static void

-- 




[EGIT] [core/efl] master 05/23: edje_cc: fix a memory leak issue when edje_cc writes images

2017-10-13 Thread Youngbok Shin
cedric pushed a commit to branch master.

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

commit 5a24f1404a2af4437f4002f326bfa15f24332fc3
Author: Youngbok Shin 
Date:   Fri Oct 13 11:55:02 2017 -0700

edje_cc: fix a memory leak issue when edje_cc writes images

Summary:
If there is no given pathes for image files as parameter of edje_cc,
"img_dirs" will be NULL. Then, a local variable "load_err" is always
EVAS_LOAD_ERROR_NONE. Because of this, the "if" condition just after
EINA_LIST_FOREACH() will fail. It causes memory leak from "iw".
@fix

Test Plan: N/A

Reviewers: raster, cedric, jpeg, woohyun

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

Signed-off-by: Cedric Bail 
---
 src/bin/edje/edje_cc_out.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_out.c b/src/bin/edje/edje_cc_out.c
index 391e46cc9f..d793cacc8b 100644
--- a/src/bin/edje/edje_cc_out.c
+++ b/src/bin/edje/edje_cc_out.c
@@ -1390,7 +1390,7 @@ data_write_images(Eet_File *ef, int *image_num)
   break;
}
   }
-if (load_err != EVAS_LOAD_ERROR_NONE)
+if (!img_dirs || (load_err != EVAS_LOAD_ERROR_NONE))
   {
  evas_object_image_file_set(im, img->entry, NULL);
  load_err = evas_object_image_load_error_get(im);

-- 




[EGIT] [core/efl] master 01/01: efl_animation: Fix to set Efl_Event_Description for event animation

2017-10-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

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

commit 4dae43e4d13ca43b9fef41f180ee7315b49dd3be
Author: Jaehyun Cho 
Date:   Fri Oct 13 20:40:01 2017 +0900

efl_animation: Fix to set Efl_Event_Description for event animation

Any event represented by Efl_Event_Description can be registered for
event animation. (e.g. EFL_GFX_EVENT_SHOW, EFL_GFX_EVENT_HIDE, etc.)
---
 src/bin/elementary/test_efl_anim_event_anim.c |   4 +-
 src/lib/evas/canvas/efl_animation_types.eot   |   9 -
 src/lib/evas/canvas/efl_canvas_object.eo  |   4 +-
 src/lib/evas/canvas/evas_object_intercept.c   |   2 +-
 src/lib/evas/canvas/evas_object_main.c| 445 +-
 src/lib/evas/include/evas_private.h   |   7 +-
 6 files changed, 221 insertions(+), 250 deletions(-)

diff --git a/src/bin/elementary/test_efl_anim_event_anim.c 
b/src/bin/elementary/test_efl_anim_event_anim.c
index 1a0b3cccfc..f68ee8ccac 100644
--- a/src/bin/elementary/test_efl_anim_event_anim.c
+++ b/src/bin/elementary/test_efl_anim_event_anim.c
@@ -61,7 +61,7 @@ test_efl_anim_event_anim(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, v
efl_animation_alpha_set(show_anim, 0.0, 1.0);
efl_animation_duration_set(show_anim, 1.0);
efl_animation_target_set(show_anim, btn);
-   efl_canvas_object_event_animation_set(btn, EFL_ANIMATION_EVENT_TYPE_SHOW, 
show_anim);
+   efl_canvas_object_event_animation_set(btn, EFL_GFX_EVENT_SHOW, show_anim);
 
//Show button after setting event animation to show animation for show event
evas_object_show(btn);
@@ -71,7 +71,7 @@ test_efl_anim_event_anim(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, v
efl_animation_alpha_set(hide_anim, 1.0, 0.0);
efl_animation_duration_set(hide_anim, 1.0);
efl_animation_target_set(hide_anim, btn);
-   efl_canvas_object_event_animation_set(btn, EFL_ANIMATION_EVENT_TYPE_HIDE, 
hide_anim);
+   efl_canvas_object_event_animation_set(btn, EFL_GFX_EVENT_HIDE, hide_anim);
 
//Initialize App Data
ad->target = btn;
diff --git a/src/lib/evas/canvas/efl_animation_types.eot 
b/src/lib/evas/canvas/efl_animation_types.eot
index 099efbfd94..bb29937f24 100644
--- a/src/lib/evas/canvas/efl_animation_types.eot
+++ b/src/lib/evas/canvas/efl_animation_types.eot
@@ -3,15 +3,6 @@
 
 struct Efl.Animation.Object.Running_Event_Info; [[Information of running 
event]]
 
-enum Efl.Animation.Event_Type
-{
-   [[Animation event type]]
-
-   show = 0,   [["show" event type]]
-   hide = 1,   [["hide" event type]]
-   clicked = 2 [["clicked" event type]]
-}
-
 enum Efl.Animation.Repeat_Mode
 {
[[Animation repeat mode]]
diff --git a/src/lib/evas/canvas/efl_canvas_object.eo 
b/src/lib/evas/canvas/efl_canvas_object.eo
index ff8960fa46..7f619ae271 100644
--- a/src/lib/evas/canvas/efl_canvas_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_object.eo
@@ -660,7 +660,7 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, 
Efl.Gfx.Stack, Efl.Animator,
   event_animation_set {
  [[Set the $animation which starts when the given $event_name happens 
to the object.]]
  params {
-@in event_type: Efl.Animation.Event_Type; [[The event type the 
given $animation is set for.]]
+@in event_type: ptr(const(Efl.Event.Description)); [[The event 
description for which the given $animation is set.]]
 @in animation: Efl.Object /* FIXME: Efl.Animation */;
[[The animation which starts when the given $event_name happens 
to the object.]]
  }
@@ -669,7 +669,7 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, 
Efl.Gfx.Stack, Efl.Animator,
   event_animation_get {
  [[Get the $animation which starts when the given $event happens to 
the object.]]
  params {
-@in event_type: Efl.Animation.Event_Type; [[The event type the 
given $animation is set for.]]
+@in event_type: ptr(const(Efl.Event.Description)); [[The event 
description for which the given $animation is set.]]
  }
  legacy: null;
  return: Efl.Object /* FIXME: Efl.Animation */ @warn_unused;
diff --git a/src/lib/evas/canvas/evas_object_intercept.c 
b/src/lib/evas/canvas/evas_object_intercept.c
index adda8fe228..0676f6e759 100644
--- a/src/lib/evas/canvas/evas_object_intercept.c
+++ b/src/lib/evas/canvas/evas_object_intercept.c
@@ -108,7 +108,7 @@ _evas_object_intercept_call_internal(Evas_Object *eo_obj,
   * proceeded. */
  if (i &&
  _efl_canvas_object_event_animation_is_running(eo_obj,
-   
EFL_ANIMATION_EVENT_TYPE_HIDE))
+   
EFL_GFX_EVENT_HIDE))
_efl_canvas_object_event_animation_cancel(eo_obj);
  else
return 1;
diff --git 

[EGIT] [core/enlightenment] master 01/01: add render update when showing clients if damages exist

2017-10-13 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f20765df671af517ab1f4638fda48dc872072fe9
Author: Mike Blumenkrantz 
Date:   Fri Oct 13 09:46:24 2017 -0400

add render update when showing clients if damages exist

ensure that these clients render as expected

ref T5593
---
 src/bin/e_comp_object.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index ca2e003bf..5f77c94b0 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2431,6 +2431,8 @@ _e_comp_smart_show(Evas_Object *obj)
  }
if (cw->ec->iconic && (!cw->ec->new_client))
  e_comp_object_signal_emit(cw->smart_obj, "e,action,uniconify", "e");
+   if (cw->updates_exist)
+ e_comp_object_render_update_add(obj);
if ((!cw->showing) && ((!cw->ec->iconic) || cw->ec->new_client || 
(!cw->animating)))
  {
 /* if cw->showing set, client was ec->hidden during show animation */

-- 




[EGIT] [core/efl] master 01/01: eolian gen: generate documentation for first object param if present

2017-10-13 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 5699466dbabc8a1b2bd6b46a49cb268c5db415e1
Author: Daniel Kolesa 
Date:   Fri Oct 13 15:18:01 2017 +0200

eolian gen: generate documentation for first object param if present

This prevents doxygen from emitting warnings.

Fixes T6186.
---
 src/bin/eolian/docs.c   | 11 +++
 src/tests/eolian/data/class_simple_ref_eo.h |  4 
 src/tests/eolian/data/docs_ref.h|  4 
 src/tests/eolian/data/docs_ref_legacy.h |  4 
 src/tests/eolian/data/struct_ref.c  |  1 +
 5 files changed, 24 insertions(+)

diff --git a/src/bin/eolian/docs.c b/src/bin/eolian/docs.c
index aa17975334..9807b727b7 100644
--- a/src/bin/eolian/docs.c
+++ b/src/bin/eolian/docs.c
@@ -569,6 +569,17 @@ eo_gen_docs_func_gen(const Eolian_Unit *src, const 
Eolian_Function *fid,
   }
  }
 
+   if (!eolian_function_is_class(fid))
+ {
+_indent_line(buf, indent);
+eina_strbuf_append(buf, " * @param[in] obj The object.\n");
+if (!par && (rdoc || since))
+  {
+ _indent_line(buf, indent);
+ eina_strbuf_append(buf, " *\n");
+  }
+ }
+
while (par)
  {
 const Eolian_Documentation *adoc = 
eolian_parameter_documentation_get(par);
diff --git a/src/tests/eolian/data/class_simple_ref_eo.h 
b/src/tests/eolian/data/class_simple_ref_eo.h
index fea32db0b2..9a5ddcd5c7 100644
--- a/src/tests/eolian/data/class_simple_ref_eo.h
+++ b/src/tests/eolian/data/class_simple_ref_eo.h
@@ -47,6 +47,7 @@ EWAPI const Efl_Class *class_simple_class_get(void);
  *
  * comment a.set
  *
+ * @param[in] obj The object.
  * @param[in] value Value description
  *
  * @return comment for property set return
@@ -60,6 +61,8 @@ EOAPI Eina_Bool efl_canvas_object_simple_a_set(Eo *obj, int 
value);
 /**
  * @brief Common desc for a
  *
+ * @param[in] obj The object.
+ *
  * @return Value description
  *
  * @ingroup Class_Simple
@@ -73,6 +76,7 @@ EOAPI void efl_canvas_object_simple_b_set(Eo *obj);
 /**
  * @brief comment foo
  *
+ * @param[in] obj The object.
  * @param[in] a a
  * @param[in,out] b
  * @param[out] c
diff --git a/src/tests/eolian/data/docs_ref.h b/src/tests/eolian/data/docs_ref.h
index bd9224efbd..d8002b8abf 100644
--- a/src/tests/eolian/data/docs_ref.h
+++ b/src/tests/eolian/data/docs_ref.h
@@ -88,6 +88,7 @@ EWAPI const Efl_Class *docs_class_get(void);
 /**
  * @brief Method documentation.
  *
+ * @param[in] obj The object.
  * @param[in] a Param documentation.
  * @param[out] b
  * @param[out] c Another param documentation.
@@ -105,6 +106,7 @@ EOAPI int docs_meth(Eo *obj, int a, float *b, long *c);
  *
  * Set documentation.
  *
+ * @param[in] obj The object.
  * @param[in] val Value documentation.
  *
  * @since 1.18
@@ -118,6 +120,8 @@ EOAPI void docs_prop_set(Eo *obj, int val);
  *
  * Get documentation.
  *
+ * @param[in] obj The object.
+ *
  * @return Value documentation.
  *
  * @since 1.18
diff --git a/src/tests/eolian/data/docs_ref_legacy.h 
b/src/tests/eolian/data/docs_ref_legacy.h
index 5d3849ac36..75aad8bfb4 100644
--- a/src/tests/eolian/data/docs_ref_legacy.h
+++ b/src/tests/eolian/data/docs_ref_legacy.h
@@ -74,6 +74,7 @@ typedef struct _Opaque Opaque;
 /**
  * @brief Method documentation.
  *
+ * @param[in] obj The object.
  * @param[in] a Param documentation.
  * @param[out] b
  * @param[out] c Another param documentation.
@@ -91,6 +92,7 @@ EAPI int docs_meth(Docs *obj, int a, float *b, long *c);
  *
  * Set documentation.
  *
+ * @param[in] obj The object.
  * @param[in] val Value documentation.
  *
  * @since 1.18
@@ -104,6 +106,8 @@ EAPI void docs_prop_set(Docs *obj, int val);
  *
  * Get documentation.
  *
+ * @param[in] obj The object.
+ *
  * @return Value documentation.
  *
  * @since 1.18
diff --git a/src/tests/eolian/data/struct_ref.c 
b/src/tests/eolian/data/struct_ref.c
index 42f34a9be2..60b4369bce 100644
--- a/src/tests/eolian/data/struct_ref.c
+++ b/src/tests/eolian/data/struct_ref.c
@@ -33,6 +33,7 @@ EWAPI const Efl_Class *struct_class_get(void);
 /**
  * @brief Foo docs. This is @c monospace. This is alone-standing $.
  *
+ * @param[in] obj The object.
  * @param[in] idx
  *
  * @ingroup Struct

-- 




[EGIT] [core/enlightenment] master 01/01: meson: the keyword is value, not default!

2017-10-13 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit b8c5f0c2809c090ace1d8fcdc7ef48ba8eadb893
Author: Marcel Hollerbach 
Date:   Fri Oct 13 13:42:00 2017 +0200

meson: the keyword is value, not default!

 #SomeoneDidNotReadTheDoc
---
 meson_options.txt | 147 +++---
 1 file changed, 73 insertions(+), 74 deletions(-)

diff --git a/meson_options.txt b/meson_options.txt
index af5701cc0..8f7707443 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,18 +1,18 @@
 option('install-sysactions',
type: 'boolean',
-   default: true,
+   value: true,
description: 'install /etc/enlightenment/sysactions.conf: 
(default=true)')
 option('install-enlightenment-menu',
type: 'boolean',
-   default: true,
+   value: true,
description: 'install /etc/xdg/menus/e-applications.menu: 
(default=true)')
 option('files',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable Files menu item: (default=true)')
 option('nls',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable localization: (default=true)')
 
 option('edje-cc',
@@ -21,288 +21,287 @@ option('edje-cc',
 
 option('pam',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable PAM support: (default=true)')
 
 option('device-udev',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable udev device backend: (default=true)')
 option('mount-udisks',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable udisks mounting support: (default=true)')
 option('mount-eeze',
type: 'boolean',
-   default: false,
+   value: false,
description: 'enable eeze mounting support: (default=false)')
 
 option('wayland',
type: 'boolean',
-   default: false,
value: false,
description: 'enable wayland support: (default=false)')
 option('xwayland',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable xwayland support: (default=true)')
 option('xwayland-bin',
type: 'string',
-   default: '',
+   value: '',
description: 'set the path to Xwayland: (default=)')
 option('wl-buffer',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable buffer wayland output: (default=true)')
 option('wl-drm',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable drm wayland output: (default=true)')
 option('wl-wl',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable nested wayland output: (default=true)')
 option('wl-x11',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable x11 wayland output: (default=true)')
 option('wl-desktop-shell',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable wayland desktop shell support: (default=true)')
 option('wl-text-input',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable wayland vkbd support: (default=true)')
 option('wl-weekeyboard',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable internal wayland vkbd: (default=true)')
 
 option('systemd',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable systemd support: (default=true)')
 option('systemdunitdir',
type: 'string',
-   default: '',
+   value: '',
description: 'path to systemd user services directory')
 
 option('appmenu',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable appmenu module: (default=true)')
 option('backlight',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable backlight module: (default=true)')
 option('battery',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable battery module: (default=true)')
 option('bluez4',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable bluez4 module: (default=true)')
 option('clock',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable clock module: (default=true)')
 option('connman',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable connman module: (default=true)')
 option('cpufreq',
type: 'boolean',
-   default: true,
+   value: true,
description: 'enable cpufreq module: (default=true)')
 option('everything',
type: 'boolean',

[EGIT] [core/efl] master 03/04: efl_ui_focus_object: introduce prepare_logical

2017-10-13 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 6acaf6350cd7a979bf2fa74c4483cfcaca65780e
Author: Marcel Hollerbach 
Date:   Fri Oct 13 11:09:03 2017 +0200

efl_ui_focus_object: introduce prepare_logical

with this call a registered logical item could prepare itself for a
deeper traversal
---
 src/lib/elementary/efl_ui_focus_manager_calc.c | 22 +-
 src/lib/elementary/efl_ui_focus_object.eo  |  7 +++
 2 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index dcb39babcc..5b3bb4c924 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -1035,6 +1035,10 @@ _prev_item(Node *node)
Eina_List *lnode;
 
parent = T(node).parent;
+
+   //we are accessing the parents children, prepare!
+   efl_ui_focus_object_prepare_logical(parent->focusable);
+
lnode = eina_list_data_find_list(T(parent).children, node);
lnode = eina_list_prev(lnode);
 
@@ -1048,6 +1052,9 @@ _next(Node *node)
 {
Node *n;
 
+   //prepare the node itself so if there are probebly no children, then they 
are here.
+   efl_ui_focus_object_prepare_logical(node->focusable);
+
//Case 1 we are having children
//But only enter the children if it does NOT have a redirect manager
if (T(node).children && !node->redirect_manager)
@@ -1069,6 +1076,10 @@ _next(Node *node)
 Eina_List *lnode;
 
 parent = T(n).parent;
+
+//we are accessing the parents children, prepare!
+efl_ui_focus_object_prepare_logical(parent->focusable);
+
 lnode = eina_list_data_find_list(T(parent).children, n);
 lnode = eina_list_next(lnode);
 
@@ -1094,6 +1105,11 @@ _prev(Node *node)
  return NULL;
 
n =_prev_item(node);
+
+   //we are accessing prev items children, prepare them!
+   if (n && n->focusable)
+ efl_ui_focus_object_prepare_logical(n->focusable);
+
//case 1 there is a item in the parent previous to node, which has children
if (n && T(n).children)
  {
@@ -1232,6 +1248,7 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_
 F_DBG(" %p is logical, fetching the next subnode that is either a 
redirect or a regular", obj);
 
 //important! if there are no children _next would return the parent of 
node which will exceed the limit of children of node
+efl_ui_focus_object_prepare_logical(node->focusable);
 if (node->tree.children)
   {
  target = node;
@@ -1240,7 +1257,6 @@ 
_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_
  while (target && target->type == NODE_TYPE_ONLY_LOGICAL && 
!target->redirect_manager)
{
   target = _next(target);
-
   //abort if we are exceeding the childrens of node
   if (target == node) target = NULL;
}
@@ -1470,6 +1486,10 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_fetch(Eo 
*obj, Efl_Ui_Focus_Mana
 
dirty_flush(obj, pd, n);
 
+   //make sure to prepare_logical so next and prev are correctly
+   if (n->tree.parent)
+ efl_ui_focus_object_prepare_logical(n->tree.parent->focusable);
+
 #define DIR_CLONE(dir) _convert(DIRECTION_ACCESS(n,dir).partners);
 
res->right = DIR_CLONE(EFL_UI_FOCUS_DIRECTION_RIGHT);
diff --git a/src/lib/elementary/efl_ui_focus_object.eo 
b/src/lib/elementary/efl_ui_focus_object.eo
index c3c4df94f9..6637302a0e 100644
--- a/src/lib/elementary/efl_ui_focus_object.eo
+++ b/src/lib/elementary/efl_ui_focus_object.eo
@@ -30,9 +30,16 @@ mixin Efl.Ui.Focus.Object
 focus : bool; [[The state in which the object should be put]]
 }
 }
+prepare_logical {
+[[Tells the object that the children of it will be queried soon by 
the given manager.
+
+  Deleting items in the manager in this call will result in 
undefied behaviour and may crash. Dont do that!
+]]
+}
 }
 implements {
 @empty .focus_geometry;
+@empty .prepare_logical;
 }
 events {
 focus,changed : bool; [[Emitted if the focus state has changed]]

-- 




[EGIT] [core/efl] master 04/04: elm_toolbar: use prepare to get focus into the items again

2017-10-13 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit d24c00d2beab2216660277fba1e157bf7a4f9eab
Author: Marcel Hollerbach 
Date:   Fri Oct 13 11:09:56 2017 +0200

elm_toolbar: use prepare to get focus into the items again
---
 src/lib/elementary/elm_toolbar.c  | 16 
 src/lib/elementary/elm_toolbar.eo |  1 +
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index de375c0e90..aa20cf5a40 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -653,8 +653,6 @@ _resize_job(void *data)
eina_list_free(list);
 
_mirrored_set(obj, efl_ui_mirrored_get(obj));
-
-   _item_focus_eval_all(obj, sd);
 }
 
 static void
@@ -855,7 +853,7 @@ _elm_toolbar_item_elm_widget_item_focus_set(Eo *eo_it, 
Elm_Toolbar_Item_Data *it
 if (!elm_object_focus_get(obj))
   elm_object_focus_set(obj, EINA_TRUE);
 
-if (!elm_widget_focus_get(obj))
+if (!elm_object_focus_get(obj))
   return;
 
 if (eo_it != sd->focused_item)
@@ -864,15 +862,18 @@ _elm_toolbar_item_elm_widget_item_focus_set(Eo *eo_it, 
Elm_Toolbar_Item_Data *it
_elm_toolbar_item_unfocused(sd->focused_item);
  _elm_toolbar_item_focused(eo_it);
   }
+
  }
else
  {
-if (!elm_widget_focus_get(obj))
+if (!elm_object_focus_get(obj))
   return;
 if (eo_it)
   _elm_toolbar_item_unfocused(eo_it);
  }
 
+   evas_object_focus_set(VIEW(it), focused);
+
_elm_widget_item_highlight_in_theme(obj, EO_OBJ(it));
_elm_widget_highlight_in_theme_update(obj);
_elm_widget_focus_highlight_start(obj);
@@ -4110,6 +4111,13 @@ elm_toolbar_icon_order_lookup_get(const Evas_Object *obj 
EINA_UNUSED)
return ELM_ICON_LOOKUP_FDO_THEME;
 }
 
+EOLIAN static void
+_elm_toolbar_efl_ui_focus_object_prepare_logical(Eo *obj, Elm_Toolbar_Data *pd)
+{
+   _item_focus_eval_all(obj, pd);
+}
+
+
 /* Standard widget overrides */
 
 ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(elm_toolbar, Elm_Toolbar_Data)
diff --git a/src/lib/elementary/elm_toolbar.eo 
b/src/lib/elementary/elm_toolbar.eo
index 3720ada603..1ba5e8b36b 100644
--- a/src/lib/elementary/elm_toolbar.eo
+++ b/src/lib/elementary/elm_toolbar.eo
@@ -344,6 +344,7 @@ class Elm.Toolbar (Elm.Widget, Elm.Interface_Scrollable, 
Efl.Ui.Direction,
   Efl.Ui.Menu.first_item { get; }
   Efl.Ui.Menu.last_item { get; }
   Efl.Ui.Menu.items { get; }
+  Efl.Ui.Focus.Object.prepare_logical;
}
events {
   item,focused; [[Called when toolbar item got focus]]

-- 




[EGIT] [core/efl] master 01/04: efl_ui_focus_manager_calc: make sure to not access out of bounds mem

2017-10-13 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 441776f7cfe4eba2a4d257312ddbb554224bc858
Author: Marcel Hollerbach 
Date:   Thu Oct 12 21:24:59 2017 +0200

efl_ui_focus_manager_calc: make sure to not access out of bounds mem
---
 src/lib/elementary/efl_ui_focus_manager_calc.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c 
b/src/lib/elementary/efl_ui_focus_manager_calc.c
index 00c06fffd9..dcb39babcc 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -11,6 +11,8 @@
 #define DIM_EFL_UI_FOCUS_DIRECTION(dim,neg) dim*2+neg
 #define NODE_DIRECTIONS_COUNT 4
 
+#define DIRECTION_IS_LOGICAL(dir) (dir >= EFL_UI_FOCUS_DIRECTION_PREVIOUS && 
dir < EFL_UI_FOCUS_DIRECTION_UP)
+#define DIRECTION_IS_2D(dir) (dir >= EFL_UI_FOCUS_DIRECTION_UP && dir < 
EFL_UI_FOCUS_DIRECTION_LAST)
 #define DIRECTION_CHECK(dir) (dir >= EFL_UI_FOCUS_DIRECTION_PREVIOUS && dir < 
EFL_UI_FOCUS_DIRECTION_LAST)
 
 //#define CALC_DEBUG
@@ -103,7 +105,11 @@ border_partners_set(Node *node, Efl_Ui_Focus_Direction 
direction, Eina_List *lis
 {
Node *partner;
Eina_List *lnode;
-   Border *border = _ACCESS(node, direction);
+   Border *border;
+
+   EINA_SAFETY_ON_FALSE_RETURN(DIRECTION_IS_2D(direction));
+
+   border = _ACCESS(node, direction);
 
EINA_LIST_FREE(border->partners, partner)
  {
@@ -983,6 +989,8 @@ _coords_movement(Efl_Ui_Focus_Manager_Calc_Data *pd, Node 
*upper, Efl_Ui_Focus_D
Node *candidate;
Eina_List *node_list;
 
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(DIRECTION_IS_2D(direction), NULL);
+
//we are searching which of the partners is lower to the history
EINA_LIST_REVERSE_FOREACH(pd->focus_stack, node_list, candidate)
  {
@@ -1114,6 +1122,8 @@ _logical_movement(Efl_Ui_Focus_Manager_Calc_Data *pd 
EINA_UNUSED, Node *upper, E
Node *result;
Eina_List *stack = NULL;
 
+   EINA_SAFETY_ON_FALSE_RETURN_VAL(DIRECTION_IS_LOGICAL(direction), NULL);
+
if (direction == EFL_UI_FOCUS_DIRECTION_NEXT)
  deliver = _next;
else

-- 




[EGIT] [core/efl] master 02/04: efl_ui_focus: add parent_provider

2017-10-13 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 75f5ea686fb6475cdbb9d8106c696c4d52fefe69
Author: Marcel Hollerbach 
Date:   Thu Oct 12 21:25:49 2017 +0200

efl_ui_focus: add parent_provider

thats just a little helper, where the logic to find and fetch the
provider is bound to the position in the widget tree, this means that
for example gengrid could change the way the logical parent is
evalulated. (For example to map the logical parent to a item)
---
 src/Makefile_Elementary.am|  6 +-
 src/lib/elementary/efl_ui_focus_parent_provider.c |  8 
 src/lib/elementary/efl_ui_focus_parent_provider.eo| 11 +++
 .../efl_ui_focus_parent_provider_standard.c   | 19 +++
 .../efl_ui_focus_parent_provider_standard.eo  |  5 +
 src/lib/elementary/efl_ui_win.c   |  6 ++
 src/lib/elementary/elm_priv.h |  2 ++
 src/lib/elementary/elm_widget.c   |  6 +-
 src/lib/elementary/elm_widget.h   |  2 +-
 9 files changed, 62 insertions(+), 3 deletions(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 039f50b455..11ad8c3e98 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -155,6 +155,8 @@ elm_private_eolian_files = \
tests/elementary/focus_test_sub_main.eo \
lib/elementary/efl_ui_focus_rectangle.eo \
lib/elementary/elm_calendar_item.eo \
+   lib/elementary/efl_ui_focus_parent_provider.eo \
+   lib/elementary/efl_ui_focus_parent_provider_standard.eo \
$(NULL)
 
 # Legacy classes - not part of public EO API
@@ -707,7 +709,9 @@ lib_elementary_libelementary_la_SOURCES = \
lib/elementary/efl_ui_focus_manager_root_focus.c \
lib/elementary/efl_ui_textpath.c \
lib/elementary/efl_ui_focus_layer.c \
-  lib/elementary/efl_ui_focus_composition.c \
+   lib/elementary/efl_ui_focus_composition.c \
+   lib/elementary/efl_ui_focus_parent_provider.c \
+   lib/elementary/efl_ui_focus_parent_provider_standard.c \
$(NULL)
 
 
diff --git a/src/lib/elementary/efl_ui_focus_parent_provider.c 
b/src/lib/elementary/efl_ui_focus_parent_provider.c
new file mode 100644
index 00..97de15a451
--- /dev/null
+++ b/src/lib/elementary/efl_ui_focus_parent_provider.c
@@ -0,0 +1,8 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include 
+#include "elm_priv.h"
+
+#include "efl_ui_focus_parent_provider.eo.c"
diff --git a/src/lib/elementary/efl_ui_focus_parent_provider.eo 
b/src/lib/elementary/efl_ui_focus_parent_provider.eo
new file mode 100644
index 00..13d4638cf2
--- /dev/null
+++ b/src/lib/elementary/efl_ui_focus_parent_provider.eo
@@ -0,0 +1,11 @@
+interface Efl.Ui.Focus.Parent_Provider {
+   methods {
+  find_logical_parent {
+[[Called to get the logical parent of widget]]
+params {
+   widget : Efl.Ui.Focus.Object;
+}
+return : Efl.Ui.Focus.Object;
+  }
+   }
+}
diff --git a/src/lib/elementary/efl_ui_focus_parent_provider_standard.c 
b/src/lib/elementary/efl_ui_focus_parent_provider_standard.c
new file mode 100644
index 00..821d812463
--- /dev/null
+++ b/src/lib/elementary/efl_ui_focus_parent_provider_standard.c
@@ -0,0 +1,19 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include 
+#include "elm_priv.h"
+
+typedef struct {
+
+} Efl_Ui_Focus_Parent_Provider_Standard_Data;
+
+EOLIAN static Efl_Ui_Focus_Object*
+_efl_ui_focus_parent_provider_standard_efl_ui_focus_parent_provider_find_logical_parent(Eo
 *obj EINA_UNUSED, Efl_Ui_Focus_Parent_Provider_Standard_Data *pd EINA_UNUSED, 
Efl_Ui_Focus_Object *widget)
+{
+   return elm_object_parent_widget_get(widget);
+}
+
+
+#include "efl_ui_focus_parent_provider_standard.eo.c"
diff --git a/src/lib/elementary/efl_ui_focus_parent_provider_standard.eo 
b/src/lib/elementary/efl_ui_focus_parent_provider_standard.eo
new file mode 100644
index 00..9daa4aef98
--- /dev/null
+++ b/src/lib/elementary/efl_ui_focus_parent_provider_standard.eo
@@ -0,0 +1,5 @@
+class Efl.Ui.Focus.Parent_Provider.Standard(Efl.Object, 
Efl.Ui.Focus.Parent_Provider) {
+   implements {
+  Efl.Ui.Focus.Parent_Provider.find_logical_parent;
+   }
+}
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index bc66ecedf0..af94426b3f 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -176,6 +176,7 @@ struct _Efl_Ui_Win_Data
Evas_Object *main_menu;
 
Efl_Ui_Focus_Manager *manager;
+   Efl_Ui_Focus_Parent_Provider_Standard *provider;
 
struct
{
@@ -5361,6 +5362,7 @@ _efl_ui_win_efl_object_constructor(Eo *obj, 
Efl_Ui_Win_Data *pd)
 
pd->obj = obj;
pd->manager = elm_obj_widget_focus_manager_create(obj, obj);

[EGIT] [core/efl] master 01/01: tests: eina strbuf - fix compilation

2017-10-13 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 00ba7b1b6fe1f745da5cd2d716988aea6844ae05
Author: Amitesh Singh 
Date:   Fri Oct 13 16:10:31 2017 +0900

tests: eina strbuf - fix compilation

refer patch 2cf24eb30428fd56
---
 src/tests/eina/eina_test_strbuf.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/tests/eina/eina_test_strbuf.c 
b/src/tests/eina/eina_test_strbuf.c
index 4add7a188e..b4e1cd1d02 100644
--- a/src/tests/eina/eina_test_strbuf.c
+++ b/src/tests/eina/eina_test_strbuf.c
@@ -689,6 +689,7 @@ START_TEST(strbuf_strftime_test)
 
eina_strbuf_free(buf);
 }
+END_TEST
 
 void
 eina_test_strbuf(TCase *tc)

-- 




[EGIT] [core/efl] master 01/01: eina: strbuf - Add strftime related functions

2017-10-13 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 2cf24eb30428fd56e32b1633ab3d795a3fbea5a3
Author: Amitesh Singh 
Date:   Fri Oct 13 14:36:31 2017 +0900

eina: strbuf - Add strftime related functions

eina_strbuf_append_strftime()
eina_strbuf_insert_strftime()
eina_strbuf_prepend_strftime() - macro

We need these functions for implementing generic format function
interface especially for calander.

Ref T6204
---
 src/examples/eina/eina_strbuf_02.c | 35 
 src/lib/eina/eina_strbuf.c | 28 
 src/lib/eina/eina_strbuf.h | 68 ++
 src/tests/eina/eina_test_strbuf.c  | 31 +
 4 files changed, 162 insertions(+)

diff --git a/src/examples/eina/eina_strbuf_02.c 
b/src/examples/eina/eina_strbuf_02.c
new file mode 100644
index 00..9282b69ed5
--- /dev/null
+++ b/src/examples/eina/eina_strbuf_02.c
@@ -0,0 +1,35 @@
+//Compile with:
+//gcc -Wall -o eina_strbuf_02 eina_strbuf_02c `pkg-config --cflags --libs eina`
+
+#include 
+#include 
+
+int main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
+{
+   Eina_Strbuf *buf;
+   time_t curr_time;
+   struct tm *info;
+
+   eina_init();
+
+   curr_time = time(NULL);
+   info = localtime(_time);
+
+   buf = eina_strbuf_new();
+   eina_strbuf_append_strftime(buf, "%I:%M%p", info);
+   printf("current time: %s\n", eina_strbuf_string_get(buf));
+   eina_strbuf_reset(buf);
+
+   buf = eina_strbuf_new();
+   eina_strbuf_append(buf, "Hours: Minutes");
+   //insert hour at ^Hours: Minutes where ^ is the position
+   eina_strbuf_prepend_strftime(buf, "%I ", info);
+   //insert hour at hhhHours: ^Minutes where ^ is the position
+   eina_strbuf_insert_strftime(buf, "%M ", info, 10);
+   printf("%s\n", eina_strbuf_string_get(buf));
+
+   eina_strbuf_free(buf);
+   eina_shutdown();
+
+   return 0;
+}
diff --git a/src/lib/eina/eina_strbuf.c b/src/lib/eina/eina_strbuf.c
index 586bffb21c..f18408d59e 100644
--- a/src/lib/eina/eina_strbuf.c
+++ b/src/lib/eina/eina_strbuf.c
@@ -220,6 +220,34 @@ eina_strbuf_substr_get(Eina_Strbuf *buf, size_t pos, 
size_t len)
return eina_strbuf_manage_new(str);
 }
 
+EAPI Eina_Bool
+eina_strbuf_append_strftime(Eina_Strbuf *buf, const char *format, const struct 
tm *tm)
+{
+   char *outputbuf;
+
+   outputbuf = eina_strftime(format, tm);
+   if (!outputbuf) return EINA_FALSE;
+
+   eina_strbuf_append(buf, outputbuf);
+   free(outputbuf);
+
+   return EINA_TRUE;
+}
+
+EAPI Eina_Bool
+eina_strbuf_insert_strftime(Eina_Strbuf *buf, const char *format, const struct 
tm *tm, size_t pos)
+{
+   char *outputbuf;
+
+   outputbuf = eina_strftime(format, tm);
+   if (!outputbuf) return EINA_FALSE;
+
+   eina_strbuf_insert_length(buf, outputbuf, strlen(outputbuf), pos);
+   free(outputbuf);
+
+   return EINA_TRUE;
+}
+
 /* Unicode */
 
 #include "eina_strbuf_template_c.x"
diff --git a/src/lib/eina/eina_strbuf.h b/src/lib/eina/eina_strbuf.h
index 7d90ae6324..eeea11c47f 100644
--- a/src/lib/eina/eina_strbuf.h
+++ b/src/lib/eina/eina_strbuf.h
@@ -738,6 +738,74 @@ EAPI Eina_Rw_Slice eina_strbuf_rw_slice_get(const 
Eina_Strbuf *buf) EINA_WARN_UN
 EAPI char* eina_strbuf_release(Eina_Strbuf *buf) EINA_WARN_UNUSED_RESULT 
EINA_ARG_NONNULL(1);
 
 /**
+ * @brief append the given buffer based on strftime output.
+ *
+ * @param tm Pointer to a tm structure needed by strftime.
+ * @param fmt String containing format specifiers needed by strftime.
+ * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ *
+ * This will add append buffer of exact required size based on strftime output
+ *
+ * Example usage:
+ * @code
+ * time_t curr_time;
+ * struct tm *info;
+ * Eina_Strbuf *buf = eina_strbuf_new();
+ * curr_time = time(NULL);
+ * info = localtime(_time);
+ * eina_strbuf_append_strftime(buf, "%I:%M%p", info);
+ * //after use
+ * eina_strbuf_free(buf);
+ * @endcode #EINA_TRUE on success, #EINA_FALSE on failure.
+ *
+ * @since 1.21
+ */
+EAPI Eina_Bool eina_strbuf_append_strftime(Eina_Strbuf *buf, const char *fmt, 
const struct tm *tm);
+
+/**
+ * @brief insert the given buffer based on strftime output at given position
+ *
+ * @param buf The string buffer to prepend to.
+ * @param fmt String containing format specifiers needed by strftime.
+ * @param tm Pointer to a tm structure needed by strftime.
+ * @return #EINA_TRUE on success, #EINA_FALSE on failure.
+ *
+ * This will add append buffer of exact required size based on strftime output
+ *
+ * Example usage:
+ * @code
+ * time_t curr_time;
+ * struct tm *info;
+ * Eina_Strbuf *buf = eina_strbuf_new();
+ * curr_time = time(NULL);
+ * info = localtime(_time);
+ * eina_strbuf_insert_strftime(buf, "%I:%M%p", info, 2);
+ * //after use
+ * eina_strbuf_free(buf);
+ * @endcode
+ *
+ * @since 1.21
+ */
+EAPI Eina_Bool eina_strbuf_insert_strftime(Eina_Strbuf *buf, const char *fmt, 

[EGIT] [core/efl] master 01/01: efl_animation: Fix shadowing local variable warning

2017-10-13 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

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

commit 6857f349b0b161260013e07cc612ae766ba4b61b
Author: Jaehyun Cho 
Date:   Fri Oct 13 15:01:24 2017 +0900

efl_animation: Fix shadowing local variable warning
---
 src/lib/evas/canvas/efl_animation_object_group_parallel.c   | 2 +-
 src/lib/evas/canvas/efl_animation_object_group_sequential.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/efl_animation_object_group_parallel.c 
b/src/lib/evas/canvas/efl_animation_object_group_parallel.c
index 6c8a9aeac0..dd6043608f 100644
--- a/src/lib/evas/canvas/efl_animation_object_group_parallel.c
+++ b/src/lib/evas/canvas/efl_animation_object_group_parallel.c
@@ -217,7 +217,7 @@ 
_efl_animation_object_group_parallel_efl_animation_object_progress_set(Eo *eo_ob
  efl_animation_object_repeat_count_get(anim_obj);
   if (repeat_count > 0)
 {
-   int repeated_count = _repeated_count_get(pd, anim_obj);
+   repeated_count = _repeated_count_get(pd, anim_obj);
if (repeated_count < repeat_count)
  {
 repeated_count++;
diff --git a/src/lib/evas/canvas/efl_animation_object_group_sequential.c 
b/src/lib/evas/canvas/efl_animation_object_group_sequential.c
index 1f4dd7d9dd..0f07a597f1 100644
--- a/src/lib/evas/canvas/efl_animation_object_group_sequential.c
+++ b/src/lib/evas/canvas/efl_animation_object_group_sequential.c
@@ -222,7 +222,7 @@ 
_efl_animation_object_group_sequential_efl_animation_object_progress_set(Eo *eo_
  efl_animation_object_repeat_count_get(anim_obj);
   if (repeat_count > 0)
 {
-   int repeated_count = _repeated_count_get(pd, anim_obj);
+   repeated_count = _repeated_count_get(pd, anim_obj);
if (repeated_count < repeat_count)
  {
 repeated_count++;

--