[EGIT] [core/efl] master 01/01: evas wbmp: fix wrong calc order.

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 808df5ecc229455580685fbe2dac7ab100a092d1
Author: Hermet Park 
Date:   Wed Apr 24 14:01:06 2019 +0900

evas wbmp: fix wrong calc order.

Double check patch again, since my wrong logical thinking,
Every width must be considered to rounding up fiting 8 bits.
this new compuation must be correct.
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 181b14fa90..4a3ae77a32 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -76,7 +76,7 @@ evas_image_load_file_head_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if w * h) + 7) >> 3) + position != length)
+   if w + 7) >> 3) * h) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -138,7 +138,7 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if w * h) + 7) >> 3) + position != length)
+   if w + 7) >> 3) * h) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;

-- 




[EGIT] [core/efl] master 01/01: eolian: remove unreachable code.

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 79183150c7182af5b06cb2363f822cab433b4990
Author: Hermet Park 
Date:   Wed Apr 24 13:19:12 2019 +0900

eolian: remove unreachable code.
---
 src/lib/eolian/database_validate.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index d9ca18a755..285d19a692 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -198,8 +198,9 @@ _validate_typedecl(Validate_State *vals, Eolian_Typedecl 
*tp)
   default:
 return _reset_stable(vals, was_stable, EINA_FALSE);
  }
-   _reset_stable(vals, was_stable, EINA_TRUE);
-   return _validate(>base);
+
+   //Unexpected case?
+   return EINA_FALSE;
 }
 
 static const char * const eo_complex_frees[] =

-- 




[EGIT] [core/efl] master 01/02: Revert "evas-wbmp: revert previous two patches"

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 54754ab8781f78cc2e768c6f067b1418f4066b8e
Author: Hermet Park 
Date:   Wed Apr 24 10:10:36 2019 +0900

Revert "evas-wbmp: revert previous two patches"

This reverts commit 0ebf41c003ea89f10c45ae7a2e53c68302c05103.
---
 .../evas/image_loaders/wbmp/evas_image_load_wbmp.c  | 21 +++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 633afe9567..7f56da6d02 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -73,6 +73,15 @@ evas_image_load_file_head_wbmp(void *loader_data,
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
+
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) ||
IMG_TOO_BIG(w, h))
  {
@@ -116,11 +125,20 @@ evas_image_load_file_data_wbmp(void *loader_data,
if (!map) goto bail;
 
if (read_mb(, map, length, ) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
 
-   if (type != 0)
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -145,7 +163,6 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
for (y = 0; y < (int)prop->h; y++)
  {
-if (position + line_length > length) goto bail;
 line = ((unsigned char*) map) + position;
 position += line_length;
 for (x = 0; x < (int)prop->w; x++)

-- 




[EGIT] [core/efl] master 02/02: evas wbmp loader: coming previous patch with fixing wrong calc.

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit bffce65f9c719e7c82724ffb5c7557b6ee5e4966
Author: Hermet Park 
Date:   Wed Apr 24 10:18:57 2019 +0900

evas wbmp loader: coming previous patch with fixing wrong calc.

Those bits must be rounded if they are not fit to 8 bits.

see: 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 7f56da6d02..181b14fa90 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -76,7 +76,7 @@ evas_image_load_file_head_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
+   if w * h) + 7) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -138,7 +138,7 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
/* Wbmp header identifier is too weak
   Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
+   if w * h) + 7) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;

-- 




[EGIT] [core/efl] master 04/05: ecore: rely on event instead of creating one Eo object per future that need resolving.

2019-04-23 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 1ec4ad155688df9b1cec8e608481d64e776feae8
Author: Cedric BAIL 
Date:   Thu Mar 28 17:18:08 2019 -0700

ecore: rely on event instead of creating one Eo object per future that need 
resolving.

This was a terrible oversight, but the point of having a small native type 
for future was
for making them efficient. Still we were using one Eo object for 
dispatching per future
to dispatch new value. I could have gathered all the dispatch with just one 
object, but
at the end we do have one object that notify us of the loop iteration... 
the loop object!
And we have event on that object that we can rely to trigger the 
dispatching of future
without requiring any additional object. So let's do that instead.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D8567
---
 src/lib/ecore/ecore_events.c  | 105 ++
 src/lib/ecore/ecore_private.h |   2 +
 2 files changed, 48 insertions(+), 59 deletions(-)

diff --git a/src/lib/ecore/ecore_events.c b/src/lib/ecore/ecore_events.c
index 15667e9bd9..01a4c3d019 100644
--- a/src/lib/ecore/ecore_events.c
+++ b/src/lib/ecore/ecore_events.c
@@ -12,16 +12,13 @@ typedef struct _Ecore_Future_Schedule_Entry
Eina_Future_Schedule_Entry base;
Eina_Future_Scheduler_Cb cb;
Eina_Future *future;
-   Eo *event;
Eina_Value value;
 } Ecore_Future_Schedule_Entry;
 
 //
 // XXX: still using legacy ecore events
-//static Ecore_Event_Handler *future_handler = NULL;
 static Eina_Boolshutting_down  = EINA_FALSE;
 static Eina_Mempool*mp_future_schedule_entry   = NULL;
-//static int  ECORE_EV_FUTURE_ID = -1;
 //
 //
 
@@ -129,52 +126,47 @@ ecore_event_current_event_get(void)
return ecore_event_message_handler_current_event_get(_event_msg_handler);
 }
 
-/* XXX:
-static Eina_Bool
-ecore_future_dispatched(void *data EINA_UNUSED,
-int type EINA_UNUSED,
-void *event)
-{
-   Ecore_Future_Schedule_Entry *entry = event;
-   EINA_SAFETY_ON_NULL_RETURN_VAL(entry, EINA_FALSE);
+static void _future_dispatch_cb(void *data, const Efl_Event *ev EINA_UNUSED);
+static void _event_del_cb(void *data, const Efl_Event *ev);
 
-   entry->event = NULL;
-   entry->cb(entry->future, entry->value);
-   return EINA_FALSE;
-}
+EFL_CALLBACKS_ARRAY_DEFINE(ecore_future_callbacks,
+   { EFL_LOOP_EVENT_IDLE_ENTER, _future_dispatch_cb },
+   { EFL_LOOP_EVENT_IDLE, _future_dispatch_cb },
+   { EFL_EVENT_DEL, _event_del_cb });
 
 static void
-ecore_future_free(void *user_data,
-  void *func_data EINA_UNUSED)
+_future_dispatch_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Ecore_Future_Schedule_Entry *entry = user_data;
-   if (entry->event)
+   Efl_Loop_Future_Scheduler *loopsched = data;
+   Eina_List *entries = loopsched->future_entries;
+   Ecore_Future_Schedule_Entry *entry;
+
+   loopsched->future_entries = NULL;
+   efl_event_callback_array_del((Eo *) loopsched->loop, 
ecore_future_callbacks(), loopsched);
+
+   EINA_LIST_FREE(entries, entry)
  {
-eina_future_cancel(entry->future);
-eina_value_flush(>value);
+entry->cb(entry->future, entry->value);
+eina_mempool_free(mp_future_schedule_entry, entry);
  }
-   eina_mempool_free(mp_future_schedule_entry, entry);
 }
-*/
 
 static void
-_future_dispatch_cb(void *data, const Efl_Event *ev EINA_UNUSED)
+_event_del_cb(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Ecore_Future_Schedule_Entry *entry = data;
-   entry->event = NULL;
-   entry->cb(entry->future, entry->value);
-}
+   Efl_Loop_Future_Scheduler *loopsched = data;
+   Eina_List *entries = loopsched->future_entries;
+   Ecore_Future_Schedule_Entry *entry;
 
-static void
-_event_del_cb(void *data, const Efl_Event *ev)
-{
-   Ecore_Future_Schedule_Entry *entry = data;
-   if ((ev->object == (Eo *) entry->event) && entry->future)
+   loopsched->future_entries = NULL;
+   efl_event_callback_array_del((Eo *) loopsched->loop, 
ecore_future_callbacks(), loopsched);
+
+   EINA_LIST_FREE(entries, entry)
  {
 eina_future_cancel(entry->future);
 eina_value_flush(>value);
+eina_mempool_free(mp_future_schedule_entry, entry);
  }
-   eina_mempool_free(mp_future_schedule_entry, entry);
 }
 
 static Eina_Future_Schedule_Entry *
@@ -192,40 +184,35 @@ ecore_future_schedule(Eina_Future_Scheduler *sched,
entry->cb = cb;
entry->future = future;
entry->value = value;
-   entry->event = efl_loop_message_future_handler_message_type_add
- (loopsched->loop_data->future_message_handler);
-   EINA_SAFETY_ON_NULL_GOTO(entry->event, err);
-   

[EGIT] [core/efl] master 01/05: efl_ui_popup: fix widget_parent inheritance

2019-04-23 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit f9143ec63457bedf08c2bbd237066374341e165b
Author: Marcel Hollerbach 
Date:   Mon Apr 22 21:30:05 2019 +0200

efl_ui_popup: fix widget_parent inheritance

when you inherit from widget_parent, you MUST call the super function.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8680
---
 src/lib/elementary/efl_ui_popup.c  | 2 ++
 src/tests/elementary/spec/generator.py | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/efl_ui_popup.c 
b/src/lib/elementary/efl_ui_popup.c
index 47ef65b4a9..341de7e750 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -112,6 +112,8 @@ _efl_ui_popup_efl_ui_widget_widget_parent_set(Eo *obj, 
Efl_Ui_Popup_Data *pd EIN
 
efl_event_callback_add(pd->win_parent, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED, 
_parent_geom_cb, obj);
efl_event_callback_add(pd->win_parent, 
EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, _parent_geom_cb, obj);
+
+   efl_ui_widget_parent_set(efl_super(obj, MY_CLASS), parent);
 }
 
 EOLIAN static void
diff --git a/src/tests/elementary/spec/generator.py 
b/src/tests/elementary/spec/generator.py
index 1c61efac6a..72af7017fa 100755
--- a/src/tests/elementary/spec/generator.py
+++ b/src/tests/elementary/spec/generator.py
@@ -6,7 +6,7 @@ tests = [
   ["Efl.Content" , "Efl.Ui.Button", "Efl.Ui.Frame", "Efl.Ui.Grid_Default_Item",
"Efl.Ui.List_Default_Item", "Efl.Ui.List_Empty_Item",
"Efl.Ui.Navigation_Layout", "Efl.Ui.Panel", 
"Efl.Ui.Progressbar",
-   "Efl.Ui.Radio"]
+   "Efl.Ui.Radio", "Efl.Ui.Popup"]
 ]
 
 fixture_gen_template = """

-- 




[EGIT] [core/efl] master 05/05: examples : update list_view examples to use item_class_set not layout_theme_config.

2019-04-23 Thread SangHyeon Jade Lee
cedric pushed a commit to branch master.

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

commit caa1542610a7073706f5e5200d58075ea83b04b1
Author: SangHyeon Jade Lee 
Date:   Tue Apr 23 07:34:32 2019 +

examples : update list_view examples to use item_class_set not 
layout_theme_config.

widget_factory support item_class_set for factory created child.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8684
---
 src/examples/elementary/efl_ui_list_view_example_1.c | 2 +-
 src/examples/elementary/efl_ui_list_view_example_2.c | 2 +-
 src/examples/elementary/efl_ui_list_view_example_3.c | 4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/examples/elementary/efl_ui_list_view_example_1.c 
b/src/examples/elementary/efl_ui_list_view_example_1.c
index 04ae147f2a..78489017ca 100644
--- a/src/examples/elementary/efl_ui_list_view_example_1.c
+++ b/src/examples/elementary/efl_ui_list_view_example_1.c
@@ -87,10 +87,10 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
);
 
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
+   efl_ui_widget_factory_item_class_set(factory, 
EFL_UI_LIST_DEFAULT_ITEM_CLASS);
efl_ui_property_bind(factory, "signal/efl,state,%v", "odd_style");
efl_ui_property_bind(factory, "signal/efl,state,%{selected;unselected}", 
"selected");
efl_ui_property_bind(factory, "efl.text", "name");
-   efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
 
li = efl_add(EFL_UI_LIST_VIEW_CLASS, win
  , efl_ui_list_view_layout_factory_set(efl_added, factory)
diff --git a/src/examples/elementary/efl_ui_list_view_example_2.c 
b/src/examples/elementary/efl_ui_list_view_example_2.c
index a843f6ed9c..5a4d680614 100644
--- a/src/examples/elementary/efl_ui_list_view_example_2.c
+++ b/src/examples/elementary/efl_ui_list_view_example_2.c
@@ -33,8 +33,8 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
 
model = efl_add(EFL_IO_MODEL_CLASS, win, efl_io_model_path_set(efl_added, 
dirname));
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
+   efl_ui_widget_factory_item_class_set(factory, 
EFL_UI_LIST_DEFAULT_ITEM_CLASS);
efl_ui_property_bind(factory, "efl.text", "filename");
-   efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
 
li = efl_add(EFL_UI_LIST_VIEW_CLASS, win);
efl_ui_list_view_layout_factory_set(li, factory);
diff --git a/src/examples/elementary/efl_ui_list_view_example_3.c 
b/src/examples/elementary/efl_ui_list_view_example_3.c
index c027856df7..5a233b3430 100644
--- a/src/examples/elementary/efl_ui_list_view_example_3.c
+++ b/src/examples/elementary/efl_ui_list_view_example_3.c
@@ -223,7 +223,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
priv->model = _make_model();
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
efl_ui_property_bind(factory, "efl.text", "filename");
-   efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
+   efl_ui_widget_factory_item_class_set(factory, 
EFL_UI_LIST_DEFAULT_ITEM_CLASS);
 
priv->list1 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, 
efl_ui_view_model_set(efl_added, priv->model));
efl_event_callback_add(priv->list1, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, 
_realized_1_cb, priv);
@@ -235,7 +235,7 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
factory = efl_add(EFL_UI_LAYOUT_FACTORY_CLASS, win);
efl_ui_property_bind(factory, "efl.text", "filename");
efl_ui_property_bind(factory, "signal/efl,state,%v", "selected");
-   efl_ui_layout_factory_theme_config(factory, "list_item", NULL, "default");
+   efl_ui_widget_factory_item_class_set(factory, 
EFL_UI_LIST_DEFAULT_ITEM_CLASS);
priv->list2 = efl_add(EFL_UI_LIST_VIEW_CLASS, win, 
efl_ui_view_model_set(efl_added, priv->model));
efl_event_callback_add(priv->list2, EFL_UI_LIST_VIEW_EVENT_ITEM_REALIZED, 
_realized_2_cb, priv->list2);
evas_object_size_hint_weight_set(priv->list2, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);

-- 




[EGIT] [core/efl] master 02/05: efl_ui_tab_page: implement content_set / unset correctly

2019-04-23 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit 7ee0a3e05546489ea2444aaddef414bb8ee137d0
Author: Marcel Hollerbach 
Date:   Mon Apr 22 21:52:45 2019 +0200

efl_ui_tab_page: implement content_set / unset correctly

This patchset ensures that the following features are supported:
- content-widget deletion on set content
- content-widget validation on set calls
- invalid cases return false
- event emission

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8681
---
 src/lib/elementary/efl_ui_tab_page.c   | 22 +-
 src/tests/elementary/spec/generator.py |  2 +-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_tab_page.c 
b/src/lib/elementary/efl_ui_tab_page.c
index a0bd26ef70..cb17b98bcf 100644
--- a/src/lib/elementary/efl_ui_tab_page.c
+++ b/src/lib/elementary/efl_ui_tab_page.c
@@ -11,24 +11,44 @@
 
 #define MY_CLASS EFL_UI_TAB_PAGE_CLASS
 
+static void
+_invalidate_cb(void *data, const Efl_Event *ev EINA_UNUSED)
+{
+   efl_content_unset(data);
+}
+
 EOLIAN static Eina_Bool
 _efl_ui_tab_page_efl_content_content_set(Eo *obj, Efl_Ui_Tab_Page_Data *sd, Eo 
*content)
 {
if (sd->content)
  {
 efl_content_unset(efl_part(obj, "efl.content"));
+efl_event_callback_del(sd->content, EFL_EVENT_INVALIDATE, 
_invalidate_cb, obj);
 efl_del(sd->content);
+sd->content = NULL;
+ }
+
+   if (content && !efl_ui_widget_sub_object_add(obj, content))
+ {
+efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, NULL);
+return EINA_FALSE;
  }
 
sd->content = content;
+   efl_event_callback_add(sd->content, EFL_EVENT_INVALIDATE, _invalidate_cb, 
obj);
+   efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, content);
+
efl_content_set(efl_part(obj, "efl.content"), sd->content);
 
return EINA_TRUE;
 }
 
 EOLIAN static Efl_Gfx_Entity*
-_efl_ui_tab_page_efl_content_content_unset(Eo *obj, Efl_Ui_Tab_Page_Data *pd 
EINA_UNUSED)
+_efl_ui_tab_page_efl_content_content_unset(Eo *obj, Efl_Ui_Tab_Page_Data *pd)
 {
+   efl_event_callback_del(pd->content, EFL_EVENT_INVALIDATE, _invalidate_cb, 
obj);
+   pd->content = NULL;
+   efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, NULL);
return efl_content_unset(efl_part(obj, "efl.content"));
 }
 
diff --git a/src/tests/elementary/spec/generator.py 
b/src/tests/elementary/spec/generator.py
index 72af7017fa..79652a32a5 100755
--- a/src/tests/elementary/spec/generator.py
+++ b/src/tests/elementary/spec/generator.py
@@ -6,7 +6,7 @@ tests = [
   ["Efl.Content" , "Efl.Ui.Button", "Efl.Ui.Frame", "Efl.Ui.Grid_Default_Item",
"Efl.Ui.List_Default_Item", "Efl.Ui.List_Empty_Item",
"Efl.Ui.Navigation_Layout", "Efl.Ui.Panel", 
"Efl.Ui.Progressbar",
-   "Efl.Ui.Radio", "Efl.Ui.Popup"]
+   "Efl.Ui.Radio", "Efl.Ui.Popup", "Efl.Ui.Tab_Page"]
 ]
 
 fixture_gen_template = """

-- 




[EGIT] [core/efl] master 03/05: efl_ui_scroller: fix Efl.Content implementation

2019-04-23 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit afd4e6bd5bf4e06358fe7147b21fc638897c8931
Author: Marcel Hollerbach 
Date:   Mon Apr 22 22:10:19 2019 +0200

efl_ui_scroller: fix Efl.Content implementation

this commit ensures the following:
- Delete content when new content is set
- Content set input validation
- Correct parent setting

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D8682
---
 src/lib/elementary/efl_ui_scroller.c   | 21 ++---
 src/tests/elementary/spec/generator.py |  2 +-
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/lib/elementary/efl_ui_scroller.c 
b/src/lib/elementary/efl_ui_scroller.c
index 0fef382346..50113c12b1 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -152,11 +152,7 @@ static void
 _efl_ui_scroller_content_del_cb(void *data,
 const Efl_Event *event EINA_UNUSED)
 {
-   EFL_UI_SCROLLER_DATA_GET_OR_RETURN(data, sd);
-
-   sd->content = NULL;
-   if (!sd->smanager) return;
-   efl_ui_scrollbar_bar_visibility_update(sd->smanager);
+   efl_content_unset(data);
 }
 
 EOLIAN static Eina_Bool
@@ -167,14 +163,23 @@ _efl_ui_scroller_efl_content_content_set(Eo *obj,
if (sd->content)
  {
 efl_content_set(sd->pan_obj, NULL);
-efl_event_callback_del(sd->content, EFL_EVENT_DEL,
+efl_event_callback_del(sd->content, EFL_EVENT_INVALIDATE,
_efl_ui_scroller_content_del_cb, obj);
+efl_del(sd->content);
+sd->content = NULL;
+ }
+
+   if (content && !efl_ui_widget_sub_object_add(obj, content))
+ {
+efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, NULL);
+return EINA_FALSE;
  }
 
sd->content = content;
+   efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, 
sd->content);
if (!content) return EINA_TRUE;
 
-   efl_event_callback_add(sd->content, EFL_EVENT_DEL,
+   efl_event_callback_add(sd->content, EFL_EVENT_INVALIDATE,
   _efl_ui_scroller_content_del_cb, obj);
 
efl_content_set(sd->pan_obj, content);
@@ -195,7 +200,9 @@ _efl_ui_scroller_efl_content_content_unset(Eo *obj 
EINA_UNUSED, Efl_Ui_Scroller_
 {
Efl_Gfx_Entity *old_content = pd->content;
 
+   efl_event_callback_del(pd->content, EFL_EVENT_INVALIDATE, 
_efl_ui_scroller_content_del_cb, obj);
pd->content = NULL;
+   efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, NULL);
if (pd->smanager)
  {
 efl_ui_scrollbar_bar_visibility_update(pd->smanager);
diff --git a/src/tests/elementary/spec/generator.py 
b/src/tests/elementary/spec/generator.py
index 79652a32a5..3a84b01862 100755
--- a/src/tests/elementary/spec/generator.py
+++ b/src/tests/elementary/spec/generator.py
@@ -6,7 +6,7 @@ tests = [
   ["Efl.Content" , "Efl.Ui.Button", "Efl.Ui.Frame", "Efl.Ui.Grid_Default_Item",
"Efl.Ui.List_Default_Item", "Efl.Ui.List_Empty_Item",
"Efl.Ui.Navigation_Layout", "Efl.Ui.Panel", 
"Efl.Ui.Progressbar",
-   "Efl.Ui.Radio", "Efl.Ui.Popup", "Efl.Ui.Tab_Page"]
+   "Efl.Ui.Radio", "Efl.Ui.Popup", "Efl.Ui.Tab_Page", 
"Efl.Ui.Scroller"]
 ]
 
 fixture_gen_template = """

-- 




[EGIT] [core/efl] master 01/01: efl_core_command_line: Fix resource leak

2019-04-23 Thread Christopher Michael
bu5hm4n pushed a commit to branch master.

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

commit 22edf6f4b7fbea85cd0c7549338ec17d67326307
Author: Christopher Michael 
Date:   Tue Apr 23 09:26:13 2019 -0400

efl_core_command_line: Fix resource leak

Coverity reports that we leak the return from _escape(command) here,
so since we have to free the return from _escape, place it in it's own
variable that we can call free() on after we are done with it.

Fixes CID1399105

@fix

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D8688
---
 src/lib/ecore/efl_core_command_line.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore/efl_core_command_line.c 
b/src/lib/ecore/efl_core_command_line.c
index 1c084030f1..64de7a9766 100644
--- a/src/lib/ecore/efl_core_command_line.c
+++ b/src/lib/ecore/efl_core_command_line.c
@@ -215,6 +215,7 @@ _efl_core_command_line_command_array_set(Eo *obj 
EINA_UNUSED, Efl_Core_Command_L
  {
 char *content = eina_array_data_get(array, i);
 char *param = calloc(1, strlen(content) + 1);
+char *esc;
 
 if (!param)
   {
@@ -236,7 +237,9 @@ _efl_core_command_line_command_array_set(Eo *obj 
EINA_UNUSED, Efl_Core_Command_L
 //build the command
 if (i != 0)
   eina_strbuf_append(command, " ");
-eina_strbuf_append(command, _escape(content));
+esc = _escape(content);
+eina_strbuf_append(command, esc);
+free(esc);
 //convert string to stringshare
 strcpy(param, content);
 _remove_invalid_chars(param);

-- 




[EGIT] [core/efl] master 01/01: csharp: Fix test code memory handling

2019-04-23 Thread Lauro Moura
vitorsousa pushed a commit to branch master.

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

commit e23914fce785730ac3b0a736c6555fe6cadaddf0
Author: Lauro Moura 
Date:   Tue Apr 23 12:12:31 2019 -0300

csharp: Fix test code memory handling

Summary:
It was causing the test to crash when running in debug build.

Also some minor fixes cleaning up stuff when exiting.

Fixes T7792.

Reviewers: segfaultxavi, vitor.sousa

Reviewed By: segfaultxavi, vitor.sousa

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7792

Differential Revision: https://phab.enlightenment.org/D8679
---
 src/tests/efl_mono/dummy_test_object.eo  |  1 +
 src/tests/efl_mono/libefl_mono_native_test.c | 37 ++--
 2 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/src/tests/efl_mono/dummy_test_object.eo 
b/src/tests/efl_mono/dummy_test_object.eo
index a50c70e2e6..b5436a636e 100644
--- a/src/tests/efl_mono/dummy_test_object.eo
+++ b/src/tests/efl_mono/dummy_test_object.eo
@@ -1412,6 +1412,7 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
}
implements {
   Efl.Object.constructor;
+  Efl.Object.destructor;
   Efl.Object.provider_find;
   Dummy.Test_Iface.emit_nonconflicted;
   Dummy.Test_Iface.iface_prop { get; set; }
diff --git a/src/tests/efl_mono/libefl_mono_native_test.c 
b/src/tests/efl_mono/libefl_mono_native_test.c
index 17ef5065b2..52d9190994 100644
--- a/src/tests/efl_mono/libefl_mono_native_test.c
+++ b/src/tests/efl_mono/libefl_mono_native_test.c
@@ -162,6 +162,30 @@ _dummy_test_object_efl_object_constructor(Eo *obj, 
Dummy_Test_Object_Data *pd)
return obj;
 }
 
+static void
+_dummy_test_object_efl_object_destructor(Eo *obj, Dummy_Test_Object_Data *pd)
+{
+   if (pd->stored_value)
+ {
+eina_value_free(pd->stored_value);
+pd->stored_value = NULL;
+ }
+
+   if (pd->promise)
+ {
+eina_promise_reject(pd->promise, ECANCELED);
+pd->promise = NULL;
+ }
+
+   if (pd->list_for_accessor)
+ {
+eina_list_free(pd->list_for_accessor);
+pd->list_for_accessor = NULL;
+ }
+
+   efl_destructor(efl_super(obj, DUMMY_TEST_OBJECT_CLASS));
+}
+
 Efl_Object *_dummy_test_object_return_object(Eo *obj, EINA_UNUSED 
Dummy_Test_Object_Data *pd)
 {
   return obj;
@@ -3700,11 +3724,11 @@ void _dummy_test_object_set_value_ptr_own(EINA_UNUSED 
Eo *obj, Dummy_Test_Object
 
 void _dummy_test_object_set_value(EINA_UNUSED Eo *obj, Dummy_Test_Object_Data 
*pd, Eina_Value value)
 {
-if (pd->stored_value) {
-eina_value_free(pd->stored_value);
-} else {
-pd->stored_value = eina_value_new(EINA_VALUE_TYPE_INT);
-}
+if (pd->stored_value)
+  eina_value_free(pd->stored_value);
+
+pd->stored_value = eina_value_new(EINA_VALUE_TYPE_INT);
+
 eina_value_copy(, pd->stored_value);
 }
 
@@ -3922,7 +3946,6 @@ int 
_dummy_test_object_dummy_test_iface_iface_prop_get(EINA_UNUSED const Eo *obj
 
 Eo * _dummy_test_object_efl_object_provider_find(EINA_UNUSED const Eo *obj, 
Dummy_Test_Object_Data *pd, const Efl_Class *klass)
 {
-EINA_LOG_ERR("klass: %p, NUMBERWRAPPER: %p", klass, 
DUMMY_NUMBERWRAPPER_CLASS);
 if (klass == DUMMY_NUMBERWRAPPER_CLASS)
 return pd->provider;
 else if (klass == DUMMY_TEST_IFACE_INTERFACE)
@@ -3932,13 +3955,11 @@ Eo * 
_dummy_test_object_efl_object_provider_find(EINA_UNUSED const Eo *obj, Dumm
 
 Efl_Object *_dummy_test_object_call_find_provider(Eo *obj, EINA_UNUSED 
Dummy_Test_Object_Data *pd, const Efl_Class *type)
 {
-printf("CALLING FIND PROVIDER FROM C");
 return efl_provider_find(obj, type);
 }
 
 Efl_Object *_dummy_test_object_call_find_provider_for_iface(Eo *obj, 
EINA_UNUSED Dummy_Test_Object_Data *pd)
 {
-printf("CALLING FIND PROVIDER FROM C");
 return efl_provider_find(obj, DUMMY_TEST_IFACE_INTERFACE);
 }
 

-- 




[EGIT] [core/efl] master 01/01: evas-wbmp: revert previous two patches

2019-04-23 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit 0ebf41c003ea89f10c45ae7a2e53c68302c05103
Author: Mike Blumenkrantz 
Date:   Tue Apr 23 09:38:12 2019 -0400

evas-wbmp: revert previous two patches

Revert "evas wbmp: remove unnecessary size overflow."
This reverts commit 1061d0a75164111ef5dc8df21f446023438f39bc.
Revert "evas image: check format more strong way for wbmp."
This reverts commit 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d.

this caused wbmp files to no longer be loadable

ref T7824

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D8689
---
 .../evas/image_loaders/wbmp/evas_image_load_wbmp.c  | 21 ++---
 1 file changed, 2 insertions(+), 19 deletions(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 7f56da6d02..633afe9567 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -73,15 +73,6 @@ evas_image_load_file_head_wbmp(void *loader_data,
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
-
-   /* Wbmp header identifier is too weak
-  Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
- {
-*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
-goto bail;
- }
-
if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) ||
IMG_TOO_BIG(w, h))
  {
@@ -125,20 +116,11 @@ evas_image_load_file_data_wbmp(void *loader_data,
if (!map) goto bail;
 
if (read_mb(, map, length, ) < 0) goto bail;
-
-   if (type != 0)
- {
-*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
-goto bail;
- }
-
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
 
-   /* Wbmp header identifier is too weak
-  Here checks size validation whether it's acutal wbmp or not. */
-   if (((w * h) >> 3) + position != length)
+   if (type != 0)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;
@@ -163,6 +145,7 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
for (y = 0; y < (int)prop->h; y++)
  {
+if (position + line_length > length) goto bail;
 line = ((unsigned char*) map) + position;
 position += line_length;
 for (x = 0; x < (int)prop->w; x++)

-- 




[EGIT] [core/efl] master 01/01: mono-docs: Honor DESTDIR when installing XML docs

2019-04-23 Thread Xavi Artigas
bu5hm4n pushed a commit to branch master.

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

commit f215108bea699ff1b63afe4350fde626b8e4f661
Author: Xavi Artigas 
Date:   Tue Apr 23 11:53:26 2019 +

mono-docs: Honor DESTDIR when installing XML docs

The DESTDIR envvar was not being taken into account and the XML doc file
ended up in a different place than the DLL.

Fix T7802

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D8687
---
 meson/meson_csharp_docs.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson/meson_csharp_docs.sh b/meson/meson_csharp_docs.sh
index 4e6577a173..ea0a000328 100755
--- a/meson/meson_csharp_docs.sh
+++ b/meson/meson_csharp_docs.sh
@@ -4,4 +4,4 @@
 # as meson's library() call can't track files other than the generated
 # efl_mono.dll
 
-cp $1 $2
+cp "$1" "$DESTDIR$2"

-- 




[EGIT] [core/efl] master 01/01: fix compilation on alpine

2019-04-23 Thread Boris Faure
zmike pushed a commit to branch master.

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

commit a09920c96e0beb33b407399eb052230234856da7
Author: Boris Faure 
Date:   Tue Apr 23 09:40:53 2019 -0400

fix compilation on alpine

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8642
---
 src/Makefile_Evas.am | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 8e419e87f3..95ec86e756 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -2208,6 +2208,7 @@ modules_evas_image_loaders_tgv_module_la_CPPFLAGS = \
 -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/static_libs/rg_etc \
 -I$(top_srcdir)/src/lib/evas/ \
+-I$(top_srcdir)/src/lib/evas/include \
 -DEFL_BUILD \
 @EVAS_CFLAGS@ \
 @NEON_CFLAGS@
@@ -2245,6 +2246,7 @@ modules_evas_image_savers_tgv_module_la_CPPFLAGS = \
 -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/static_libs/rg_etc \
 -I$(top_srcdir)/src/lib/evas/ \
+-I$(top_srcdir)/src/lib/evas/include \
 -DEFL_BUILD \
 @EVAS_CFLAGS@
 

-- 




[EGIT] [core/efl] master 01/01: elput: Remove useless call to eldbus_message_unref

2019-04-23 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 6e48257b790b29ccf488927ca41ade6887e9ff1e
Author: Christopher Michael 
Date:   Tue Apr 23 09:14:52 2019 -0400

elput: Remove useless call to eldbus_message_unref

If we are returning here due to a failure to create the eldbus
message, then there is no point in trying to free it as it is already
null.

@fix
---
 src/lib/elput/elput_logind.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c
index 40e483ebe5..cca5ea7eb7 100644
--- a/src/lib/elput/elput_logind.c
+++ b/src/lib/elput/elput_logind.c
@@ -41,7 +41,6 @@ _logind_device_pause_complete(Elput_Manager *em, uint32_t 
major, uint32_t minor)
if (!msg)
  {
 ERR("Could not create method call for proxy");
-eldbus_message_unref(msg);
 return;
  }
 

-- 




[EGIT] [core/efl] master 01/01: elm_atspi_bridget: Fix resource leak

2019-04-23 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 281e90cda5748eed38bd7629ba80bbd1f89ffc28
Author: Christopher Michael 
Date:   Tue Apr 23 09:13:19 2019 -0400

elm_atspi_bridget: Fix resource leak

Coverity reports and 'req' leaks here so we need to unref the eldbus
message object if we are exiting this function.

Fixes CID1399424

@fix
---
 src/lib/elementary/elm_atspi_bridge.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_atspi_bridge.c 
b/src/lib/elementary/elm_atspi_bridge.c
index c689557d6c..9341b64981 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -4688,7 +4688,11 @@ _elm_atspi_bridge_key_filter(void *data, void *loop 
EINA_UNUSED, int type, void
  }
 
ke = _key_event_info_new(type, key_event, bridge);
-   if (!ke) return EINA_TRUE;
+   if (!ke)
+ {
+eldbus_message_unref(req);
+return EINA_TRUE;
+ }
 
iter = eldbus_message_iter_get(req);
_iter_marshall_key_event(iter, ke);

-- 




[EGIT] [core/efl] master 01/01: meson: enable strict linking

2019-04-23 Thread Marcel Hollerbach
zmike pushed a commit to branch master.

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

commit d40b18540e16df508ad2cf07d7bdc83f7f6669fa
Author: Marcel Hollerbach 
Date:   Tue Apr 23 09:06:52 2019 -0400

meson: enable strict linking

Summary: with this commit you can compile efl with -Wl,-z,defs.

Reviewers: zmike

Reviewed By: zmike

Subscribers: simotek, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8677
---
 src/modules/ecore_evas/engines/extn/meson.build | 2 +-
 src/modules/ecore_imf/ibus/meson.build  | 2 +-
 src/modules/ecore_imf/scim/meson.build  | 2 +-
 src/modules/ecore_imf/xim/meson.build   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/modules/ecore_evas/engines/extn/meson.build 
b/src/modules/ecore_evas/engines/extn/meson.build
index 1afabb3916..901a126f52 100644
--- a/src/modules/ecore_evas/engines/extn/meson.build
+++ b/src/modules/ecore_evas/engines/extn/meson.build
@@ -3,7 +3,7 @@ engine_deps = [ecore_input, ecore_ipc]
 
 shared_module(mod_full_name, engine_src,
   include_directories : config_dir + [engine_include_dir],
-  dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
+  dependencies : [eina, ecore_evas, ecore_input_evas, rt] + engine_deps,
   install : true,
   install_dir : mod_install_dir,
   name_suffix : sys_mod_extension
diff --git a/src/modules/ecore_imf/ibus/meson.build 
b/src/modules/ecore_imf/ibus/meson.build
index dc37b3865e..f81543974b 100644
--- a/src/modules/ecore_imf/ibus/meson.build
+++ b/src/modules/ecore_imf/ibus/meson.build
@@ -4,7 +4,7 @@ mod_src = files([
   'ibus_imcontext.h'
 ])
 
-mod_deps = [ecore, ecore_imf, ecore_x, dependency('ibus-1.0'), 
dependency('glib-2.0'), ecore_evas]
+mod_deps = [ecore, ecore_imf, ecore_x, ecore_x_deps, dependency('ibus-1.0'), 
dependency('glib-2.0'), ecore_evas]
 
 shared_module(mod_name,
 mod_src,
diff --git a/src/modules/ecore_imf/scim/meson.build 
b/src/modules/ecore_imf/scim/meson.build
index 102c631281..9356a00526 100644
--- a/src/modules/ecore_imf/scim/meson.build
+++ b/src/modules/ecore_imf/scim/meson.build
@@ -9,7 +9,7 @@ if not scim_dep.found()
   scim_dep = dependency('scim-1.0')
 endif
 
-mod_deps = [ecore, ecore_imf, ecore_x, ecore_evas, scim_dep, 
dependency('glib-2.0')]
+mod_deps = [ecore, ecore_imf, ecore_x, ecore_x_deps, ecore_evas, scim_dep, 
dependency('glib-2.0')]
 
 shared_module(mod_name,
 mod_src,
diff --git a/src/modules/ecore_imf/xim/meson.build 
b/src/modules/ecore_imf/xim/meson.build
index 5db9e187c5..4ffa1f177c 100644
--- a/src/modules/ecore_imf/xim/meson.build
+++ b/src/modules/ecore_imf/xim/meson.build
@@ -2,7 +2,7 @@ mod_src = files([
   'ecore_imf_xim.c',
 ])
 
-mod_deps = [ecore, ecore_imf, ecore_input, ecore_x, ecore_evas]
+mod_deps = [ecore, ecore_imf, ecore_input, ecore_x, ecore_x_deps, ecore_evas]
 
 shared_module(mod_name,
 mod_src,

-- 




[EGIT] [core/efl] master 01/01: evas wbmp: remove unnecessary size overflow.

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 1061d0a75164111ef5dc8df21f446023438f39bc
Author: Hermet Park 
Date:   Tue Apr 23 21:31:06 2019 +0900

evas wbmp: remove unnecessary size overflow.

since this patch 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
it checks size validation earlier,
this varification doesn't need anymore...
---
 src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 00e67f3713..7f56da6d02 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -163,7 +163,6 @@ evas_image_load_file_data_wbmp(void *loader_data,
 
for (y = 0; y < (int)prop->h; y++)
  {
-if (position + line_length > length) goto bail;
 line = ((unsigned char*) map) + position;
 position += line_length;
 for (x = 0; x < (int)prop->w; x++)

-- 




[EGIT] [apps/terminology] master 01/01: dbl chars - another range with only some emoji to be doubled

2019-04-23 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 208e877e8f9bd45fd86944b35f87d48d26a6f814
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Apr 23 12:12:02 2019 +0100

dbl chars - another range with only some emoji to be doubled
---
 src/bin/termptydbl.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/bin/termptydbl.c b/src/bin/termptydbl.c
index daf0ef6..0988593 100644
--- a/src/bin/termptydbl.c
+++ b/src/bin/termptydbl.c
@@ -26,7 +26,7 @@ _termpty_is_dblwidth_slow_get(const Termpty *ty, int g)
// [ 0x2460 ->  0x24FF]
// [ 0x2600 ->  0x27EF]
// [ 0x2900 ->  0x29FF]
-   // [ 0x2B00 ->  0x2BFF]
+   // [ 0x2B00 ->  0x2BFF] !!! unicode only 2B55 2B50
// [ 0x2C60 ->  0x2C7F]
// [ 0x2E00 ->  0x2E7F]
// [ 0x3000 ->  0x303F]
@@ -97,7 +97,8 @@ _termpty_is_dblwidth_slow_get(const Termpty *ty, int g)
 ((g >= 0x2460) && (g <= 0x24FF)) ||
 ((g >= 0x2600) && (g <= 0x27EF)) ||
 ((g >= 0x2900) && (g <= 0x29FF)) ||
-((g >= 0x2B00) && (g <= 0x2BFF)) ||
+((g >= 0x2B50)) ||
+((g >= 0x2B55)) ||
 ((g >= 0x2C60) && (g <= 0x2C7F)) ||
 ((g >= 0x2E00) && (g <= 0x2E7F)) ||
 ((g >= 0x3000) && (g <= 0x303F)) ||

-- 




[EGIT] [tools/examples] master 01/01: csharp: Update examples after repeated method name

2019-04-23 Thread Lauro Moura
xartigas pushed a commit to branch master.

http://git.enlightenment.org/tools/examples.git/commit/?id=595be4aa12fe5a6ab5fa177fb308a2b880acaf65

commit 595be4aa12fe5a6ab5fa177fb308a2b880acaf65
Author: Lauro Moura 
Date:   Tue Apr 23 12:32:06 2019 +0200

csharp: Update examples after repeated method name

Summary:
In essence, IPack.DoPack became IPack.Pack

Depends on D8650

Reviewers: felipealmeida, vitor.sousa, segfaultxavi

Reviewed By: segfaultxavi

Differential Revision: https://phab.enlightenment.org/D8651
---
 apps/csharp/texteditor/src/texteditor_main.cs | 8 
 reference/csharp/ui/src/focus_main.cs | 8 
 reference/csharp/ui/src/ui_container.cs   | 4 ++--
 reference/csharp/ui/src/ui_sizing.cs  | 6 +++---
 tutorial/csharp/hello-gui/src/gui_main.cs | 4 ++--
 5 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/apps/csharp/texteditor/src/texteditor_main.cs 
b/apps/csharp/texteditor/src/texteditor_main.cs
index e65ec3a8..c77fa3cf 100644
--- a/apps/csharp/texteditor/src/texteditor_main.cs
+++ b/apps/csharp/texteditor/src/texteditor_main.cs
@@ -84,7 +84,7 @@ public class TextEditor : Efl.Csharp.Application
 image.SetIcon(iconName);
 button.SetContent(image);
 
-toolbar.DoPack(button);
+toolbar.Pack(button);
 return button;
 }
 
@@ -98,7 +98,7 @@ public class TextEditor : Efl.Csharp.Application
 // space will be given to the other object in the parent container.
 bar.SetHintWeight(1, 0);
 bar.SetDirection(Efl.Ui.Dir.Horizontal);
-parent.DoPack(bar);
+parent.Pack(bar);
 
 // "New" button
 toolbarButtonNew = GUIToolbarButtonAdd(bar, "New", "document-new",
@@ -144,7 +144,7 @@ public class TextEditor : Efl.Csharp.Application
 // As a result, it pushes the "Quit" button to the right margin and
 // the rest to the left.
 Efl.Ui.Box box = new Efl.Ui.Box(parent);
-bar.DoPack(box);
+bar.Pack(box);
 
 // "Quit" button
 GUIToolbarButtonAdd(bar, "Quit", "application-exit", (object sender, 
EventArgs e) => { Efl.Ui.Config.Exit(); } );
@@ -175,7 +175,7 @@ public class TextEditor : Efl.Csharp.Application
 editorTextBox.SetHintSizeMin(new Eina.Size2D(360, 240));
 editorTextBox.ChangedEvt += EditorChangedCb;
 editorTextBox.ChangedUserEvt += EditorChangedCb;
-box.DoPack(editorTextBox);
+box.Pack(editorTextBox);
 
 // Initial refresh of the toolbar buttons
 GUIToolbarRefresh();
diff --git a/reference/csharp/ui/src/focus_main.cs 
b/reference/csharp/ui/src/focus_main.cs
index 494c86a3..cc806f74 100644
--- a/reference/csharp/ui/src/focus_main.cs
+++ b/reference/csharp/ui/src/focus_main.cs
@@ -32,14 +32,14 @@ public class Example : Efl.Csharp.Application
   checkbox.SetText("Check " + i);
   checkbox.SetHintAlign(0.5, 0.5);
   checkbox.FocusChangedEvt += FocusChangedCb;
-  vbox.DoPack(checkbox);
+  vbox.Pack(checkbox);
   if (i == 0) first_checkbox = checkbox;
 };
 
 // Create an horizontal box to contain the two buttons
 var hbox = new Efl.Ui.Box(vbox);
 hbox.SetDirection(Efl.Ui.Dir.Horizontal);
-vbox.DoPack(hbox);
+vbox.Pack(hbox);
 
 // Create a "Focus Mover" button
 var button = new Efl.Ui.Button(hbox);
@@ -50,7 +50,7 @@ public class Example : Efl.Csharp.Application
 // Manually transfer focus to the first check box
 Efl.Ui.Focus.Util.Focus(first_checkbox);
 };
-hbox.DoPack(button);
+hbox.Pack(button);
 
 // Create a Quit button
 button = new Efl.Ui.Button(hbox);
@@ -60,7 +60,7 @@ public class Example : Efl.Csharp.Application
 Console.WriteLine("Clicked Quit");
 Efl.Ui.Config.Exit();
 };
-hbox.DoPack(button);
+hbox.Pack(button);
 
 // Show the focus highlight
 win.SetFocusHighlightEnabled(true);
diff --git a/reference/csharp/ui/src/ui_container.cs 
b/reference/csharp/ui/src/ui_container.cs
index 0cb9c230..3d3c7e12 100644
--- a/reference/csharp/ui/src/ui_container.cs
+++ b/reference/csharp/ui/src/ui_container.cs
@@ -26,7 +26,7 @@ public class Example : Efl.Csharp.Application
   // Button 2 has its maximum size limited, so it will be smaller
   button.SetHintSizeMax(new Eina.Size2D(100,50));
 }
-box.DoPack(button);
+box.Pack(button);
 }
 
 return box;
@@ -46,7 +46,7 @@ public class Example : Efl.Csharp.Application
 // Add 4 buttons, following the defined table flow
 button = new Efl.Ui.Button(win);
 button.SetText($"Table {i}");
-table.DoPack(button);
+table.Pack(button);
 }
 
 // Last button spans two table cells
diff --git 

[EGIT] [core/efl] master 01/01: csharp: Fixes repeated method names.

2019-04-23 Thread Lauro Moura
xartigas pushed a commit to branch master.

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

commit cb0c20eaf3ba89ab850af5b813e6ddfb6cc4a15a
Author: Lauro Moura 
Date:   Tue Apr 23 12:19:09 2019 +0200

csharp: Fixes repeated method names.

Summary:
After D8397, interfaces have the I prefix again, so the "Do" prefix on
methods with repeated names may not be needed for them in most cases.

This commit also consolidates the method_managed_name calls with the
overload receiving attributes::function_def instead of plain name.

Fixes T7791

Depends on D8645

Reviewers: vitor.sousa, felipealmeida, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7791

Differential Revision: https://phab.enlightenment.org/D8650
---
 src/bin/eolian_mono/eolian/mono/documentation.hh |  9 -
 src/bin/eolian_mono/eolian/mono/name_helpers.hh  | 13 -
 2 files changed, 8 insertions(+), 14 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/documentation.hh 
b/src/bin/eolian_mono/eolian/mono/documentation.hh
index 2cad038e25..ac072a4220 100644
--- a/src/bin/eolian_mono/eolian/mono/documentation.hh
+++ b/src/bin/eolian_mono/eolian/mono/documentation.hh
@@ -74,8 +74,7 @@ struct documentation_generator
if (blacklist::is_function_blacklisted(
  ::eolian_function_full_c_name_get(function, ftype))) return 
"";
name += ".";
-   name += name_helpers::managed_method_name(
- ::eolian_object_short_name_get(klass), eo_name);
+   name += name_helpers::managed_method_name({function, ftype, NULL, 
eolian_object_unit_get(EOLIAN_OBJECT(function))});
break;
  case ::EOLIAN_PROP_SET:
name += ".Set";
@@ -118,7 +117,7 @@ struct documentation_generator
   case attributes::function_type::prop_get:
 if (blacklist::is_function_blacklisted(func.c_name))return "";
 if (!name.empty()) name += ".";
-name += name_helpers::managed_method_name(func.klass.eolian_name, 
func.name);
+name += name_helpers::managed_method_name(func);
 break;
   default:
 // No need to deal with property as function_defs are converted to 
get/set when building a given klass_def.
@@ -432,7 +431,7 @@ struct documentation_generator
 
return generate_all_tag_examples(sink,
 
name_helpers::klass_full_concrete_or_interface_name(func.klass),
-
name_helpers::managed_method_name(func.klass.eolian_name, func.name),
+
name_helpers::managed_method_name(func),
 context);
}
 
@@ -451,7 +450,7 @@ struct documentation_generator
 
return generate_all_tag_examples(sink,
 
name_helpers::klass_full_concrete_or_interface_name(func.klass),
-
name_helpers::managed_method_name(func.klass.eolian_name, func.name),
+
name_helpers::managed_method_name(func),
 context);
}
 
diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh 
b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
index 4d9fff92de..1ae35cab6d 100644
--- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh
+++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh
@@ -176,22 +176,22 @@ inline std::string managed_namespace(std::string const& 
ns)
   return escape_keyword(utils::remove_all(ns, '_'));
 }
 
-inline std::string managed_method_name(std::string const& klass, std::string 
const& name)
+inline std::string managed_method_name(attributes::function_def const& f)
 {
-  std::vector names = utils::split(name, '_');
+  std::vector names = utils::split(f.name, '_');
 
   name_helpers::reorder_verb(names);
 
   std::string candidate = escape_keyword(utils::to_pascal_case(names));
 
   // Some eolian methods have the same name as their parent class
-  if (candidate == klass)
+  if (candidate == klass_concrete_or_interface_name(f.klass))
   candidate = "Do" + candidate;
 
   // Avoid clashing with System.Object.GetType
   if (candidate == "GetType" || candidate == "SetType")
 {
-   candidate.insert(3, klass);
+   candidate.insert(3, f.klass.eolian_name);
 }
 
   return candidate;
@@ -203,11 +203,6 @@ inline std::string managed_name(std::string const& name, 
char separator='_')
   return utils::to_pascal_case(tokens);
 }
 
-inline std::string managed_method_name(attributes::function_def const& f)
-{
-  return managed_method_name(f.klass.eolian_name, f.name);
-}
-
 inline std::string alias_full_eolian_name(attributes::alias_def const& alias)
 {
 

-- 




[EGIT] [apps/terminology] master 01/01: dbl char - add final unicode full emoji list link

2019-04-23 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit ce61d0c64898a8d2f977bbc9405d761f9dbd97ae
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Apr 23 11:21:08 2019 +0100

dbl char - add final unicode full emoji list link
---
 src/bin/termptydbl.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/bin/termptydbl.c b/src/bin/termptydbl.c
index e0ed7e4..daf0ef6 100644
--- a/src/bin/termptydbl.c
+++ b/src/bin/termptydbl.c
@@ -12,7 +12,8 @@ _termpty_is_dblwidth_slow_get(const Termpty *ty, int g)
// ftp://ftp.unicode.org/Public/UNIDATA/EastAsianWidth.txt
 
// emoji should be double:
-   // https://apps.timwhitlock.info/emoji/tables/unicode
+   // http://www.unicode.org/emoji/charts/full-emoji-list.html
+   //
// [ 0x0080 ->  0x02AF] !!! handle carefully **
// [ 0x0300 ->  0x03FF]
// [ 0x0600 ->  0x06FF]

-- 




[EGIT] [core/efl] master 01/01: evas image: check format more strong way for wbmp.

2019-04-23 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 68fe9ec6bf60b4730ad7fdbf2698dc7aa130b94d
Author: Hermet Park 
Date:   Tue Apr 23 19:04:21 2019 +0900

evas image: check format more strong way for wbmp.

wbmp format doesn't have any tags for verifying file header,
It's easy to pass other format headers if they have the first 1 byte 0x0,

This ocassionally brings wrong result (= succeeed loading image),
if unknown file format is tried.

So, to make it sure, here verify the size of image additionally.
if the image size is not expected, It returns fail as the result.

This problem is actually happened in this scenario.

open any mpeg file with elm_image.
elm_image_file_set() will return true though it fails to read data.
since wbmp make it pass to succeed.

@fix
---
 .../evas/image_loaders/wbmp/evas_image_load_wbmp.c   | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c 
b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
index 633afe9567..00e67f3713 100644
--- a/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
+++ b/src/modules/evas/image_loaders/wbmp/evas_image_load_wbmp.c
@@ -73,6 +73,15 @@ evas_image_load_file_head_wbmp(void *loader_data,
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
+
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
if ((w < 1) || (h < 1) || (w > IMG_MAX_SIZE) || (h > IMG_MAX_SIZE) ||
IMG_TOO_BIG(w, h))
  {
@@ -116,11 +125,20 @@ evas_image_load_file_data_wbmp(void *loader_data,
if (!map) goto bail;
 
if (read_mb(, map, length, ) < 0) goto bail;
+
+   if (type != 0)
+ {
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+goto bail;
+ }
+
position++; /* skipping one byte */
if (read_mb(, map, length, ) < 0) goto bail;
if (read_mb(, map, length, ) < 0) goto bail;
 
-   if (type != 0)
+   /* Wbmp header identifier is too weak
+  Here checks size validation whether it's acutal wbmp or not. */
+   if (((w * h) >> 3) + position != length)
  {
 *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto bail;

-- 




[EGIT] [core/efl] master 01/01: mono-docs: Update DocFX blacklist

2019-04-23 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 7f0e9f9df7474465aed654d3de3c7bf3701a92ee
Author: Xavi Artigas 
Date:   Tue Apr 23 12:17:11 2019 +0200

mono-docs: Update DocFX blacklist

NativeInherit sibling classes have been replaced by NativeMethods internal 
classes.
---
 doc/docfx/filterConfig.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/doc/docfx/filterConfig.yml b/doc/docfx/filterConfig.yml
index d6ddf9d5b4..87d52fac80 100644
--- a/doc/docfx/filterConfig.yml
+++ b/doc/docfx/filterConfig.yml
@@ -1,6 +1,6 @@
 apiRules:
 - exclude:
-uidRegex: ^.*NativeInherit$
+uidRegex: ^.*NativeMethods$
 - exclude:
 uidRegex: ^.*NativeStruct$
 - include:

-- 




[EGIT] [core/efl] master 01/01: csharp: refactor native_inherit into a nested class.

2019-04-23 Thread Lauro Moura
xartigas pushed a commit to branch master.

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

commit 766e837a861e401d574d225ac8473367218788b3
Author: Lauro Moura 
Date:   Tue Apr 23 11:48:03 2019 +0200

csharp: refactor native_inherit into a nested class.

Summary:
Efl.Ui.Button_NativeInherit -> Efl.Ui.Button.NativeMethods

Will help using EFL# with completion tools.

* Added pragmas around the native function definitions to avoid
  warnings related to the name of native functions
* Updated some style fixes for native function wrappers.

Their preamble and epilogue styling will be dealt with in future diffs.

As a side effect, concrete classes had to be made public again as they
hold the function pointers to the native methods of their interfaces.
Thus a third party library class that implements IFoo should be able to
access these methods.

Fixes T7743

Depends on D8622

Reviewers: vitor.sousa, felipealmeida, segfaultxavi

Reviewed By: vitor.sousa, segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T7743

Differential Revision: https://phab.enlightenment.org/D8645
---
 .../eolian_mono/eolian/mono/function_definition.hh |  77 +---
 .../eolian/mono/function_registration.hh   |  27 +++---
 src/bin/eolian_mono/eolian/mono/klass.hh   | 102 +
 src/bin/eolian_mono/eolian/mono/name_helpers.hh|  20 +---
 4 files changed, 124 insertions(+), 102 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh 
b/src/bin/eolian_mono/eolian/mono/function_definition.hh
index 23025480c0..0dbd097f1d 100644
--- a/src/bin/eolian_mono/eolian/mono/function_definition.hh
+++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh
@@ -34,12 +34,14 @@ struct native_function_definition_generator
 EINA_CXX_DOM_LOG_DBG(eolian_mono::domain) << 
"native_function_definition_generator: " << f.c_name << std::endl;
 if(blacklist::is_function_blacklisted(f, context))
   return true;
-else
-  {
+
+auto const& indent = current_indentation(context);
+
+// Delegate for the C# method we will export to EO as a method 
implementation.
 if(!as_generator
-   ("\n\n" << scope_tab
-<< eolian_mono::marshall_annotation(true)
-<< " private delegate "
+   (
+indent << eolian_mono::marshall_annotation(true) << "\n"
+<< indent << "private delegate "
 << eolian_mono::marshall_type(true)
 << " "
 << string
@@ -49,14 +51,15 @@ struct native_function_definition_generator
 (
  (marshall_annotation << " " << marshall_parameter)
 ) % ", ")
-<< ");\n")
+<< ");\n\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, 
f.parameters), context))
   return false;
 
+// API delegate is the wrapper for the Eo methods exported from C that we 
will use from C#.
 if(!as_generator
-   ("\n\n" << scope_tab
-<< eolian_mono::marshall_annotation(true)
-<< " public delegate "
+   (
+indent << eolian_mono::marshall_annotation(true) << "\n"
+<< indent << "public delegate "
 << eolian_mono::marshall_type(true)
 << " "
 << string << "_api_delegate(" << (f.is_static ? "" : "System.IntPtr 
obj")
@@ -65,17 +68,18 @@ struct native_function_definition_generator
 (
  (marshall_annotation << " " << marshall_parameter)
 ) % ", ")
-<< ");\n")
+<< ");\n\n")
.generate(sink, std::make_tuple(f.return_type, f.return_type, f.c_name, 
f.parameters), context))
   return false;
 
+// Delegate holder (so it can't be collected).
 if(!as_generator
-   (scope_tab
-<< " public static Efl.Eo.FunctionWrapper<" << string << 
"_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
-<< string << "_api_delegate>(_Module, \"" << string << "\");\n")
+   (indent << "public static Efl.Eo.FunctionWrapper<" << string << 
"_api_delegate> " << string << "_ptr = new Efl.Eo.FunctionWrapper<"
+  << string << "_api_delegate>(Module, \"" << string << "\");\n\n")
.generate(sink, std::make_tuple(f.c_name, f.c_name, f.c_name, 
f.c_name), context))
   return false;
 
+// Actual method implementation to be called from C.
 std::string return_type;
 
if(!as_generator(eolian_mono::type(true)).generate(std::back_inserter(return_type),
 f.return_type, context))
   return false;
@@ -92,34 +96,37 @@ struct native_function_definition_generator
   self = "";
 
 if(!as_generator
-   (scope_tab
-<< " private static "
+   (indent << "private static "
 << eolian_mono::marshall_type(true) << " "
 << string
 << "(System.IntPtr obj, System.IntPtr pd"
 

[EGIT] [core/efl] master 01/01: mono-docs: Use full name in page title

2019-04-23 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 6547d45b817fbb20333878d189c4def26cdfa819
Author: Xavi Artigas 
Date:   Tue Apr 23 11:07:29 2019 +0200

mono-docs: Use full name in page title

Reference page titles are now "Class Efl.Ui.Win" instead of "Class Win".
And also remove Namespace and Assembly sections.
Namespace is redundant since we use fully-qualified names everywhere.
Assembly is useless since we build the docs from the source so this entry is
always "temp.dll".
---
 .../default_efl/partials/class.header.tmpl.partial |  2 -
 doc/docfx/default_efl/partials/title.tmpl.partial  | 43 ++
 2 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/doc/docfx/default_efl/partials/class.header.tmpl.partial 
b/doc/docfx/default_efl/partials/class.header.tmpl.partial
index 3bdf956fc1..561d929da1 100644
--- a/doc/docfx/default_efl/partials/class.header.tmpl.partial
+++ b/doc/docfx/default_efl/partials/class.header.tmpl.partial
@@ -19,8 +19,6 @@
 {{/inClass}}
 
 {{#inheritedMembers.0}}
-{{__global.namespace}}: 
{{{namespace.specName.0.value}}}
-{{__global.assembly}}: {{assemblies.0}}.dll
 {{__global.syntax}}
 
   {{syntax.content.0.value}}
diff --git a/doc/docfx/default_efl/partials/title.tmpl.partial 
b/doc/docfx/default_efl/partials/title.tmpl.partial
new file mode 100644
index 00..186d9171d3
--- /dev/null
+++ b/doc/docfx/default_efl/partials/title.tmpl.partial
@@ -0,0 +1,43 @@
+{{!Copyright (c) Microsoft. All rights reserved. Licensed under the MIT 
license. See LICENSE file in the project root for full license information.}}
+{{#isNamespace}}
+Namespace {{fullName.0.value}}
+{{/isNamespace}}
+{{#inClass}}
+Class {{fullName.0.value}}
+{{/inClass}}
+{{#inStruct}}
+Struct {{fullName.0.value}}
+{{/inStruct}}
+{{#inInterface}}
+Interface {{fullName.0.value}}
+{{/inInterface}}
+{{#inEnum}}
+Enum {{fullName.0.value}}
+{{/inEnum}}
+{{#inDelegate}}
+Delegate {{fullName.0.value}}
+{{/inDelegate}}
+{{#inConstructor}}
+Constructor {{fullName.0.value}}
+{{/inConstructor}}
+{{#inField}}
+Field {{fullName.0.value}}
+{{/inField}}
+{{#inProperty}}
+Property {{fullName.0.value}}
+{{/inProperty}}
+{{#inMethod}}
+Method {{fullName.0.value}}
+{{/inMethod}}
+{{#inEvent}}
+Event {{fullName.0.value}}
+{{/inEvent}}
+{{#inOperator}}
+Operator {{fullName.0.value}}
+{{/inOperator}}
+{{#inEii}}
+Explict Interface Implementation {{fullName.0.value}}
+{{/inEii}}
+{{#inPackage}}
+Package {{fullName.0.value}}
+{{/inPackage}}

-- 




[EGIT] [core/efl] master 01/01: mono-docs: Use full name in list of derived classes

2019-04-23 Thread Xavi Artigas
xartigas pushed a commit to branch master.

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

commit 8e3fa3a97f827118ce051b3899e2091164b89bef
Author: Xavi Artigas 
Date:   Tue Apr 23 10:51:56 2019 +0200

mono-docs: Use full name in list of derived classes

In the EFL API we have several objects with the same name in different 
namespaces.
Thus it is important to use fully-qualified names throughout the docs, to 
avoid
confusion.
However, the default DocFX templates prefer using only simple class names.
The default templates have already been modified to use full names 
everywhere
except in the list of derived classes in the hierarchy section, where a 
DocFX
bug was hit.
This commit is a workaround to that bug (see
https://github.com/dotnet/docfx/issues/3769#issuecomment-485616064 )
so full names (with links) are used in the whole hierarchy.
---
 doc/docfx/default_efl/partials/class.header.tmpl.partial |  2 +-
 doc/docfx/gendoc.sh  | 14 ++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/doc/docfx/default_efl/partials/class.header.tmpl.partial 
b/doc/docfx/default_efl/partials/class.header.tmpl.partial
index 1a445ab3ca..3bdf956fc1 100644
--- a/doc/docfx/default_efl/partials/class.header.tmpl.partial
+++ b/doc/docfx/default_efl/partials/class.header.tmpl.partial
@@ -12,7 +12,7 @@
   {{/inheritance}}
   {{fullName.0.value}}
   {{#derivedClasses}}
-{{{specName.0.value}}}
+
   {{/derivedClasses}}
   
 
diff --git a/doc/docfx/gendoc.sh b/doc/docfx/gendoc.sh
index 99da2d9f18..48d781cd81 100755
--- a/doc/docfx/gendoc.sh
+++ b/doc/docfx/gendoc.sh
@@ -22,5 +22,19 @@ for f in `ls api/*.yml`; do
   sed -e 's/\(https://github.com/dotnet/docfx/issues/3769#issuecomment-485616064
+for f in `grep -l derivedClasses api/*.yml`; do
+  sed "1,/^  derivedClasses:$/d" $f > /tmp/efl_docfx_gendoc
+  sed -i "/^  [^-]/,$ d" /tmp/efl_docfx_gendoc
+  sed -i "/^[^ ]/,$ d" /tmp/efl_docfx_gendoc
+  while read dash class
+  do
+sed -i "s/^references:$/references:\n- uid: $class\n  fullName: $class/g" 
$f
+  done <<< "$(cat /tmp/efl_docfx_gendoc)"
+done;
+rm -rf /tmp/efl_docfx_gendoc
+
 # DocFX Step 2: Generate HTML files
 mono bin/docfx.exe build docfx.json && echo "Docs ready in the _site folder!"

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Prepare 1.22 release

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=8ff30f9eddd4bd5b89fae96ad090f964480e4179

commit 8ff30f9eddd4bd5b89fae96ad090f964480e4179
Author: Dave Andreoli 
Date:   Tue Apr 23 09:18:32 2019 +0200

Prepare 1.22 release
---
 ChangeLog   | 8 
 efl/__init__.py | 4 ++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f6a0892..caae1a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,12 @@
 
+===
+2019-04-23  v1.22.0
+===
+
+Changes:
+ * Switched to Cython 0.29.7 for the tarball generation
+
+
 ===
 2018-08-24  v1.21.0
 ===
diff --git a/efl/__init__.py b/efl/__init__.py
index 6d93b1d..834da92 100644
--- a/efl/__init__.py
+++ b/efl/__init__.py
@@ -20,5 +20,5 @@
 # pre-release: "1.13.0-beta1" ( 1, 13, 0 )
 # release: "1.13.0" ( 1, 13, 0 )
 
-__version__ = "1.21.99"
-__version_info__ = ( 1, 21, 99 )
+__version__ = "1.22.0"
+__version_info__ = ( 1, 22, 0 )

-- 




[EGIT] [bindings/python/python-efl] master 01/01: Follow Eo class name changes

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=d544412cd1f3f8c6ab0f8e35df0ae379778a15b7

commit d544412cd1f3f8c6ab0f8e35df0ae379778a15b7
Author: Dave Andreoli 
Date:   Tue Apr 23 09:13:45 2019 +0200

Follow Eo class name changes
---
 efl/elementary/background.pxi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/efl/elementary/background.pxi b/efl/elementary/background.pxi
index 389ee5d..a3b6184 100644
--- a/efl/elementary/background.pxi
+++ b/efl/elementary/background.pxi
@@ -184,4 +184,4 @@ cdef class Background(LayoutClass):
 def load_size_set(self, w, h):
 elm_bg_load_size_set(self.obj, w, h)
 
-_object_mapping_register("Efl.Ui.Bg_Widget_Legacy", Background)
+_object_mapping_register("Efl.Ui.Bg_Legacy", Background)

-- 




[EGIT] [core/efl] master 01/01: elc_hoversel: fix selected event compatibility issue

2019-04-23 Thread Taehyub Kim
bu5hm4n pushed a commit to branch master.

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

commit f8377ed549f758436289de2ea212572e94ca251e
Author: Taehyub Kim 
Date:   Tue Apr 23 06:48:58 2019 +

elc_hoversel: fix selected event compatibility issue

Fix selected event compatibility issue.
When item of hoversel is selected,
item selected callback does not call in hoversel sample of elementary_test.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D8683
---
 src/lib/elementary/elc_hoversel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index a7b5685f21..56b7113b62 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -176,7 +176,7 @@ _on_item_clicked(void *data EINA_UNUSED, const Efl_Event 
*event EINA_UNUSED)
ELM_HOVERSEL_DATA_GET(obj2, sd);
 
if (item->func) item->func((void *)WIDGET_ITEM_DATA_GET(eo_it), obj2, 
eo_it);
-   efl_event_callback_legacy_call(obj2, EFL_UI_EVENT_ITEM_SELECTED, eo_it);
+   evas_object_smart_callback_call(obj2, "selected", eo_it);
 
evas_object_event_callback_add(sd->hover, EVAS_CALLBACK_DEL, _auto_update, 
item);
 

-- 




[EGIT] [bindings/python/python-efl] master 01/02: Fix for 1.22 Eo api changes

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=4fa39916814ebe1ea7aee844d3cbd9f00f60

commit 4fa39916814ebe1ea7aee844d3cbd9f00f60
Author: Dave Andreoli 
Date:   Tue Apr 23 08:54:13 2019 +0200

Fix for 1.22 Eo api changes
---
 efl/eo/efl.eo.pyx| 6 +++---
 include/efl.c_eo.pxd | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/efl/eo/efl.eo.pyx b/efl/eo/efl.eo.pyx
index 6985308..4875b8b 100644
--- a/efl/eo/efl.eo.pyx
+++ b/efl/eo/efl.eo.pyx
@@ -71,13 +71,13 @@ init()
 atexit.register(shutdown)
 
 def event_global_freeze_count_get():
-return efl_event_global_freeze_count_get(efl_object_class_get())
+return efl_event_global_freeze_count_get()
 
 def event_global_freeze():
-efl_event_global_freeze(efl_object_class_get())
+efl_event_global_freeze()
 
 def event_global_thaw():
-efl_event_global_thaw(efl_object_class_get())
+efl_event_global_thaw()
 
 ##
 
diff --git a/include/efl.c_eo.pxd b/include/efl.c_eo.pxd
index 37e536a..d8dd6e1 100644
--- a/include/efl.c_eo.pxd
+++ b/include/efl.c_eo.pxd
@@ -124,9 +124,9 @@ cdef extern from "Eo.h":
 void efl_event_thaw(Eo *obj)
 int efl_event_freeze_count_get(const Eo *obj)
 
-void efl_event_global_freeze(Eo *obj)
-void efl_event_global_thaw(Eo *obj)
-int efl_event_global_freeze_count_get(const Eo *obj)
+void efl_event_global_freeze()
+void efl_event_global_thaw()
+int efl_event_global_freeze_count_get()
 
 Eina_Bool efl_event_callback_add(Eo *obj, const Efl_Event_Description 
*desc, Efl_Event_Cb cb, const void *data)
 Eina_Bool efl_event_callback_del(Eo *obj, const Efl_Event_Description 
*desc, Efl_Event_Cb cb, const void *data)

-- 




[EGIT] [bindings/python/python-efl] master 02/02: Silence Cython warnings

2019-04-23 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3b0552259dff8355a92fcb57f7ac3b56bc741dd7

commit 3b0552259dff8355a92fcb57f7ac3b56bc741dd7
Author: Dave Andreoli 
Date:   Tue Apr 23 08:55:29 2019 +0200

Silence Cython warnings

I'm keeping python 2 style for compatibility reasons
---
 setup.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/setup.py b/setup.py
index 82dfe26..3ed0028 100755
--- a/setup.py
+++ b/setup.py
@@ -462,6 +462,7 @@ if set(("build", "build_ext", "install", "bdist", "sdist")) 
& set(sys.argv):
 #"c_string_encoding": "utf-8",
 "embedsignature": True,
 "binding": True,
+"language_level": 2,
 })
 
 

--