[EGIT] [core/enlightenment] master 01/01: e - add polkit module to add an auth agent into e

2019-10-07 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 5f4697fd7d03aad17f5b5ee79a1fbc5f9b472601
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Oct 8 01:29:24 2019 +0100

e - add polkit module to add an auth agent into e

new feature - polkit auth agent support partly in core (need to have
the pam setuid root auth tool respond via dbus) and partly a module
(the agent dbus protocol handling and setup as well as auth gui). this
took me a while even with all the docs to work out how polkit works...
it was really fussy and its data structs are an extra pain in the butt
to craft with eldbus, but i managed it. not everything is supported
but the core basics are there and this can be built on.

right now the gui is really basic, but does the job.
---
 data/config/default/e.src  |   2 +-
 data/config/standard/e.src |   6 +-
 data/config/tiling/e.src   |   7 +-
 meson_options.txt  |   4 +
 src/bin/e_auth.c   |  57 +++-
 src/bin/e_auth.h   |   1 +
 src/bin/e_ckpasswd_main.c  | 207 +++--
 src/bin/e_config.c |  27 ++
 src/bin/e_config.h |   2 +-
 src/bin/e_module.c |   1 +
 src/bin/meson.build|   2 +-
 src/modules/meson.build|   1 +
 src/modules/polkit/auth_ui.c   | 149 ++
 src/modules/polkit/e-module-polkit.edj | Bin 0 -> 7523 bytes
 src/modules/polkit/e_mod_main.c|  17 ++
 src/modules/polkit/e_mod_main.h|  32 ++
 src/modules/polkit/meson.build |   6 +
 src/modules/polkit/module.desktop  |   6 +
 src/modules/polkit/polkit.c| 523 +
 19 files changed, 1019 insertions(+), 31 deletions(-)

diff --git a/data/config/default/e.src b/data/config/default/e.src
index a2e0e3e2e..a017effa9 100644
--- a/data/config/default/e.src
+++ b/data/config/default/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-  value "config_version" int: 128;
+  value "config_version" int: 129;
   value "config_type" uint: 0; // this profile seems to just be super 
minimalist
   value "show_splash" int: 0;
   value "desktop_default_name" string: "%i-%i";
diff --git a/data/config/standard/e.src b/data/config/standard/e.src
index 4c716d877..bc9fc5dad 100644
--- a/data/config/standard/e.src
+++ b/data/config/standard/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-value "config_version" int: 128;
+value "config_version" int: 129;
 value "config_type" uint: 3;
 value "show_splash" int: 1;
 value "desktop_default_name" string: "%i-%i";
@@ -1015,6 +1015,10 @@ group "E_Config" struct {
 value "name" string: "bluez5";
 value "enabled" uchar: 1;
 }
+group "E_Config_Module" struct {
+value "name" string: "polkit";
+value "enabled" uchar: 1;
+}
 }
 group "xkb.used_layouts" list {
 group "E_Config_XKB_Layout" struct {
diff --git a/data/config/tiling/e.src b/data/config/tiling/e.src
index 431fce4bd..2d81e5a6d 100644
--- a/data/config/tiling/e.src
+++ b/data/config/tiling/e.src
@@ -1,5 +1,5 @@
 group "E_Config" struct {
-value "config_version" int: 128;
+value "config_version" int: 129;
 value "config_type" uint: 3;
 value "show_splash" int: 1;
 value "desktop_default_name" string: "%i-%i";
@@ -1033,11 +1033,14 @@ group "E_Config" struct {
 value "name" string: "bluez5";
 value "enabled" uchar: 1;
 }
+group "E_Config_Module" struct {
+value "name" string: "polkit";
+value "enabled" uchar: 1;
+}
 group "E_Config_Module" struct {
 value "name" string: "tiling";
 value "enabled" uchar: 1;
 }
-
 }
 group "xkb.used_layouts" list {
 group "E_Config_XKB_Layout" struct {
diff --git a/meson_options.txt b/meson_options.txt
index d3457def8..3a077e8a7 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -155,6 +155,10 @@ option('lokker',
type: 'boolean',
value: true,
description: 'enable lokker module: (default=true)')
+option('polkit',
+   type: 'boolean',
+   value: true,
+   description: 'enable polkit module: (default=true)')
 option('luncher',
type: 'boolean',
value: true,
diff --git a/src/bin/e_auth.c b/src/bin/e_auth.c
index 00b0e5d84..92670f5d3 100644
--- a/src/bin/e_auth.c
+++ b/src/bin/e_auth.c
@@ -6,14 +6,17 @@ e_auth_begin(char *passwd)
char buf[PATH_MAX], *p;
Ecore_Exe *exe = NULL;
int ret = 0;
+   size_t pwlen;
 
-   if (strlen(passwd) == 0) goto out;
+   pwlen = strlen(passwd);
+   if (pwlen == 0) goto out;
 
-   snprintf(buf, sizeof(buf), "%s/enlightenment/utils/enlightenment_ckpa

[EGIT] [website/www-content] master 01/01: Wiki page hello-world-gui.md changed with summary [Fixed examples to use latest API] by Andre Vallestero

2019-10-07 Thread Andre Vallestero
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=71a0c2baf05f1bcf72c22fe730044c8de94f1ade

commit 71a0c2baf05f1bcf72c22fe730044c8de94f1ade
Author: Andre Vallestero 
Date:   Mon Oct 7 15:32:53 2019 -0700

Wiki page hello-world-gui.md changed with summary [Fixed examples to use 
latest API] by Andre Vallestero
---
 pages/develop/tutorials/c/hello-world-gui.md.txt | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pages/develop/tutorials/c/hello-world-gui.md.txt 
b/pages/develop/tutorials/c/hello-world-gui.md.txt
index ca0ba5cce..5f3ee7c74 100644
--- a/pages/develop/tutorials/c/hello-world-gui.md.txt
+++ b/pages/develop/tutorials/c/hello-world-gui.md.txt
@@ -102,7 +102,7 @@ So far ``_gui_setup`` is empty. Create a window by adding 
the following lines wi
Eo *win;
 
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
- efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+ efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
  efl_text_set(efl_added, "Hello World"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 [...]
@@ -132,7 +132,7 @@ _gui_setup()
Eo *win;
 
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
- efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+ efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
  efl_text_set(efl_added, "Hello World"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 }
@@ -218,7 +218,7 @@ _gui_setup()
Eo *win, *box;
 
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
- efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+ efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
  efl_text_set(efl_added, "Hello World"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
  
@@ -366,7 +366,7 @@ _gui_setup()
Eo *win, *box;
 
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
- efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
+ efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
  efl_text_set(efl_added, "Hello World"),
  efl_ui_win_autodel_set(efl_added, EINA_TRUE));
 

-- 




[EGIT] [core/efl] master 01/01: Pyolian: implement some missing eolian functions

2019-10-07 Thread Davide Andreoli
davemds pushed a commit to branch master.

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

commit 4457a93ae51c62ae50b73090d29291ce6a3e8e77
Author: Dave Andreoli 
Date:   Mon Oct 7 22:38:04 2019 +0200

Pyolian: implement some missing eolian functions

with tests
---
 src/scripts/pyolian/eolian.py  | 41 ++
 src/scripts/pyolian/eolian_lib.py  | 34 ++-
 src/scripts/pyolian/test_eolian.py | 20 +++
 3 files changed, 94 insertions(+), 1 deletion(-)

diff --git a/src/scripts/pyolian/eolian.py b/src/scripts/pyolian/eolian.py
index 70496debc0..c4425e37df 100644
--- a/src/scripts/pyolian/eolian.py
+++ b/src/scripts/pyolian/eolian.py
@@ -36,6 +36,10 @@ except ImportError:
 _already_halted = False
 
 
+# This is the same as the EOLIAN_FILE_FORMAT_VERSION macro
+file_format_version = lib.eolian_file_format_version_get()
+
+
 #  Eolian Enums  ##
 class Eolian_Object_Type(IntEnum):
 UNKNOWN = 0
@@ -352,11 +356,19 @@ class Eolian_Unit(EolianBaseObject):
 def file(self):
 return _str_to_py(lib.eolian_unit_file_get(self))
 
+@cached_property
+def file_path(self):
+return _str_to_py(lib.eolian_unit_file_path_get(self))
+
 @cached_property
 def state(self):
 c_state = lib.eolian_unit_state_get(self)
 return Eolian_State(c_state) if c_state else None
 
+@cached_property
+def version(self):
+return lib.eolian_unit_version_get(self)
+
 @property
 def objects(self):
 return Iterator(Object, lib.eolian_unit_objects_get(self))
@@ -504,6 +516,9 @@ class Eolian_State(Eolian_Unit):
 return Iterator(Typedecl,
 lib.eolian_state_enums_by_file_get(self, 
_str_to_bytes(file_name)))
 
+def state_check(self):
+return bool(lib.eolian_state_check(self))
+
 
 #  Namespace Utility Class  ###
 
@@ -616,6 +631,10 @@ class Object(EolianBaseObject):
 def name(self):
 return _str_to_py(lib.eolian_object_name_get(self))
 
+@cached_property
+def c_name(self):
+return _str_to_py(lib.eolian_object_c_name_get(self))
+
 @cached_property
 def short_name(self):
 return _str_to_py(lib.eolian_object_short_name_get(self))
@@ -819,6 +838,11 @@ class Event(Object):
 c_type = lib.eolian_event_type_get(self)
 return Type(c_type) if c_type else None
 
+@cached_property
+def class_(self):
+c_cls = lib.eolian_event_class_get(self)
+return Class(c_cls) if c_cls else None
+
 @cached_property
 def documentation(self):
 c_doc = lib.eolian_event_documentation_get(self)
@@ -935,6 +959,12 @@ class Function(Object):
 c_type = lib.eolian_function_return_type_get(self, ftype)
 return Type(c_type) if c_type else None
 
+def return_c_type_get(self, ftype):
+s = lib.eolian_function_return_c_type_get(self, ftype)
+ret = _str_to_py(s)
+lib.eina_stringshare_del(c_void_p(s))
+return ret
+
 def return_default_value(self, ftype):
 c_expr = lib.eolian_function_return_default_value_get(self._obj, ftype)
 return Expression(c_expr) if c_expr else None
@@ -1006,6 +1036,12 @@ class Function_Parameter(Object):
 c_expr = lib.eolian_parameter_default_value_get(self)
 return Expression(c_expr) if c_expr else None
 
+def c_type_get(self, as_return=False):
+s = lib.eolian_parameter_c_type_get(self, as_return)
+ret = _str_to_py(s)
+lib.eina_stringshare_del(c_void_p(s))
+return ret
+
 
 class Implement(Object):
 def __repr__(self):
@@ -1021,6 +1057,11 @@ class Implement(Object):
 c_cls = lib.eolian_implement_class_get(self)
 return Class(c_cls) if c_cls else None
 
+@cached_property
+def implementing_class(self):
+c_cls = lib.eolian_implement_implementing_class_get(self)
+return Class(c_cls) if c_cls else None
+
 @cached_property
 def function(self):
 c_func = lib.eolian_implement_function_get(self, None)
diff --git a/src/scripts/pyolian/eolian_lib.py 
b/src/scripts/pyolian/eolian_lib.py
index 10098bf9b3..3e9c89111e 100644
--- a/src/scripts/pyolian/eolian_lib.py
+++ b/src/scripts/pyolian/eolian_lib.py
@@ -93,6 +93,10 @@ lib.eolian_state_all_eo_files_parse.restype = c_bool
 lib.eolian_state_all_eot_files_parse.argtypes = (c_void_p,)
 lib.eolian_state_all_eot_files_parse.restype = c_bool
 
+# EAPI Eina_Bool eolian_state_check(const Eolian_State *state);
+lib.eolian_state_check.argtypes = (c_void_p,)
+lib.eolian_state_check.restype = c_bool
+
 # EAPI const Eolian_Unit *eolian_state_unit_by_file_get(const Eolian_State 
*state, const char *file_name);
 lib.eolian_state_unit_by_file_get.argtypes = (c_void_p, c_char_p)
 lib.eolian_state_unit_by_file_get.

[EGIT] [core/efl] master 01/02: Pyolian gendoc: use some aux eolian functions to simplify templates

2019-10-07 Thread Davide Andreoli
davemds pushed a commit to branch master.

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

commit 70eb1c7b1759396d45d1bee65462d1eb37204e01
Author: Dave Andreoli 
Date:   Mon Oct 7 20:32:05 2019 +0200

Pyolian gendoc: use some aux eolian functions to simplify templates
---
 src/scripts/gendoc/doc_macros.include | 30 ++
 src/scripts/pyolian/eolian.py | 15 ---
 src/scripts/pyolian/eolian_lib.py | 14 ++
 src/scripts/pyolian/test_eolian.py|  8 
 4 files changed, 40 insertions(+), 27 deletions(-)

diff --git a/src/scripts/gendoc/doc_macros.include 
b/src/scripts/gendoc/doc_macros.include
index 877b7c67bf..1527e09f43 100644
--- a/src/scripts/gendoc/doc_macros.include
+++ b/src/scripts/gendoc/doc_macros.include
@@ -7,14 +7,8 @@ ${UNTOKENIZE(tokens=obj.summary_tokens)}$#!

   
 
${UNTOKENIZE(tokens=obj.documentation_get(obj.function.type).summary_tokens)}$#!
-  
- 
-
-   
-${UNTOKENIZE(tokens=parent_impl.documentation_get(parent_impl.function.type).summary_tokens)}$#!
-   
-
- 
+  
+${UNTOKENIZE(tokens=obj.documentation_fallback.summary_tokens)}$#!
   

 ${UNTOKENIZE(tokens=obj.documentation.summary_tokens)}$#!
@@ -31,14 +25,8 @@ ${UNTOKENIZE(tokens=obj.description_tokens)}$#!

   
 
${UNTOKENIZE(tokens=obj.documentation_get(obj.function.type).description_tokens)}$#!
-  
- 
-
-   
-${UNTOKENIZE(tokens=parent_impl.documentation_get(parent_impl.function.type).description_tokens)}$#!
-   
-
- 
+  
+${UNTOKENIZE(tokens=obj.documentation_fallback.description_tokens)}$#!
   

 ${UNTOKENIZE(tokens=obj.documentation.description_tokens)}$#!
@@ -55,14 +43,8 @@ ${UNTOKENIZE(tokens=obj.documentation.description_tokens)}$#!

   
 //Since ${obj.documentation_get(obj.function.type).since}$//
-  
- 
-
-   
-//Since ${parent_impl.documentation_get(parent_impl.function.type).since}$//
-   
-
- 
+  
+//Since ${obj.documentation_fallback.since}$//
   

 //Since ${obj.documentation.since}$//
diff --git a/src/scripts/pyolian/eolian.py b/src/scripts/pyolian/eolian.py
index 58c3105e03..70496debc0 100644
--- a/src/scripts/pyolian/eolian.py
+++ b/src/scripts/pyolian/eolian.py
@@ -1011,6 +1011,11 @@ class Implement(Object):
 def __repr__(self):
 return "".format(self)
 
+@cached_property
+def parent(self):
+c_impl = lib.eolian_aux_implement_parent_get(self)
+return Implement(c_impl) if c_impl else None
+
 @cached_property
 def class_(self):
 c_cls = lib.eolian_implement_class_get(self)
@@ -1022,10 +1027,14 @@ class Implement(Object):
 return Function(c_func) if c_func else None
 
 def documentation_get(self, ftype=Eolian_Function_Type.METHOD):
-# something strange in this eolian api :/  (see 'documentation' 
property
-c_doc = lib.eolian_implement_documentation_get(self, ftype)
+# c_doc = lib.eolian_implement_documentation_get(self, ftype)
+c_doc = lib.eolian_aux_implement_documentation_get(self, ftype)
+return Documentation(c_doc) if c_doc else None
+
+@cached_property
+def documentation_fallback(self):
+c_doc = lib.eolian_aux_implement_documentation_fallback_get(self)
 return Documentation(c_doc) if c_doc else None
-# TODO implement util properties for documentation_get
 
 def is_auto(self, ftype=Eolian_Function_Type.METHOD):
 return bool(lib.eolian_implement_is_auto(self, ftype))
diff --git a/src/scripts/pyolian/eolian_lib.py 
b/src/scripts/pyolian/eolian_lib.py
index e73c37e1db..10098bf9b3 100644
--- a/src/scripts/pyolian/eolian_lib.py
+++ b/src/scripts/pyolian/eolian_lib.py
@@ -706,3 +706,17 @@ lib.eolian_error_documentation_get.restype = c_void_p
 # EAPI Eina_Bool eolian_error_is_extern(const Eolian_Error *err);
 lib.eolian_error_is_extern.argtypes = (c_void_p,)
 lib.eolian_error_is_extern.restype = c_bool
+
+
+#  Eolian Aux  
+# EAPI const Eolian_Implement *eolian_aux_implement_parent_get(const 
Eolian_Implement *impl);
+lib.eolian_aux_implement_parent_get.argtypes = (c_void_p,)
+lib.eolian_aux_implement_parent_get.restype = c_void_p
+
+# EAPI const Eolian_Documentation 
*eolian_aux_implement_documentation_get(const Eolian_Implement *impl, 
Eolian_Function_Type ftype);
+lib.eolian_aux_implement_documentation_get.argtypes = (c_void_p, c_int)
+lib.eolian_aux_implement_documentation_get.restype = c_void_p
+
+# EAPI const Eolian_Documentation 
*eolian_aux_implement_documentation_fallback_get(const Eolian_Implement *impl);
+lib.eolian_aux_implement_documentation_fallback_get.argtypes = (c_void_p,)
+lib.eolian_aux_implement_documentation_fallback_get.res

[EGIT] [core/efl] master 02/02: Pyolian gendoc: make link to events actually work

2019-10-07 Thread Davide Andreoli
davemds pushed a commit to branch master.

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

commit bc59a9c0a7d5f636a8461e4ca1be852fc06270b0
Author: Dave Andreoli 
Date:   Mon Oct 7 21:17:10 2019 +0200

Pyolian gendoc: make link to events actually work
---
 src/scripts/gendoc/doc_class.template | 2 +-
 src/scripts/gendoc/doc_macros.include | 9 +
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/scripts/gendoc/doc_class.template 
b/src/scripts/gendoc/doc_class.template
index 04910d619d..9c02ebc2b7 100644
--- a/src/scripts/gendoc/doc_class.template
+++ b/src/scripts/gendoc/doc_class.template
@@ -98,7 +98,7 @@ No extensions defined in this class.
   
 ^ Local implemented ^^ event info ^
   
-| ''${ev.name}$'' | ${BEST_SUMMARY(obj=ev)}$ ${OBJECT_SCOPE(obj=ev)}$ 
${EVENT_TAGS}$| ${TYPE_LINK(type=ev.type) if ev.type else 'None'}$ |
+| {{anchor:event_${ev.short_name.lower().replace(',','_')}$}}''${ev.name}$'' | 
${BEST_SUMMARY(obj=ev)}$ ${OBJECT_SCOPE(obj=ev)}$ ${EVENT_TAGS}$| 
${TYPE_LINK(type=ev.type) if ev.type else 'None'}$ |
 
 
   
diff --git a/src/scripts/gendoc/doc_macros.include 
b/src/scripts/gendoc/doc_macros.include
index 1527e09f43..6bb07af339 100644
--- a/src/scripts/gendoc/doc_macros.include
+++ b/src/scripts/gendoc/doc_macros.include
@@ -66,8 +66,10 @@ 
${CLS_LINK(cls=token.ref_obj)}$.${FUNC_LINK(func=token.ref_attr)}$#!
 ${TYPEDECL_LINK(typedecl=token.ref_obj)}$#!
 
 ${CLS_LINK(cls=token.ref_obj)}$#!
+
+${EVENT_LINK(cls=token.ref_obj, ev=token.ref_attr)}$#!
 
-**TODO REF ${token.ref_type}$**$#!
+**TODO REF ${token.ref_type}$** #!
 
  
 ''${token.text}$''#!
@@ -121,13 +123,12 @@ interface#!
 #!  EVENT_LINK(cls, ev)  
###
 
#!##
 
-[[:develop:api#!
+''[[:develop:api#!

 :${n.lower()}$#!

 :${cls.short_name.lower()}$#!
-:event#!
-:${ev.short_name.lower().replace(',','_')}$|${ev.name}$]]
+#event_${ev.short_name.lower().replace(',','_')}$|${ev.name}$]]''
 
 
#!##
 #!  TYPEDECL_LINK(typedecl)  
###

-- 




[EGIT] [core/efl] master 01/01: Pyolian gendoc: add ability to generate only the stable API

2019-10-07 Thread Davide Andreoli
davemds pushed a commit to branch master.

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

commit 3cdb87990aa92af0a395d70d04d608f49f76eb7f
Author: Dave Andreoli 
Date:   Mon Oct 7 19:38:50 2019 +0200

Pyolian gendoc: add ability to generate only the stable API

gendoc.py --exclude-beta

generate the docs excluding all the classes/types/etc in beta state,
a bit hackish but do the job. There are some broken links around that
refer to objects in beta state that are (correctly) not generated,
nothing we can do to fix this.
---
 src/lib/eolian/Eolian_Aux.h   |  2 +-
 src/scripts/gendoc/gendoc.py  | 71 ---
 src/scripts/pyolian/eolian.py |  4 +++
 3 files changed, 65 insertions(+), 12 deletions(-)

diff --git a/src/lib/eolian/Eolian_Aux.h b/src/lib/eolian/Eolian_Aux.h
index a3c90fe744..3c025ccd6a 100644
--- a/src/lib/eolian/Eolian_Aux.h
+++ b/src/lib/eolian/Eolian_Aux.h
@@ -134,7 +134,7 @@ EAPI Eina_List 
*eolian_aux_function_all_implements_get(const Eolian_Function *fu
 EAPI const Eolian_Implement *eolian_aux_implement_parent_get(const 
Eolian_Implement *impl);
 
 /**
- * @brief Get documentation for an implementaiton.
+ * @brief Get documentation for an implementation.
  *
  * This first checks if the implementation has documentation for the given
  * type. If so, it is returned; if not, parent implementations as specified
diff --git a/src/scripts/gendoc/gendoc.py b/src/scripts/gendoc/gendoc.py
index bee5161f0b..b1108b71fd 100755
--- a/src/scripts/gendoc/gendoc.py
+++ b/src/scripts/gendoc/gendoc.py
@@ -35,6 +35,8 @@ parser.add_argument('--root-path', '-r', metavar='FOLDER', 
default='dokuwiki',
  'default to: "./dokuwiki"')
 parser.add_argument('--verbose', '-v', action='store_true',
 help='print a line for each rendered file')
+parser.add_argument('--exclude-beta', '-e', action='store_true',
+help='do not generate docs for class in beta state')
 parser.add_argument('--namespace', '-n', metavar='ROOT', default='Efl',
 help='root namespace of the docs. (default to "Efl")')
 _choices = ['start', 'classes', 'enums', 'structs', 'aliases']
@@ -78,9 +80,52 @@ def page_path_for_object(obj):
 return os.path.join(args.root_path, *path, output_filename)
 
 
+class BetaNamespaceWrapper(eolian.Namespace):
+""" A Namespace wrapper that hide objects marked as beta to the template 
"""
+def __init__(self, eolian_ns):
+super(BetaNamespaceWrapper, self).__init__(eolian_ns.unit, 
eolian_ns.name)
+self._ns = eolian_ns
+
+@property
+def sub_namespaces(self):
+return [BetaNamespaceWrapper(ns) for ns in self._ns.sub_namespaces]
+
+@property
+def classes(self):
+return [c for c in self._ns.classes if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def regulars(self):
+return [c for c in self._ns.regulars if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def abstracts(self):
+return [c for c in self._ns.abstracts if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def mixins(self):
+return [c for c in self._ns.mixins if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def interfaces(self):
+return [c for c in self._ns.interfaces if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def aliases(self):
+return [c for c in self._ns.aliases if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def structs(self):
+return [c for c in self._ns.structs if not (args.exclude_beta and 
c.is_beta)]
+
+@property
+def enums(self):
+return [c for c in self._ns.enums if not (args.exclude_beta and 
c.is_beta)]
+
+
 # render a (temporary) page for analizying the namespaces hierarchy
 t = Template('namespaces.template')
-nspaces = [ns for ns in eolian_db.all_namespaces
+nspaces = [BetaNamespaceWrapper(ns) for ns in eolian_db.all_namespaces
if ns.name.startswith(args.namespace)]
 
 tot_classes = tot_regulars = tot_abstracts = tot_mixins = tot_ifaces = 0
@@ -113,7 +158,7 @@ totals = [
 ('Aliases', tot_aliases),
 ]
 
-root_ns = eolian_db.namespace_get_by_name(args.namespace)
+root_ns = BetaNamespaceWrapper(eolian_db.namespace_get_by_name(args.namespace))
 
 output_file = os.path.join(args.root_path, 'data', 'pages', 'develop', 'api', 
'namespaces.txt')
 t.render(output_file, args.verbose, root_ns=root_ns, totals=totals)
@@ -123,7 +168,7 @@ t.render(output_file, args.verbose, root_ns=root_ns, 
totals=totals)
 if args.step in ('start', None):
 t = Template('doc_start.template')
 
-nspaces = [ns for ns in eolian_db.all_namespaces
+nspaces = [BetaNamespaceWrapper(ns) for ns in eolian_db.all_namespaces
if ns.name.startswith(args.namespace)]
 
 output_file = os.path.join(args.root_path, 'data', 'pages', 'develop', 
'ap

[EGIT] [core/efl] master 01/03: ci: fix return value warning in test build code

2019-10-07 Thread Mike Blumenkrantz
xartigas pushed a commit to branch master.

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

commit b3cd430b0265c1ba7d46fea3f9211b5fc1490aa1
Author: Mike Blumenkrantz 
Date:   Mon Oct 7 18:40:09 2019 +0200

ci: fix return value warning in test build code

Summary: this is a void function

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10272
---
 .ci/example/src/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.ci/example/src/main.c b/.ci/example/src/main.c
index 1d1230e496..61751a16a7 100644
--- a/.ci/example/src/main.c
+++ b/.ci/example/src/main.c
@@ -6,6 +6,6 @@
 EAPI_MAIN void
 efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
 {
-   return 0;
+   return;
 }
 EFL_MAIN()

-- 




[EGIT] [core/efl] master 02/03: efl_ui/win: fix max size hint eval

2019-10-07 Thread Mike Blumenkrantz
xartigas pushed a commit to branch master.

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

commit eff717eb260e7bcac7ff4283942a239d0a4aa3f8
Author: Mike Blumenkrantz 
Date:   Mon Oct 7 18:40:10 2019 +0200

efl_ui/win: fix max size hint eval

Summary:
win objects should never permit the max size on any axis to be 0, otherwise
the window will be clamped to 1px on the given axis

fixes T8304
@fix
Depends on D10272

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8304

Differential Revision: https://phab.enlightenment.org/D10296
---
 src/lib/elementary/efl_ui_win.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 2461e1e9e6..8ce3e59a81 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -3715,9 +3715,9 @@ _elm_win_resize_objects_eval(Evas_Object *obj, Eina_Bool 
force_resize)
  wx = wy = 1;
 
if (!wx) maxw = minw;
-   else if (maxw < 1) maxw = 32767;
+   if (maxw < 1) maxw = 32767;
if (!wy) maxh = minh;
-   else if (maxh < 1) maxh = 32767;
+   if (maxh < 1) maxh = 32767;
if (maxw < minw) maxw = minw;
if (maxh < minh) maxh = minh;
if (maxw > 32767) maxw = 32767;

-- 




[EGIT] [core/efl] master 03/03: efl_ui/win: initialize max size hints to -1 during constructor

2019-10-07 Thread Mike Blumenkrantz
xartigas pushed a commit to branch master.

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

commit 4f947925a1d51402d73aa252913eb6a43c0e7dce
Author: Mike Blumenkrantz 
Date:   Mon Oct 7 18:49:19 2019 +0200

efl_ui/win: initialize max size hints to -1 during constructor

Summary:
this is just a cosmetic change for ease of debugging since it will already
be clamped to max size during eval if it remains unchanged

for max size hints a value of -1 means that the hint is unset but a value
of 0 is technically valid depending on the implementation
Depends on D10296

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10297
---
 src/lib/elementary/efl_ui_win.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 8ce3e59a81..36ec921f61 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -5955,6 +5955,7 @@ _efl_ui_win_efl_object_constructor(Eo *obj, 
Efl_Ui_Win_Data *pd)
pd->obj = obj;
pd->provider = efl_add_ref(EFL_UI_FOCUS_PARENT_PROVIDER_STANDARD_CLASS, 
NULL);
pd->profile.available = eina_array_new(4);
+   pd->max_w = pd->max_h = -1;
 
// For bindings: if no parent, allow simple unref
if (!efl_parent_get(obj))

-- 




[EGIT] [core/efl] master 01/01: docs: Remove redundant documentation

2019-10-07 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 5a447ed3273b6b80d9e48aea3cddfcafa1cb8c33
Author: Xavi Artigas 
Date:   Mon Oct 7 16:40:50 2019 +0200

docs: Remove redundant documentation

Lots of EO files had the same information at the property and set/get level.
Removed the redundant bits, and moved to the property level the common ones.
Set and Get documentation should be used only to clarify setter-only or
getter-only behavior.
---
 src/lib/ecore/efl_loop_consumer.eo |  5 ++-
 src/lib/edje/efl_canvas_layout_part.eo |  1 -
 src/lib/edje/efl_layout_calc.eo|  2 --
 src/lib/edje/efl_layout_group.eo   |  2 +-
 src/lib/efl/interfaces/efl_gfx_filter.eo   |  1 -
 src/lib/efl/interfaces/efl_gfx_hint.eo |  1 -
 .../interfaces/efl_gfx_image_load_controller.eo| 20 ---
 src/lib/efl/interfaces/efl_model.eo|  2 +-
 src/lib/efl/interfaces/efl_ui_drag.eo  | 12 ---
 src/lib/efl/interfaces/efl_ui_i18n.eo  |  2 --
 src/lib/efl/interfaces/efl_ui_menu.eo  |  8 ++---
 src/lib/elementary/efl_access_text.eo  |  3 +-
 src/lib/elementary/efl_access_value.eo |  3 +-
 src/lib/elementary/efl_ui_calendar.eo  | 42 +-
 .../elementary/efl_ui_internal_text_scroller.eo|  4 +--
 src/lib/elementary/efl_ui_theme.eo |  1 -
 src/lib/elementary/efl_ui_view_model.eo|  2 --
 src/lib/elementary/efl_ui_widget.eo| 34 +-
 src/lib/elementary/efl_ui_win.eo   | 21 ++-
 src/lib/evas/canvas/efl_canvas_group.eo|  1 -
 20 files changed, 45 insertions(+), 122 deletions(-)

diff --git a/src/lib/ecore/efl_loop_consumer.eo 
b/src/lib/ecore/efl_loop_consumer.eo
index 35053265ea..e384240c0b 100644
--- a/src/lib/ecore/efl_loop_consumer.eo
+++ b/src/lib/ecore/efl_loop_consumer.eo
@@ -9,12 +9,11 @@ abstract Efl.Loop_Consumer extends Efl.Object
c_prefix: efl_loop;
methods {
   @property loop {
- [[The loop to which this object belongs to.]]
+ [[Handle of the loop this object belongs to.]]
  get {
-[[Gets a handle to the loop.]]
  }
  values {
-loop: Efl.Loop; [[Efl loop]]
+loop: Efl.Loop; [[Efl loop.]]
  }
   }
   future_resolved @const {
diff --git a/src/lib/edje/efl_canvas_layout_part.eo 
b/src/lib/edje/efl_canvas_layout_part.eo
index eed8aaf0de..9346cc68d5 100644
--- a/src/lib/edje/efl_canvas_layout_part.eo
+++ b/src/lib/edje/efl_canvas_layout_part.eo
@@ -27,7 +27,6 @@ class @beta Efl.Canvas.Layout_Part extends Efl.Object 
implements Efl.Gfx.Entity,
   @property part_type {
  [[Type of this part in the layout.]]
  get {
-[[Returns the type of the part.]]
  }
  values {
 type: 
Efl.Canvas.Layout_Part_Type(Efl.Canvas.Layout_Part_Type.none);
diff --git a/src/lib/edje/efl_layout_calc.eo b/src/lib/edje/efl_layout_calc.eo
index 0417629b0e..1f77db64fc 100644
--- a/src/lib/edje/efl_layout_calc.eo
+++ b/src/lib/edje/efl_layout_calc.eo
@@ -26,10 +26,8 @@ interface Efl.Layout.Calc
event.
  ]]
  set {
-[[Enable or disable auto-update of size hints.]]
  }
  get {
-[[Whether this object updates its size hints automatically.]]
  }
  values {
 update: bool(false); [[Whether or not update the size hints.]]
diff --git a/src/lib/edje/efl_layout_group.eo b/src/lib/edje/efl_layout_group.eo
index df1d9dc5ac..77113abc81 100644
--- a/src/lib/edje/efl_layout_group.eo
+++ b/src/lib/edje/efl_layout_group.eo
@@ -111,7 +111,7 @@ interface Efl.Layout.Group
 
See also @Efl.Canvas.Layout_Part.part_type.
  ]]
- get { [[Returns $true if the part exists in the EDC group.]] }
+ get {}
  keys {
 part: string; [[The part name to check.]]
  }
diff --git a/src/lib/efl/interfaces/efl_gfx_filter.eo 
b/src/lib/efl/interfaces/efl_gfx_filter.eo
index ed74c087fd..ecb306f5f3 100644
--- a/src/lib/efl/interfaces/efl_gfx_filter.eo
+++ b/src/lib/efl/interfaces/efl_gfx_filter.eo
@@ -59,7 +59,6 @@ interface @beta Efl.Gfx.Filter
by using the function 'padding_set' in the Lua program.
  ]]
  get {
-[[Gets the padding required to apply this filter.]]
  }
  values {
 l: int; [[Padding on the left]]
diff --git a/src/lib/efl/interfaces/efl_gfx_hint.eo 
b/src/lib/efl/interfaces/efl_gfx_hint.eo
index 5906b2523f..3511592ead 100644
--- a/src/lib/efl/interfaces/efl_gfx_hint.eo
+++ b/src/lib/efl/interfaces/efl_gfx_hint.eo
@@ -99,7 +99,6 @@ interface Efl.Gfx.Hint
 ]]
  }
  get {
-[[

[EGIT] [core/efl] master 09/09: eldbus: properly cleanup local variable during destruction.

2019-10-07 Thread Cedric BAIL
zmike pushed a commit to branch master.

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

commit 5cc9ea90c4a0381990e9fd961a99b74d0ce4fade
Author: Cedric BAIL 
Date:   Mon Oct 7 10:04:18 2019 -0400

eldbus: properly cleanup local variable during destruction.

Summary: Depends on D10288

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: zmike

Subscribers: ProhtMeyhet, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10289
---
 src/lib/eldbus/eldbus_model.c  |  9 +++--
 src/lib/eldbus/eldbus_signal_handler.c | 10 +-
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/src/lib/eldbus/eldbus_model.c b/src/lib/eldbus/eldbus_model.c
index 3fc4e66fcb..ee86ff54a5 100644
--- a/src/lib/eldbus/eldbus_model.c
+++ b/src/lib/eldbus/eldbus_model.c
@@ -54,8 +54,11 @@ _eldbus_model_connection_set(Eo *obj EINA_UNUSED,
  Eldbus_Model_Data *pd,
  Eldbus_Connection *dbus)
 {
+   Eldbus_Connection *tounref = pd->connection;
+
eldbus_connection_ref(dbus);
-   if (pd->connection) eldbus_connection_unref(pd->connection);
+   pd->connection = NULL;
+   if (tounref) eldbus_connection_unref(tounref);
pd->connection = dbus;
 }
 
@@ -77,8 +80,10 @@ _eldbus_model_efl_object_finalize(Eo *obj, Eldbus_Model_Data 
*pd)
 static void
 _eldbus_model_efl_object_invalidate(Eo *obj, Eldbus_Model_Data *pd)
 {
-   if (pd->connection) eldbus_connection_unref(pd->connection);
+   Eldbus_Connection *connection = pd->connection;
+
pd->connection = NULL;
+   if (connection) eldbus_connection_unref(connection);
 
efl_invalidate(efl_super(obj, MY_CLASS));
 }
diff --git a/src/lib/eldbus/eldbus_signal_handler.c 
b/src/lib/eldbus/eldbus_signal_handler.c
index dba557bbc1..3ed7cb3a71 100644
--- a/src/lib/eldbus/eldbus_signal_handler.c
+++ b/src/lib/eldbus/eldbus_signal_handler.c
@@ -241,14 +241,14 @@ _eldbus_signal_handler_del(Eldbus_Signal_Handler *handler)
 
/* after cbs_free dispatch these shouldn't exit, error if they do */
 
-   eina_stringshare_del(handler->sender);
-   eina_stringshare_del(handler->path);
-   eina_stringshare_del(handler->interface);
-   eina_stringshare_del(handler->member);
+   eina_stringshare_replace(&handler->sender, NULL);
+   eina_stringshare_replace(&handler->path, NULL);
+   eina_stringshare_replace(&handler->interface, NULL);
+   eina_stringshare_replace(&handler->member, NULL);
eina_strbuf_free(handler->match);
EINA_INLIST_FOREACH_SAFE(handler->args, list, arg)
  {
-eina_stringshare_del(arg->value);
+eina_stringshare_replace(&arg->value, NULL);
 free(arg);
  }
eina_inlist_sorted_state_free(handler->state_args);

-- 




[EGIT] [core/efl] master 02/09: efl_ui_datepicker: no need to delete the manager here

2019-10-07 Thread Marcel Hollerbach
zmike pushed a commit to branch master.

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

commit d52e77dcb7de133e951c37c1d010399d0308fb06
Author: Marcel Hollerbach 
Date:   Mon Oct 7 09:38:05 2019 -0400

efl_ui_datepicker: no need to delete the manager here

Summary:
it is already picked up when datetime is invalidated, due to the correct
parent beeing set.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10291
---
 src/lib/elementary/efl_ui_datepicker.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_datepicker.c 
b/src/lib/elementary/efl_ui_datepicker.c
index 8a6ee63985..c52c43437f 100644
--- a/src/lib/elementary/efl_ui_datepicker.c
+++ b/src/lib/elementary/efl_ui_datepicker.c
@@ -247,9 +247,8 @@ _efl_ui_datepicker_efl_object_constructor(Eo *obj, 
Efl_Ui_Datepicker_Data *pd)
 }
 
 EOLIAN static void
-_efl_ui_datepicker_efl_object_destructor(Eo *obj, Efl_Ui_Datepicker_Data *pd)
+_efl_ui_datepicker_efl_object_destructor(Eo *obj, Efl_Ui_Datepicker_Data *pd 
EINA_UNUSED)
 {
-   efl_del(pd->dt_manager);
efl_destructor(efl_super(obj, MY_CLASS));
 }
 

-- 




[EGIT] [core/efl] master 06/09: eldbus: properly call parent finalize during creation of Eldbus.Model_Method.

2019-10-07 Thread Cedric BAIL
zmike pushed a commit to branch master.

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

commit e0187ce2ec409ceabf93664a0c6a4105676b2e66
Author: Cedric BAIL 
Date:   Mon Oct 7 10:03:58 2019 -0400

eldbus: properly call parent finalize during creation of 
Eldbus.Model_Method.

Summary: @fix

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10286
---
 src/lib/eldbus/eldbus_model_method.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eldbus/eldbus_model_method.c 
b/src/lib/eldbus/eldbus_model_method.c
index dbdbdde831..fe18a4aaa9 100644
--- a/src/lib/eldbus/eldbus_model_method.c
+++ b/src/lib/eldbus/eldbus_model_method.c
@@ -37,7 +37,7 @@ _eldbus_model_method_efl_object_finalize(Eo *obj, 
Eldbus_Model_Method_Data *pd)
  pd->proxy,
  pd->method->name, 
pd->method->arguments);
 
-   return obj;
+   return efl_finalize(efl_super(obj, MY_CLASS));
 }
 
 static void

-- 




[EGIT] [core/efl] master 07/09: eldbus: Eldbus_Proxy require to handle self desctruction as refcounting doesn't fully protect.

2019-10-07 Thread Cedric BAIL
zmike pushed a commit to branch master.

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

commit 7f91f6280d103c2c5148276b438adf5bbdcf373d
Author: Cedric BAIL 
Date:   Mon Oct 7 10:04:05 2019 -0400

eldbus: Eldbus_Proxy require to handle self desctruction as refcounting 
doesn't fully protect.

Summary:
If the connection is destroyed before the proxy, the proxy will clear 
itself and self destroy.
Before that it will trigger the free callback to handle proper cleanup. 
Refcounting it doesn't
protect it from this self destruction scenario. So it is mandatory to 
always have a free callback
set on a proxy to handle its death properly.
Depends on D10286

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10287
---
 src/lib/eldbus/eldbus_model_arguments.c | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/lib/eldbus/eldbus_model_arguments.c 
b/src/lib/eldbus/eldbus_model_arguments.c
index ed6cbe2cce..ca0b6d68b4 100644
--- a/src/lib/eldbus/eldbus_model_arguments.c
+++ b/src/lib/eldbus/eldbus_model_arguments.c
@@ -39,6 +39,14 @@ _eldbus_model_arguments_efl_object_constructor(Eo *obj, 
Eldbus_Model_Arguments_D
return efl_constructor(efl_super(obj, MY_CLASS));
 }
 
+static void
+_cleanup_proxy_cb(void *data, const void *deadptr)
+{
+   Eldbus_Model_Arguments_Data *pd = data;
+
+   if (pd->proxy == deadptr) pd->proxy = NULL;
+}
+
 static Efl_Object *
 _eldbus_model_arguments_efl_object_finalize(Eo *obj, 
Eldbus_Model_Arguments_Data *pd)
 {
@@ -47,6 +55,8 @@ _eldbus_model_arguments_efl_object_finalize(Eo *obj, 
Eldbus_Model_Arguments_Data
  eldbus_model_connection_set(obj,
  
eldbus_object_connection_get(eldbus_proxy_object_get(pd->proxy)));
 
+   eldbus_proxy_free_cb_add(pd->proxy, _cleanup_proxy_cb, pd);
+
return efl_finalize(efl_super(obj, MY_CLASS));
 }
 
@@ -73,7 +83,12 @@ _eldbus_model_arguments_efl_object_destructor(Eo *obj, 
Eldbus_Model_Arguments_Da
eina_hash_free(pd->properties);
 
eina_stringshare_del(pd->name);
-   eldbus_proxy_unref(pd->proxy);
+   if (pd->proxy)
+ {
+eldbus_proxy_free_cb_del(pd->proxy, _cleanup_proxy_cb, pd);
+eldbus_proxy_unref(pd->proxy);
+pd->proxy = NULL;
+ }
 
efl_destructor(efl_super(obj, MY_CLASS));
 }

-- 




[EGIT] [core/efl] master 01/09: c: coverity: resource leaked when using realloc.

2019-10-07 Thread Bruno da Silva Belo
zmike pushed a commit to branch master.

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

commit f18a5b4389d1ed779998c9f07901fb49db28b279
Author: Bruno da Silva Belo 
Date:   Mon Oct 7 09:02:10 2019 -0400

c: coverity: resource leaked when using realloc.

Summary:
from https://en.cppreference.com/w/c/memory/realloc
```
On success, returns the pointer to the beginning of newly allocated memory.
To avoid a memory leak, the returned pointer must be deallocated with free()
or realloc(). The original pointer ptr is invalidated and any access to it
is undefined behavior (even if reallocation was in-place).

On failure, returns a null pointer. The original pointer ptr remains valid
and may need to be deallocated with free() or realloc(). ```
So a temporary to test if `realloc` failed
then use the original pointer to use `free`.
`CID1404749`
`CID1404741`

Reviewers: lauromoura, felipealmeida, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10284
---
 src/lib/elementary/efl_ui_caching_factory.c | 19 ---
 src/lib/elementary/efl_ui_widget_factory.c  | 17 +++--
 2 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/src/lib/elementary/efl_ui_caching_factory.c 
b/src/lib/elementary/efl_ui_caching_factory.c
index 7dbfc0aae9..5c714d99b8 100644
--- a/src/lib/elementary/efl_ui_caching_factory.c
+++ b/src/lib/elementary/efl_ui_caching_factory.c
@@ -201,15 +201,15 @@ _efl_ui_caching_factory_efl_ui_factory_create(Eo *obj,
   Efl_Ui_Caching_Factory_Data *pd,
   Eina_Iterator *models)
 {
-   Efl_Ui_Caching_Factory_Request *r;
-   Efl_Ui_Caching_Factory_Group_Request *gr;
+   Efl_Ui_Caching_Factory_Request *r = NULL;
+   Efl_Ui_Caching_Factory_Group_Request *gr = NULL;
Efl_Gfx_Entity *w = NULL;
-   Efl_Model *model;
-   Eina_Future *f;
+   Efl_Model *model = NULL;
+   Eina_Future *f = NULL;
 
if (pd->cache && pd->style && !pd->klass)
  {
-Eina_Future **all;
+Eina_Future **all = NULL;
 int count = 0;
 
 r = calloc(1, sizeof (Efl_Ui_Caching_Factory_Request));
@@ -228,8 +228,13 @@ _efl_ui_caching_factory_efl_ui_factory_create(Eo *obj,
 .success = 
_efl_ui_caching_factory_create_then,
 .data = r);
 
- all = realloc(all, (count + 1) * sizeof (Eina_Future *));
- if (!all) goto alloc_array_error;
+ Eina_Future **tmp = realloc(all, (count + 1) * sizeof 
(Eina_Future *));
+ if (!tmp)
+   {
+ free(all);
+ goto alloc_array_error;
+   }
+ all = tmp;
   }
 eina_iterator_free(models);
 
diff --git a/src/lib/elementary/efl_ui_widget_factory.c 
b/src/lib/elementary/efl_ui_widget_factory.c
index 13160af8e1..5ab9477a85 100644
--- a/src/lib/elementary/efl_ui_widget_factory.c
+++ b/src/lib/elementary/efl_ui_widget_factory.c
@@ -267,9 +267,9 @@ static Eina_Future *
 _efl_ui_widget_factory_efl_ui_factory_create(Eo *obj, 
Efl_Ui_Widget_Factory_Data *pd,
  Eina_Iterator *models)
 {
-   Efl_Ui_Widget_Factory_Request *r;
-   Eina_Future **f;
-   Efl_Model *model;
+   Efl_Ui_Widget_Factory_Request *r = NULL;
+   Eina_Future **f = NULL;
+   Efl_Model *model = NULL;
int count = 0;
 
if (!pd->klass)
@@ -277,7 +277,7 @@ _efl_ui_widget_factory_efl_ui_factory_create(Eo *obj, 
Efl_Ui_Widget_Factory_Data
 
if (!pd->style)
  {
-Efl_Ui_Widget *w;
+Efl_Ui_Widget *w = NULL;
 Eina_Value r;
 
 eina_value_array_setup(&r, EINA_VALUE_TYPE_OBJECT, 4);
@@ -309,8 +309,13 @@ _efl_ui_widget_factory_efl_ui_factory_create(Eo *obj, 
Efl_Ui_Widget_Factory_Data
  .success = 
_efl_ui_widget_factory_create_then,
  .free = 
_efl_ui_widget_factory_single_cleanup);
 
-f = realloc(f, (count + 1) * sizeof (Eina_Future *));
-if (!f) goto alloc_array_error;
+Eina_Future** tmp = realloc(f, (count + 1) * sizeof (Eina_Future *));
+if (!tmp)
+  {
+free(f);
+goto alloc_array_error;
+  }
+f = tmp;
  }
eina_iterator_free(models);
 

-- 




[EGIT] [core/efl] master 08/09: eldbus: connection are destroyed on invalidate, there is no point for any object to not cleanup on invalidate.

2019-10-07 Thread Cedric BAIL
zmike pushed a commit to branch master.

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

commit d28870daa7506bb73af4e92ee8b48c952f3d6aa6
Author: Cedric BAIL 
Date:   Mon Oct 7 10:04:12 2019 -0400

eldbus: connection are destroyed on invalidate, there is no point for any 
object to not cleanup on invalidate.

Summary:
This solve a bug when there is a change in order of destruction and you 
would expect the model to still work.
Depends on D10287

Reviewers: zmike, bu5hm4n, segfaultxavi, stefan_schmidt, jsuya

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10288
---
 src/lib/eldbus/eldbus_model_arguments.c  | 4 ++--
 src/lib/eldbus/eldbus_model_arguments.eo | 2 +-
 src/lib/eldbus/eldbus_model_signal.c | 4 ++--
 src/lib/eldbus/eldbus_model_signal.eo| 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/eldbus/eldbus_model_arguments.c 
b/src/lib/eldbus/eldbus_model_arguments.c
index ca0b6d68b4..817d896d0d 100644
--- a/src/lib/eldbus/eldbus_model_arguments.c
+++ b/src/lib/eldbus/eldbus_model_arguments.c
@@ -76,7 +76,7 @@ _eldbus_model_arguments_custom_constructor(Eo *obj 
EINA_UNUSED,
 }
 
 static void
-_eldbus_model_arguments_efl_object_destructor(Eo *obj, 
Eldbus_Model_Arguments_Data *pd)
+_eldbus_model_arguments_efl_object_invalidate(Eo *obj, 
Eldbus_Model_Arguments_Data *pd)
 {
_eldbus_model_arguments_unload(pd);
 
@@ -90,7 +90,7 @@ _eldbus_model_arguments_efl_object_destructor(Eo *obj, 
Eldbus_Model_Arguments_Da
 pd->proxy = NULL;
  }
 
-   efl_destructor(efl_super(obj, MY_CLASS));
+   efl_invalidate(efl_super(obj, MY_CLASS));
 }
 
 static Eina_Iterator *
diff --git a/src/lib/eldbus/eldbus_model_arguments.eo 
b/src/lib/eldbus/eldbus_model_arguments.eo
index 627ab680a7..15129041b1 100644
--- a/src/lib/eldbus/eldbus_model_arguments.eo
+++ b/src/lib/eldbus/eldbus_model_arguments.eo
@@ -25,7 +25,7 @@ class @beta Eldbus.Model.Arguments extends Eldbus.Model {
 implements {
 Efl.Object.constructor;
 Efl.Object.finalize;
-Efl.Object.destructor;
+Efl.Object.invalidate;
 Efl.Model.properties { get; }
 Efl.Model.property { set; get; }
 }
diff --git a/src/lib/eldbus/eldbus_model_signal.c 
b/src/lib/eldbus/eldbus_model_signal.c
index d1bb490195..5d05742870 100644
--- a/src/lib/eldbus/eldbus_model_signal.c
+++ b/src/lib/eldbus/eldbus_model_signal.c
@@ -43,11 +43,11 @@ _eldbus_model_signal_signal_constructor(Eo *obj EINA_UNUSED,
 }
 
 static void
-_eldbus_model_signal_efl_object_destructor(Eo *obj, Eldbus_Model_Signal_Data 
*pd)
+_eldbus_model_signal_efl_object_invalidate(Eo *obj, Eldbus_Model_Signal_Data 
*pd)
 {
_eldbus_model_signal_callback_del(pd);
 
-   efl_destructor(efl_super(obj, MY_CLASS));
+   efl_invalidate(efl_super(obj, MY_CLASS));
 }
 
 
diff --git a/src/lib/eldbus/eldbus_model_signal.eo 
b/src/lib/eldbus/eldbus_model_signal.eo
index 722784037f..c5b6f2224f 100644
--- a/src/lib/eldbus/eldbus_model_signal.eo
+++ b/src/lib/eldbus/eldbus_model_signal.eo
@@ -14,7 +14,7 @@ class @beta Eldbus.Model.Signal extends 
Eldbus.Model.Arguments {
 }
 implements {
 Efl.Object.constructor;
-Efl.Object.destructor;
+Efl.Object.invalidate;
 }
 constructors {
 .signal_constructor;

-- 




[EGIT] [core/efl] master 03/09: efl_ui_spec: introduce tests that ensure we are not leaking objects

2019-10-07 Thread Marcel Hollerbach
zmike pushed a commit to branch master.

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

commit b0ac1ec85f7290da7f8af7ddff30b3b501325ace
Author: Marcel Hollerbach 
Date:   Mon Oct 7 09:38:12 2019 -0400

efl_ui_spec: introduce tests that ensure we are not leaking objects

Summary:
with those two tests we are checking two things:
- Check that there is no left out canvas object after the widget is
invalidated but not deleted. For now this only deals with canvas
objects.
- Additionally this also ensures that ref;del;unref as well as simple
del is never ever going to end up in a error, even with children beeing
added.

This pretty much mirrors the tests for legacy in
0d48cb46d45184608afa298f0f719e35688f , except that these tests do
not check for evas parent contsruction vs. real widget parent
construction. Which is intendet, as none-legacy widgets do error out
when a not widget object is passed as parent.
Depends on D10291

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10292
---
 src/tests/elementary/spec/efl_test_basics.c   | 126 ++
 src/tests/elementary/spec/efl_ui_spec_suite.h |   1 +
 src/tests/elementary/spec/meson.build |   1 +
 3 files changed, 128 insertions(+)

diff --git a/src/tests/elementary/spec/efl_test_basics.c 
b/src/tests/elementary/spec/efl_test_basics.c
new file mode 100644
index 00..047e07d1d8
--- /dev/null
+++ b/src/tests/elementary/spec/efl_test_basics.c
@@ -0,0 +1,126 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include 
+#include "efl_ui_spec_suite.h"
+#include "suite_helpers.h"
+
+/* spec-meta-start
+  {"test-interface":"Efl.Ui.Widget",
+   "test-widgets": [
+ "Efl.Ui.Image",
+ "Efl.Ui.Image_Zoomable",
+ "Efl.Ui.Box",
+ "Efl.Ui.Clock",
+ "Efl.Ui.Layout",
+ "Efl.Ui.List_View",
+ "Efl.Ui.Tab_Bar",
+ "Efl.Ui.Tags",
+ "Efl.Ui.Panel",
+ "Efl.Ui.Scroller",
+ "Efl.Ui.Slider",
+ "Efl.Ui.Calendar",
+ "Efl.Ui.Check",
+ "Efl.Ui.Panes",
+ "Efl.Ui.Grid",
+ "Efl.Ui.List",
+ "Efl.Ui.Spin",
+ "Efl.Ui.Spin_Button",
+ "Efl.Ui.Spotlight.Container",
+ "Efl.Ui.Popup",
+ "Efl.Ui.Alert_Popup",
+ "Efl.Ui.Slider_Interval",
+ "Efl.Ui.Frame",
+ "Efl.Ui.Progressbar",
+ "Efl.Ui.Video",
+ "Efl.Ui.Navigation_Layout",
+ "Efl.Ui.Bg",
+ "Efl.Ui.Datepicker",
+ "Efl.Ui.Grid_Default_Item",
+ "Efl.Ui.List_Default_Item",
+ "Efl.Ui.List_Placeholder_Item",
+ "Efl.Ui.Tab_Page",
+ "Efl.Ui.Timepicker",
+ "Efl.Ui.Navigation_Bar",
+ "Efl.Ui.Relative_Layout",
+ "Efl.Ui.Animation_View",
+ "Efl.Ui.Table",
+ "Efl.Ui.Flip"
+ ],
+   "custom-mapping" : {
+  "Efl.Ui.Grid" : "EFL_UI_GRID_DEFAULT_ITEM_CLASS",
+  "Efl.Ui.List" : "EFL_UI_LIST_DEFAULT_ITEM_CLASS",
+  "Efl.Ui.Tab_Bar" : "EFL_UI_TAB_BAR_DEFAULT_ITEM_CLASS"
+}
+   }
+
+   spec-meta-end */
+
+EFL_START_TEST(no_leaking_canvas_object)
+{
+   Eina_List *not_invalidate = NULL;
+   Eina_Iterator *iter = eo_objects_iterator_new();
+   Eo *obj;
+
+   EINA_ITERATOR_FOREACH(iter, obj)
+ {
+if (!efl_alive_get(obj)) continue;
+if (!efl_isa(obj, EFL_CANVAS_OBJECT_CLASS)) continue;
+
+not_invalidate = eina_list_append(not_invalidate, obj);
+ }
+   eina_iterator_free(iter);
+
+   //now try to will those widgets
+   if (efl_isa(widget, EFL_PACK_LINEAR_INTERFACE))
+ {
+for (int i = 0; i < 30; ++i)
+  {
+ Efl_Ui_Widget *w = create_test_widget();
+ efl_pack_end(widget, w);
+  }
+ }
+   else if (efl_isa(widget, EFL_CONTENT_INTERFACE))
+ {
+efl_content_set(widget, create_test_widget());
+ }
+   else if (efl_isa(widget, EFL_TEXT_INTERFACE))
+ {
+efl_text_set(widget, "Test Things!");
+ }
+   //now reference things, and delete the widget again. This means, the widget 
will be invalidated.
+   efl_ref(widget);
+   efl_del(widget);
+   ck_assert_int_eq(efl_alive_get(widget), EINA_FALSE);
+   ck_assert_int_eq(efl_ref_count(widget), 1);
+   iter = eo_objects_iterator_new();
+
+   //now check if there are leaked objects from the widget
+   EINA_ITERATOR_FOREACH(iter, obj)
+ {
+if (!efl_alive_get(obj)) continue;
+if (!efl_isa(obj, EFL_CANVAS_OBJECT_CLASS)) continue;
+
+ck_assert_ptr_ne(eina_list_data_find(not_invalidate, obj), NULL);
+ 

[EGIT] [core/efl] master 04/09: efl_ui_image: fix backward compatibility issue

2019-10-07 Thread WooHyun Jung
zmike pushed a commit to branch master.

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

commit 5a684e0855ccdde5b6eedc9198d75fe8759aab84
Author: WooHyun Jung 
Date:   Mon Oct 7 09:38:14 2019 -0400

efl_ui_image: fix backward compatibility issue

Summary:
Previously, "anim" property was saved before checking
evas-image's "animated" stated. This patch just corrects
the issue.

Reviewers: zmike, bu5hm4n, segfaultxavi

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10293
---
 src/lib/elementary/efl_ui_image.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/lib/elementary/efl_ui_image.c 
b/src/lib/elementary/efl_ui_image.c
index 050f05e00f..b110e9d998 100644
--- a/src/lib/elementary/efl_ui_image.c
+++ b/src/lib/elementary/efl_ui_image.c
@@ -1749,6 +1749,9 @@ _efl_ui_image_animated_set_internal(Eo *obj, 
Efl_Ui_Image_Data *sd, Eina_Bool an
 return EINA_TRUE;
  }
sd->img = elm_image_object_get(obj);
+
+   if (elm_widget_is_legacy(obj)) sd->anim = anim; //legacy
+
if (!evas_object_image_animated_get(sd->img)) return EINA_FALSE;
sd->anim = anim;
 

-- 




[EGIT] [core/efl] master 05/09: efl_test_multi_selectable: ensure consistant state across mode switch

2019-10-07 Thread Marcel Hollerbach
zmike pushed a commit to branch master.

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

commit 427a93c47fb6f84766952d56b80393f096d441c3
Author: Marcel Hollerbach 
Date:   Mon Oct 7 09:38:25 2019 -0400

efl_test_multi_selectable: ensure consistant state across mode switch

Summary:
When we are in multi, and switch back to single or none, we should
ensure that the state is corrently. Same applies to single -> none.

Reviewers: segfaultxavi, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10277
---
 .../elementary/spec/efl_test_multi_selectable.c| 52 ++
 1 file changed, 52 insertions(+)

diff --git a/src/tests/elementary/spec/efl_test_multi_selectable.c 
b/src/tests/elementary/spec/efl_test_multi_selectable.c
index 8f05ba1467..edd445ac5f 100644
--- a/src/tests/elementary/spec/efl_test_multi_selectable.c
+++ b/src/tests/elementary/spec/efl_test_multi_selectable.c
@@ -236,6 +236,55 @@ EFL_START_TEST(range_select2)
 }
 EFL_END_TEST
 
+EFL_START_TEST(change_mode_from_multi_to_single)
+{
+   int sel = 0;
+
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_MULTI);
+   efl_ui_selectable_all_select(widget);
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_SINGLE);
+   for (int i = 0; i < efl_content_count(widget); ++i)
+ {
+if (efl_ui_selectable_selected_get(efl_pack_content_get(widget, i)))
+  sel ++;
+ }
+   ck_assert_int_eq(sel, 1);
+}
+EFL_END_TEST
+
+
+EFL_START_TEST(change_mode_from_multi_to_none)
+{
+   int sel = 0;
+
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_MULTI);
+   efl_ui_selectable_all_select(widget);
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_NONE);
+   for (int i = 0; i < efl_content_count(widget); ++i)
+ {
+if (efl_ui_selectable_selected_get(efl_pack_content_get(widget, i)))
+  sel ++;
+ }
+   ck_assert_int_eq(sel, 0);
+}
+EFL_END_TEST
+
+EFL_START_TEST(change_mode_from_single_to_none)
+{
+   int sel = 0;
+
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_SINGLE);
+   efl_ui_selectable_all_select(widget);
+   efl_ui_selectable_select_mode_set(widget, EFL_UI_SELECT_MODE_NONE);
+   for (int i = 0; i < efl_content_count(widget); ++i)
+ {
+if (efl_ui_selectable_selected_get(efl_pack_content_get(widget, i)))
+  sel ++;
+ }
+   ck_assert_int_eq(sel, 0);
+}
+EFL_END_TEST
+
 void
 efl_ui_multi_selectable_behavior_test(TCase *tc)
 {
@@ -250,5 +299,8 @@ efl_ui_multi_selectable_behavior_test(TCase *tc)
tcase_add_test(tc, range_unselect2);
tcase_add_test(tc, range_select);
tcase_add_test(tc, range_select2);
+   tcase_add_test(tc, change_mode_from_multi_to_single);
+   tcase_add_test(tc, change_mode_from_multi_to_none);
+   tcase_add_test(tc, change_mode_from_single_to_none);
efl_ui_single_selectable_behavior_test(tc);
 }

-- 




Re: [E-devel] [EGIT] [apps/terminology] master 01/01: tabs: show tabs that have a bell

2019-10-07 Thread The Rasterman
On Sun, 6 Oct 2019 22:07:31 +0200 Boris Faure  said:

> 
> On 19-10-06 13:32, Carsten Haitzler wrote:
> > On Sat, 05 Oct 2019 06:31:18 -0700 Boris Faure  said:
> > 
> > You forgot some signal to clear the bell state... :)
> 
> This is not needed here but will be on my next commit :)

i thought it'd be needed... :) thus it looked missing :)


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



___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] efl-1.23 03/03: evil: make it clear in the docs that this library is private to efl

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch efl-1.23.

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

commit 6d5b40233aafa7366051cb59a8c16a465e64d49f
Author: Stefan Schmidt 
Date:   Mon Oct 7 10:55:02 2019 +0200

evil: make it clear in the docs that this library is private to efl

Since the 1.23 release we are stricter with the use of evil. It is
supposed to be used inside efl only and not exposed as API. Make this
clear in the docs as well.

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10295
---
 src/lib/evil/evil_main.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evil/evil_main.h b/src/lib/evil/evil_main.h
index 7c1f67d215..8c82046f91 100644
--- a/src/lib/evil/evil_main.h
+++ b/src/lib/evil/evil_main.h
@@ -20,8 +20,8 @@
  * evilness is so huge that the most of the functions are not POSIX or
  * BSD compliant.
  *
- * These functions are intended to be used in the Enlightenment
- * Foundation Libraries only and can be compiled only on Windows,
+ * These functions are intended to be used inside the Enlightenment Foundation
+ * Libraries as private library and can be compiled only on Windows,
  * using MSYS/MinGW on Windows, and cross-compilation on Unix. This
  * library is minimal in the sense that only the functions needed to
  * compile the EFL are available. The purpose of this library is NOT

-- 




[EGIT] [core/efl] efl-1.23 01/03: evil: bring back doxygen intro page for evil library

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch efl-1.23.

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

commit b57d0ae3ac43626320e2eb35dd8aa296ce16e232
Author: Stefan Schmidt 
Date:   Wed Oct 2 12:23:38 2019 +0200

evil: bring back doxygen intro page for evil library

While we switched evil to be not a public AP, but internal lib only, we
still want to have its documentation shown.

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10270
---
 src/lib/evil/evil_main.h | 74 
 1 file changed, 74 insertions(+)

diff --git a/src/lib/evil/evil_main.h b/src/lib/evil/evil_main.h
index 963bf5e7c6..7c1f67d215 100644
--- a/src/lib/evil/evil_main.h
+++ b/src/lib/evil/evil_main.h
@@ -1,6 +1,80 @@
 #ifndef __EVIL_MAIN_H__
 #define __EVIL_MAIN_H__
 
+/**
+ * @page evil_main Evil
+ * @author Vincent Torri
+ * @date 2008 (created)
+ *
+ * @section toc Table of Contents
+ *
+ * @li @ref evil_main_intro
+ * @li @ref evil_main_ack
+ * @li @ref evil_main_compiling
+ * @li @ref evil_main_next_steps
+ *
+ * @section evil_main_intro Introduction
+ *
+ * The Evil library is an evil library that ports some evil Unix
+ * functions to the Windows (XP or above, or Mobile) platform. The
+ * evilness is so huge that the most of the functions are not POSIX or
+ * BSD compliant.
+ *
+ * These functions are intended to be used in the Enlightenment
+ * Foundation Libraries only and can be compiled only on Windows,
+ * using MSYS/MinGW on Windows, and cross-compilation on Unix. This
+ * library is minimal in the sense that only the functions needed to
+ * compile the EFL are available. The purpose of this library is NOT
+ * to have a full POSIX emulation et it is NOT a replacement of
+ * cygwin. To compare the size of the DLL themselves, Evil is around
+ * 33 KB and cygwin DLL is around 800 KB.
+ *
+ * @section evil_main_ack Acknowledgments
+ *
+ * This library has receive some from people interested in the EFL or
+ * not. Among them, evil thanks to Lars Munch, Raoul Hecky, Nicolas
+ * Aguirre, Tor Lillqvist, Lance Fetters, Vincent Richomme, Paul
+ * Vixie, Daniel Stenberg, who helped the author of the library in
+ * different fields (code and tests).
+ *
+ * @section evil_main_compiling How to compile
+ *
+ * Evil is a library your application links to. The procedure for
+ * this is very simple. You simply have to compile your application
+ * with the appropriate compiler flags that the @p pkg-config script
+ * outputs. For example:
+ *
+ * Compiling C or C++ files into object files:
+ *
+ * @verbatim
+   gcc -c -o main.o main.c `pkg-config --cflags evil`
+   @endverbatim
+ *
+ * Linking object files into a binary executable:
+ *
+ * @verbatim
+   gcc -o my_application main.o `pkg-config --libs evil`
+   @endverbatim
+ *
+ * See @ref pkgconfig
+ *
+ * @section evil_main_next_steps Next Steps
+ *
+ * After you understood what Evil is and installed it in your system
+ * you should proceed understanding the programming interface.
+ *
+ * Recommended reading:
+ *
+ * @li @ref Evil_Mman
+ * @li @ref Evil_Unistd_Group
+ * @li @ref Evil_Dlfcn
+ * @li @ref Evil_Locale_Group
+ * @li @ref Evil_Stdio_Group
+ * @li @ref Evil_Main_Group
+ * @li @ref Evil_String_Group
+ * @li @ref Evil_Stdlib_Group
+ * @li @ref Evil_Time_Group
+ */
 
 /**
  * @file evil_main.h

-- 




[EGIT] [core/efl] efl-1.23 02/03: evil: remove stray x character from docs section

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch efl-1.23.

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

commit 95f87f4e43929244f08f103cac9b5573dc13202f
Author: Stefan Schmidt 
Date:   Fri Oct 4 11:15:12 2019 +0200

evil: remove stray x character from docs section

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10294
---
 src/lib/evil/evil_dlfcn.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evil/evil_dlfcn.h b/src/lib/evil/evil_dlfcn.h
index 9e39be5967..22f48b72ca 100644
--- a/src/lib/evil/evil_dlfcn.h
+++ b/src/lib/evil/evil_dlfcn.h
@@ -11,7 +11,7 @@
  * @defgroup Evil_Dlfcn Functions that manage dynamic-link libraries.
  * @ingroup Evil
  *
-x * This header provides functions to load and unload dynamic-link
+ * This header provides functions to load and unload dynamic-link
  * libaries, to get the address of a symbol, and to get diagnostic
  * information.
  */

-- 




[EGIT] [core/efl] master 03/03: evil: make it clear in the docs that this library is private to efl

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 55e865dd82a97ae582574fea9db0c028174498e3
Author: Stefan Schmidt 
Date:   Mon Oct 7 10:55:02 2019 +0200

evil: make it clear in the docs that this library is private to efl

Since the 1.23 release we are stricter with the use of evil. It is
supposed to be used inside efl only and not exposed as API. Make this
clear in the docs as well.

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10295
---
 src/lib/evil/evil_main.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/evil/evil_main.h b/src/lib/evil/evil_main.h
index 7c1f67d215..8c82046f91 100644
--- a/src/lib/evil/evil_main.h
+++ b/src/lib/evil/evil_main.h
@@ -20,8 +20,8 @@
  * evilness is so huge that the most of the functions are not POSIX or
  * BSD compliant.
  *
- * These functions are intended to be used in the Enlightenment
- * Foundation Libraries only and can be compiled only on Windows,
+ * These functions are intended to be used inside the Enlightenment Foundation
+ * Libraries as private library and can be compiled only on Windows,
  * using MSYS/MinGW on Windows, and cross-compilation on Unix. This
  * library is minimal in the sense that only the functions needed to
  * compile the EFL are available. The purpose of this library is NOT

-- 




[EGIT] [core/efl] master 02/03: evil: remove stray x character from docs section

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 370697b50c7b5b6f48f3827963ebd8ab6783f6c6
Author: Stefan Schmidt 
Date:   Fri Oct 4 11:15:12 2019 +0200

evil: remove stray x character from docs section

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10294
---
 src/lib/evil/evil_dlfcn.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evil/evil_dlfcn.h b/src/lib/evil/evil_dlfcn.h
index 9e39be5967..22f48b72ca 100644
--- a/src/lib/evil/evil_dlfcn.h
+++ b/src/lib/evil/evil_dlfcn.h
@@ -11,7 +11,7 @@
  * @defgroup Evil_Dlfcn Functions that manage dynamic-link libraries.
  * @ingroup Evil
  *
-x * This header provides functions to load and unload dynamic-link
+ * This header provides functions to load and unload dynamic-link
  * libaries, to get the address of a symbol, and to get diagnostic
  * information.
  */

-- 




[EGIT] [core/efl] master 01/03: evil: bring back doxygen intro page for evil library

2019-10-07 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit b4e943ef3ea6f7c0830558ba10f2499c456b1556
Author: Stefan Schmidt 
Date:   Wed Oct 2 12:23:38 2019 +0200

evil: bring back doxygen intro page for evil library

While we switched evil to be not a public AP, but internal lib only, we
still want to have its documentation shown.

Reviewed-by: Vincent Torri 
Differential Revision: https://phab.enlightenment.org/D10270
---
 src/lib/evil/evil_main.h | 74 
 1 file changed, 74 insertions(+)

diff --git a/src/lib/evil/evil_main.h b/src/lib/evil/evil_main.h
index 963bf5e7c6..7c1f67d215 100644
--- a/src/lib/evil/evil_main.h
+++ b/src/lib/evil/evil_main.h
@@ -1,6 +1,80 @@
 #ifndef __EVIL_MAIN_H__
 #define __EVIL_MAIN_H__
 
+/**
+ * @page evil_main Evil
+ * @author Vincent Torri
+ * @date 2008 (created)
+ *
+ * @section toc Table of Contents
+ *
+ * @li @ref evil_main_intro
+ * @li @ref evil_main_ack
+ * @li @ref evil_main_compiling
+ * @li @ref evil_main_next_steps
+ *
+ * @section evil_main_intro Introduction
+ *
+ * The Evil library is an evil library that ports some evil Unix
+ * functions to the Windows (XP or above, or Mobile) platform. The
+ * evilness is so huge that the most of the functions are not POSIX or
+ * BSD compliant.
+ *
+ * These functions are intended to be used in the Enlightenment
+ * Foundation Libraries only and can be compiled only on Windows,
+ * using MSYS/MinGW on Windows, and cross-compilation on Unix. This
+ * library is minimal in the sense that only the functions needed to
+ * compile the EFL are available. The purpose of this library is NOT
+ * to have a full POSIX emulation et it is NOT a replacement of
+ * cygwin. To compare the size of the DLL themselves, Evil is around
+ * 33 KB and cygwin DLL is around 800 KB.
+ *
+ * @section evil_main_ack Acknowledgments
+ *
+ * This library has receive some from people interested in the EFL or
+ * not. Among them, evil thanks to Lars Munch, Raoul Hecky, Nicolas
+ * Aguirre, Tor Lillqvist, Lance Fetters, Vincent Richomme, Paul
+ * Vixie, Daniel Stenberg, who helped the author of the library in
+ * different fields (code and tests).
+ *
+ * @section evil_main_compiling How to compile
+ *
+ * Evil is a library your application links to. The procedure for
+ * this is very simple. You simply have to compile your application
+ * with the appropriate compiler flags that the @p pkg-config script
+ * outputs. For example:
+ *
+ * Compiling C or C++ files into object files:
+ *
+ * @verbatim
+   gcc -c -o main.o main.c `pkg-config --cflags evil`
+   @endverbatim
+ *
+ * Linking object files into a binary executable:
+ *
+ * @verbatim
+   gcc -o my_application main.o `pkg-config --libs evil`
+   @endverbatim
+ *
+ * See @ref pkgconfig
+ *
+ * @section evil_main_next_steps Next Steps
+ *
+ * After you understood what Evil is and installed it in your system
+ * you should proceed understanding the programming interface.
+ *
+ * Recommended reading:
+ *
+ * @li @ref Evil_Mman
+ * @li @ref Evil_Unistd_Group
+ * @li @ref Evil_Dlfcn
+ * @li @ref Evil_Locale_Group
+ * @li @ref Evil_Stdio_Group
+ * @li @ref Evil_Main_Group
+ * @li @ref Evil_String_Group
+ * @li @ref Evil_Stdlib_Group
+ * @li @ref Evil_Time_Group
+ */
 
 /**
  * @file evil_main.h

-- 




[EGIT] [core/efl] master 01/01: ecore : fix incorrect size of expression for coverity

2019-10-07 Thread Jongmin Lee
hermet pushed a commit to branch master.

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

commit 34fa84a1711599ac02239b7d32cb9b24bad350a0
Author: Jongmin Lee 
Date:   Mon Oct 7 15:59:18 2019 +0900

ecore : fix incorrect size of expression for coverity

Summary: correct bad use of sizeof function (detected by coverity tool)

Test Plan: N/A

Reviewers: Hermet, woohyun, kimcinoo, cedric, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10281
---
 src/lib/ecore/efl_boolean_model.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/ecore/efl_boolean_model.c 
b/src/lib/ecore/efl_boolean_model.c
index 4c440f1ffb..3d9aef668d 100644
--- a/src/lib/ecore/efl_boolean_model.c
+++ b/src/lib/ecore/efl_boolean_model.c
@@ -105,7 +105,7 @@ _storage_lookup(Efl_Boolean_Model_Data *pd,
 lookup->offset = v->last ? v->last->offset + v->last->length + 1 : 0;
 lookup->length = sizeof (lookup->buffer) * 8; // Number of bits in the 
buffer
 // Initialize the buffer to the right default value
-if (default_value) memset(&lookup->buffer[0], *default_value, sizeof 
(&lookup->buffer));
+if (default_value) memset(&lookup->buffer[0], *default_value, sizeof 
(lookup->buffer));
 
 v->buffers_root = eina_rbtree_inline_insert(v->buffers_root, 
EINA_RBTREE_GET(lookup),
 
EINA_RBTREE_CMP_NODE_CB(_storage_range_cmp), NULL);

--