[EGIT] [core/efl] master 01/01: [elm] Add missing sizing eval hook at check

2019-09-15 Thread Subodh Kumar
bu5hm4n pushed a commit to branch master.

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

commit 8c90deecd737cf025ce1c3162e50937639c30f09
Author: Subodh Kumar 
Date:   Tue Jul 23 09:37:09 2019 +0200

[elm] Add missing sizing eval hook at check

Summary:
check is not shown in our Tizen demo.
sizing eval missing.

@fix

Test Plan: NA

Reviewers: zmike, Hermet, cedric, bu5hm4n

Subscribers: bu5hm4n, #reviewers, #committers

Tags: #efl

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9378
---
 src/lib/elementary/efl_ui_check.c | 16 +++-
 src/lib/elementary/efl_ui_radio.c | 16 +---
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/src/lib/elementary/efl_ui_check.c 
b/src/lib/elementary/efl_ui_check.c
index 9f575621ff..a5072728ea 100644
--- a/src/lib/elementary/efl_ui_check.c
+++ b/src/lib/elementary/efl_ui_check.c
@@ -129,6 +129,19 @@ _efl_ui_check_efl_ui_widget_on_access_activate(Eo *obj 
EINA_UNUSED, Efl_Ui_Check
return EINA_TRUE;
 }
 
+EOLIAN static void
+_efl_ui_check_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Check_Data *_pd 
EINA_UNUSED)
+{
+   Evas_Coord minw = -1, minh = -1;
+   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+
+   elm_coords_finger_size_adjust(1, , 1, );
+   edje_object_size_min_restricted_calc
+ (wd->resize_obj, , , minw, minh);
+   evas_object_size_hint_min_set(obj, minw, minh);
+   evas_object_size_hint_max_set(obj, -1, -1);
+}
+
 static Eina_Bool
 _key_action_activate(Evas_Object *obj, const char *params EINA_UNUSED)
 {
@@ -396,7 +409,8 @@ ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
 
 #define EFL_UI_CHECK_EXTRA_OPS \
ELM_LAYOUT_CONTENT_ALIASES_OPS(MY_CLASS_PFX), \
-   ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX)
+   ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
+   ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_check)
 
 
 #include "efl_ui_check.eo.c"
diff --git a/src/lib/elementary/efl_ui_radio.c 
b/src/lib/elementary/efl_ui_radio.c
index 099001fdb3..edbc14844f 100644
--- a/src/lib/elementary/efl_ui_radio.c
+++ b/src/lib/elementary/efl_ui_radio.c
@@ -181,19 +181,6 @@ _efl_ui_radio_efl_ui_widget_theme_apply(Eo *obj, 
Efl_Ui_Radio_Data *sd EINA_UNUS
return int_ret;
 }
 
-EOLIAN static void
-_efl_ui_radio_elm_layout_sizing_eval(Eo *obj, Efl_Ui_Radio_Data *_pd 
EINA_UNUSED)
-{
-   Evas_Coord minw = -1, minh = -1;
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
-   elm_coords_finger_size_adjust(1, , 1, );
-   edje_object_size_min_restricted_calc
- (wd->resize_obj, , , minw, minh);
-   evas_object_size_hint_min_set(obj, minw, minh);
-   evas_object_size_hint_max_set(obj, -1, -1);
-}
-
 static void
 _radio_on_cb(void *data,
  Evas_Object *obj EINA_UNUSED,
@@ -327,8 +314,7 @@ ELM_WIDGET_KEY_DOWN_DEFAULT_IMPLEMENT(efl_ui_radio, 
Efl_Ui_Radio_Data)
 ELM_LAYOUT_TEXT_ALIASES_IMPLEMENT(MY_CLASS_PFX)
 
 #define EFL_UI_RADIO_EXTRA_OPS \
-   ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX), \
-   ELM_LAYOUT_SIZING_EVAL_OPS(efl_ui_radio)
+   ELM_LAYOUT_TEXT_ALIASES_OPS(MY_CLASS_PFX)
 
 #include "efl_ui_radio.eo.c"
 #include "efl_ui_radio_group.eo.c"

-- 




[EGIT] [core/efl] master 01/03: tests/ecore_wl2: Fix assert tests for some window functions

2019-09-15 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit f481b6acf19c7a59c43fc138070c0fce04fd1988
Author: Christopher Michael 
Date:   Thu Aug 1 08:53:21 2019 -0400

tests/ecore_wl2: Fix assert tests for some window functions

ref T8016
---
 src/tests/ecore_wl2/ecore_wl2_test_window.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/tests/ecore_wl2/ecore_wl2_test_window.c 
b/src/tests/ecore_wl2/ecore_wl2_test_window.c
index 3f5e98cd50..5fa938ca24 100644
--- a/src/tests/ecore_wl2/ecore_wl2_test_window.c
+++ b/src/tests/ecore_wl2/ecore_wl2_test_window.c
@@ -58,7 +58,7 @@ EFL_START_TEST(wl2_window_surface_test)
ck_assert(surf != NULL);
 
id = ecore_wl2_window_surface_id_get(win);
-   ck_assert_int_lt(id, 0);
+   ck_assert_int_gt(id, 0);
 
ck_assert_int_eq(wl_proxy_get_id((struct wl_proxy *)surf), id);
 }
@@ -77,7 +77,7 @@ EFL_START_TEST(wl2_window_rotation_get)
ck_assert(win != NULL);
 
rot = ecore_wl2_window_rotation_get(win);
-   ck_assert_int_lt(rot, 0);
+   ck_assert_int_ge(rot, 0);
 }
 EFL_END_TEST
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page eo.md changed with summary [Add link to editor config files] by Xavi Artigas

2019-09-15 Thread Xavi Artigas
WWW-www.enlightenment.org pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=0cd2315e58516af1e8fcc129da27d7d796d7bc87

commit 0cd2315e58516af1e8fcc129da27d7d796d7bc87
Author: Xavi Artigas 
Date:   Wed Aug 28 07:41:07 2019 -0700

Wiki page eo.md changed with summary [Add link to editor config files] by 
Xavi Artigas
---
 pages/contrib/docs/eo.md.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/contrib/docs/eo.md.txt b/pages/contrib/docs/eo.md.txt
index d7346f684..9ad81ce24 100644
--- a/pages/contrib/docs/eo.md.txt
+++ b/pages/contrib/docs/eo.md.txt
@@ -598,7 +598,7 @@ What follows is a precedence table of operators in Eolian, 
from higher to lower
 - Please try to keep line length below 80 columns.
 - Put a space before every opening brace as well as before inherits list.
 
-The example code should serve as a decent enough example.
+You can find handy syntax highlighting config files for different editors 
[here](https://git.enlightenment.org/editors).
 
 ## Common Eolian Mistakes ##
 

-- 




[EGIT] [core/efl] master 06/14: edje - fix conversion of edje var from int to float to use tmp var

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit d9bdf12019002d6ade30f2b4db154686a08b31c2
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 22:59:27 2019 +0100

edje - fix conversion of edje var from int to float to use tmp var

fix CID 1402624
---
 src/lib/edje/edje_var.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_var.c b/src/lib/edje/edje_var.c
index 6fa72ce4af..ab92e61fb7 100644
--- a/src/lib/edje/edje_var.c
+++ b/src/lib/edje/edje_var.c
@@ -376,7 +376,8 @@ _edje_var_var_float_get(Edje *ed EINA_UNUSED, Edje_Var *var)
  }
else if (var->type == EDJE_VAR_INT)
  {
-var->data.f.v = (double)(var->data.i.v);
+double tmp = (double)(var->data.i.v);
+var->data.f.v = tmp;
 var->type = EDJE_VAR_FLOAT;
  }
else if (var->type == EDJE_VAR_NONE)

-- 




[EGIT] [core/efl] master 01/01: tests/popup: add unit tests for alert_popup

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit 4410f8b080060acc97a841e2a2fb74acb0d61621
Author: Mike Blumenkrantz 
Date:   Tue Aug 6 10:03:45 2019 -0400

tests/popup: add unit tests for alert_popup

this covers all cases from the elm_test example

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9512
---
 src/tests/elementary/efl_ui_test_popup.c | 69 
 1 file changed, 69 insertions(+)

diff --git a/src/tests/elementary/efl_ui_test_popup.c 
b/src/tests/elementary/efl_ui_test_popup.c
index 45231674e4..c7e2913761 100644
--- a/src/tests/elementary/efl_ui_test_popup.c
+++ b/src/tests/elementary/efl_ui_test_popup.c
@@ -174,10 +174,79 @@ EFL_START_TEST(efl_ui_test_popup_backwall_img)
 }
 EFL_END_TEST
 
+static void
+_popup_button_click(void *data, const Efl_Event *ev)
+{
+   Efl_Ui_Alert_Popup_Button_Clicked_Event *event = ev->info;
+   int *called = data;
+
+   *called = event->button_type;
+}
+
+EFL_START_TEST(efl_ui_test_popup_alert)
+{
+   Eo *win, *popup;
+   char buf[PATH_MAX];
+   Eina_Size2D layout_sz_min;
+   int called;
+
+   win = win_add();
+   efl_gfx_entity_size_set(win, EINA_SIZE2D(WIN_SIZE, WIN_SIZE));
+
+   popup = efl_add(EFL_UI_ALERT_POPUP_CLASS, win);
+   efl_text_set(efl_part(popup, "title"), "title");
+
+   efl_gfx_entity_size_set(popup, EINA_SIZE2D(160, 160));
+
+   Eo *layout = efl_add(EFL_UI_LAYOUT_CLASS, popup);
+   snprintf(buf, sizeof(buf), "%s/objects/test.edj", ELM_TEST_DATA_DIR);
+   ck_assert(efl_file_simple_load(layout, buf, "efl_ui_popup_scroll_content"));
+   efl_canvas_group_calculate(layout);
+
+   layout_sz_min = efl_gfx_hint_size_combined_min_get(layout);
+
+   efl_content_set(popup, layout);
+   efl_ui_alert_popup_button_set(popup, EFL_UI_ALERT_POPUP_BUTTON_POSITIVE, 
"Yes", NULL);
+   efl_ui_alert_popup_button_set(popup, EFL_UI_ALERT_POPUP_BUTTON_NEGATIVE, 
"No", NULL);
+   efl_ui_alert_popup_button_set(popup, EFL_UI_ALERT_POPUP_BUTTON_USER, 
"Cancel", NULL);
+
+   efl_event_callback_add(popup, EFL_UI_ALERT_POPUP_EVENT_BUTTON_CLICKED, 
_popup_button_click, );
+
+   get_me_to_those_events(popup);
+   {
+  /* the layout should currently be the size of its calculated (edje) min 
size */
+  Eina_Size2D layout_sz = efl_gfx_entity_size_get(layout);
+  ck_assert_int_eq(layout_sz.w, layout_sz_min.w);
+  ck_assert_int_eq(layout_sz.h, layout_sz_min.h);
+   }
+
+   Eo *btn_layout = efl_content_get(efl_part(popup, "efl.buttons"));
+   /* verify button events work as expected using the layout set above:
+
+  Cancel | Yes | No
+*/
+   called = -1;
+   click_part(btn_layout, "efl.button1");
+   ecore_main_loop_iterate();
+   ck_assert_int_eq(called, EFL_UI_ALERT_POPUP_BUTTON_USER);
+
+   called = -1;
+   click_part(btn_layout, "efl.button2");
+   ecore_main_loop_iterate();
+   ck_assert_int_eq(called, EFL_UI_ALERT_POPUP_BUTTON_POSITIVE);
+
+   called = -1;
+   click_part(btn_layout, "efl.button3");
+   ecore_main_loop_iterate();
+   ck_assert_int_eq(called, EFL_UI_ALERT_POPUP_BUTTON_NEGATIVE);
+}
+EFL_END_TEST
+
 void efl_ui_test_popup(TCase *tc)
 {
tcase_add_test(tc, efl_ui_test_popup_events);
tcase_add_test(tc, efl_ui_test_popup_basic_sizing);
tcase_add_test(tc, efl_ui_test_popup_basic_align);
tcase_add_test(tc, efl_ui_test_popup_backwall_img);
+   tcase_add_test(tc, efl_ui_test_popup_alert);
 }

-- 




[EGIT] [core/efl] master 01/01: elm_popup: calculate the label min size of popup before the popup group calculation

2019-09-15 Thread Taehyub Kim
jaehyun pushed a commit to branch master.

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

commit 10a5d83e83e39b943aab6bca5e999e5862c6dcbd
Author: Taehyub Kim 
Date:   Tue Sep 3 19:47:01 2019 +0900

elm_popup: calculate the label min size of popup before the popup group 
calculation

Summary:
consider the label min width size before the popup group calculation
@fix

Test Plan: 1. run elementary_test popup

Reviewers: Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9818
---
 src/lib/elementary/elc_popup.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elc_popup.c b/src/lib/elementary/elc_popup.c
index 8117d15b9b..df9e4e70e8 100644
--- a/src/lib/elementary/elc_popup.c
+++ b/src/lib/elementary/elc_popup.c
@@ -1039,8 +1039,11 @@ _content_text_set(Evas_Object *obj,
evas_object_event_callback_add
  (sd->text_content_obj, EVAS_CALLBACK_DEL, _on_text_content_del, obj);
 
-   elm_label_line_wrap_set(sd->text_content_obj, sd->content_text_wrap_type);
+   elm_label_line_wrap_set(sd->text_content_obj, ELM_WRAP_NONE);
elm_object_text_set(sd->text_content_obj, text);
+   efl_canvas_group_calculate(sd->text_content_obj);
+   elm_label_line_wrap_set(sd->text_content_obj, sd->content_text_wrap_type);
+
evas_object_size_hint_weight_set
  (sd->text_content_obj, EVAS_HINT_EXPAND, 0.0);
evas_object_size_hint_align_set

-- 




[EGIT] [core/efl] master 01/01: eolian_mono: remove redundant code in NativeMethods

2019-09-15 Thread Yeongjong Lee
lauromoura pushed a commit to branch master.

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

commit f4d9188ca75b1961d1936abf47fb2685c35d5ee2
Author: Yeongjong Lee 
Date:   Sun Sep 8 22:13:40 2019 -0300

eolian_mono: remove redundant code in NativeMethods

Summary:
Duplicated interface's NativeMethods code will be removed. they are called 
in
`GetInterfaces`.

Size of efl_mono.dll
6,587,392 bytes(6.6MB) -> 4,112,384 bytes (4.1MB)

Test Plan: ninja test

Reviewers: felipealmeida, lauromoura, vitor.sousa

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, woohyun, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9752
---
 src/bin/eolian_mono/eolian/mono/klass.hh | 20 +---
 src/bindings/mono/eo_mono/EoWrapper.cs   |  2 +-
 src/bindings/mono/eo_mono/iwrapper.cs| 24 +++-
 3 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh 
b/src/bin/eolian_mono/eolian/mono/klass.hh
index f1b89abc71..c10bfb3fda 100644
--- a/src/bin/eolian_mono/eolian/mono/klass.hh
+++ b/src/bin/eolian_mono/eolian/mono/klass.hh
@@ -398,7 +398,7 @@ struct klass
 context);
  auto native_inherit_name = 
name_helpers::klass_native_inherit_name(cls);
  auto inherit_name = name_helpers::klass_inherit_name(cls);
- auto implementable_methods = 
helpers::get_all_implementable_methods(cls, context);
+ auto implementable_methods = cls.functions;
  bool root = !helpers::has_regular_ancestor(cls);
  auto const& indent = current_indentation(inative_cxt);
 
@@ -430,7 +430,7 @@ struct klass
  if(!as_generator(
  indent << scope_tab << "/// Gets the list of Eo 
operations to override.\n"
  << indent << scope_tab << "/// The list of Eo operations 
to be overload.\n"
- << indent << scope_tab << "public override 
System.Collections.Generic.List GetEoOps(System.Type 
type)\n"
+ << indent << scope_tab << "public override 
System.Collections.Generic.List GetEoOps(System.Type type, 
bool includeInherited)\n"
  << indent << scope_tab << "{\n"
  << indent << scope_tab << scope_tab << "var descs = new 
System.Collections.Generic.List();\n"
 )
@@ -452,8 +452,22 @@ struct klass
 ).generate(sink,  attributes::unused, inative_cxt))
  return false;
 
+ if(!as_generator(
+ indent << scope_tab << scope_tab << "if (includeInherited)\n"
+ << indent << scope_tab(2) << "{\n"
+ << indent << scope_tab(3) << "var all_interfaces = 
type.GetInterfaces();\n"
+ << indent << scope_tab(3) << "foreach (var iface in 
all_interfaces)\n"
+ << indent << scope_tab(3) << "{\n"
+ << indent << scope_tab(4) <<  "var moredescs = 
((Efl.Eo.NativeClass)iface.GetCustomAttributes(false)?.FirstOrDefault(attr => 
attr is Efl.Eo.NativeClass))?.GetEoOps(type, false);\n"
+ << indent << scope_tab(4) <<  "if (moredescs != null)\n"
+ << indent << scope_tab(5) <<  "descs.AddRange(moredescs);\n"
+ << indent << scope_tab(3) << "}\n"
+ << indent << scope_tab(2) << "}\n"
+   ).generate(sink, attributes::unused, inative_cxt))
+ return false;
+
  if (!root || 
context_find_tag(context).current_wrapper_kind != 
class_context::concrete)
-   if(!as_generator(indent << scope_tab << scope_tab << 
"descs.AddRange(base.GetEoOps(type));\n").generate(sink, attributes::unused, 
inative_cxt))
+   if(!as_generator(indent << scope_tab << scope_tab << 
"descs.AddRange(base.GetEoOps(type, false));\n").generate(sink, 
attributes::unused, inative_cxt))
  return false;
 
  if(!as_generator(
diff --git a/src/bindings/mono/eo_mono/EoWrapper.cs 
b/src/bindings/mono/eo_mono/EoWrapper.cs
index 688de85cae..1805071175 100644
--- a/src/bindings/mono/eo_mono/EoWrapper.cs
+++ b/src/bindings/mono/eo_mono/EoWrapper.cs
@@ -357,7 +357,7 @@ public abstract class EoWrapper : IWrapper, IDisposable
 
 /// Gets the list of Eo operations to override.
 /// The list of Eo operations to be overload.
-public override System.Collections.Generic.List 
GetEoOps(Type type)
+public override System.Collections.Generic.List 
GetEoOps(Type type, bool includeInherited)
 {
 var descs = new 
System.Collections.Generic.List();
 
diff --git a/src/bindings/mono/eo_mono/iwrapper.cs 
b/src/bindings/mono/eo_mono/iwrapper.cs
index 6b7719e61f..a03e48a326 100644
--- a/src/bindings/mono/eo_mono/iwrapper.cs
+++ b/src/bindings/mono/eo_mono/iwrapper.cs
@@ -351,26 +351,8 @@ public class Globals
 if (nativeClass != null)
 {
 Eina.Log.Debug("nativeClass != 

[EGIT] [core/efl] master 02/03: tests/ecore_wl2: Add test for ecore_wl2_input_seat_id_get function

2019-09-15 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit f166cf3741c0a5ecc71a6a9ddf2b17b3b5f65fee
Author: Christopher Michael 
Date:   Thu Aug 1 08:53:45 2019 -0400

tests/ecore_wl2: Add test for ecore_wl2_input_seat_id_get function

ref T8016
---
 src/tests/ecore_wl2/ecore_wl2_test_input.c | 25 +
 1 file changed, 25 insertions(+)

diff --git a/src/tests/ecore_wl2/ecore_wl2_test_input.c 
b/src/tests/ecore_wl2/ecore_wl2_test_input.c
index 074455a394..814fa800b3 100644
--- a/src/tests/ecore_wl2/ecore_wl2_test_input.c
+++ b/src/tests/ecore_wl2/ecore_wl2_test_input.c
@@ -43,11 +43,36 @@ EFL_START_TEST(wl2_input_seat_get)
 }
 EFL_END_TEST
 
+EFL_START_TEST(wl2_input_seat_id_get)
+{
+   Ecore_Wl2_Display *disp;
+   Ecore_Wl2_Input *input;
+   Eina_Iterator *itr;
+
+   disp = _display_connect();
+   ck_assert(disp != NULL);
+
+   itr = ecore_wl2_display_inputs_get(disp);
+   ck_assert(itr != NULL);
+
+   EINA_ITERATOR_FOREACH(itr, input)
+ {
+int id;
+
+id = ecore_wl2_input_seat_id_get(input);
+ck_assert_int_ne(id, 0);
+ }
+
+   eina_iterator_free(itr);
+}
+EFL_END_TEST
+
 void
 ecore_wl2_test_input(TCase *tc)
 {
if (getenv("WAYLAND_DISPLAY"))
  {
 tcase_add_test(tc, wl2_input_seat_get);
+tcase_add_test(tc, wl2_input_seat_id_get);
  }
 }

-- 




[EGIT] [core/efl] master 01/01: canvas vg: optimize memory usage in composition.

2019-09-15 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 27498629ed279557f6b179c6fc938406510ee760
Author: Hermet Park 
Date:   Wed Sep 11 14:27:47 2019 +0900

canvas vg: optimize memory usage in composition.

Ector buffer allocates memory in default,
We don't need to allocate buffer memory additionally to handle over outside.
We can map/unmap ector buffer for reusing this.
---
 src/lib/evas/canvas/efl_canvas_vg_container.c | 35 ++-
 src/lib/evas/canvas/evas_vg_private.h |  2 ++
 2 files changed, 26 insertions(+), 11 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_container.c 
b/src/lib/evas/canvas/efl_canvas_vg_container.c
index e265e33e11..d53d5624c3 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_container.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_container.c
@@ -79,27 +79,36 @@ _prepare_comp(Evas_Object_Protected_Data *obj, //vector 
object
if (!pd->comp.buffer || (pd->comp.bound.w != mbound.w) ||
  (pd->comp.bound.h != mbound.h))
  {
-if (pd->comp.pixels) free(pd->comp.pixels);
-if (pd->comp.buffer) efl_unref(pd->comp.buffer);
-pd->comp.pixels = malloc(sizeof(uint32_t) * (mbound.w * mbound.h));
-memset(pd->comp.pixels, init_buffer, sizeof(uint32_t) * (mbound.w * 
mbound.h));
+if (pd->comp.buffer)
+  {
+ if (pd->comp.pixels)
+   ector_buffer_unmap(pd->comp.buffer, pd->comp.pixels, 
pd->comp.length);
+ efl_unref(pd->comp.buffer);
+  }
 pd->comp.buffer = ENFN->ector_buffer_new(ENC, obj->layer->evas->evas,
  mbound.w, mbound.h,
  EFL_GFX_COLORSPACE_ARGB,
  ECTOR_BUFFER_FLAG_DRAWABLE |
  
ECTOR_BUFFER_FLAG_CPU_READABLE |
  
ECTOR_BUFFER_FLAG_CPU_WRITABLE);
-ector_buffer_pixels_set(pd->comp.buffer, pd->comp.pixels,
-mbound.w, mbound.h, 0,
-EFL_GFX_COLORSPACE_ARGB, EINA_TRUE);
 pd->comp.bound.w = mbound.w;
 pd->comp.bound.h = mbound.h;
 pd->comp.vg_pd = obj;
+
+//Map
+pd->comp.pixels = ector_buffer_map(pd->comp.buffer, >comp.length,
+   (ECTOR_BUFFER_FLAG_DRAWABLE |
+ECTOR_BUFFER_FLAG_CPU_READABLE |
+ECTOR_BUFFER_FLAG_CPU_WRITABLE),
+   0, 0, mbound.w, mbound.h,
+   EFL_GFX_COLORSPACE_ARGB,
+   >comp.stride);
+if (!pd->comp.pixels) ERR("Failed to map VG composite buffer");
  }
else
  {
 if (pd->comp.pixels)
-  memset(pd->comp.pixels, init_buffer, sizeof(uint32_t) * mbound.w * 
mbound.h);
+  memset(pd->comp.pixels, init_buffer, pd->comp.length);
  }
 
pd->comp.bound.x = mbound.x;
@@ -130,7 +139,7 @@ _prepare_comp(Evas_Object_Protected_Data *obj, //vector 
object
ptransform, comp, comp_method);
 
//4. Generating Composite Image.
-   ector_buffer_pixels_set(surface, pd->comp.pixels, mbound.w, mbound.h, 0,
+   ector_buffer_pixels_set(surface, pd->comp.pixels, mbound.w, mbound.h, 
pd->comp.stride,
EFL_GFX_COLORSPACE_ARGB, EINA_TRUE);
ector_surface_reference_point_set(surface, -mbound.x, -mbound.y);
_draw_comp(obj, comp_target, surface, engine, output, context);
@@ -228,8 +237,12 @@ _efl_canvas_vg_container_efl_object_destructor(Eo *obj,
if (pd->blend_buffer) efl_unref(pd->blend_buffer);
 
//Destroy comp surface
-   if (pd->comp.buffer) efl_unref(pd->comp.buffer);
-   if (pd->comp.pixels) free(pd->comp.pixels);
+   if (pd->comp.buffer)
+ {
+if (pd->comp.pixels)
+  ector_buffer_unmap(pd->comp.buffer, pd->comp.pixels, 
pd->comp.length);
+efl_unref(pd->comp.buffer);
+ }
 
efl_unref(pd->comp_target);
eina_list_free(pd->comp.src);
diff --git a/src/lib/evas/canvas/evas_vg_private.h 
b/src/lib/evas/canvas/evas_vg_private.h
index c3752b003b..c87753778b 100644
--- a/src/lib/evas/canvas/evas_vg_private.h
+++ b/src/lib/evas/canvas/evas_vg_private.h
@@ -84,6 +84,8 @@ typedef struct _Vg_Composite
Evas_Object_Protected_Data *vg_pd;  //Vector Object (for accessing 
backend engine)
Ector_Buffer *buffer;   //Composite Ector Buffer
void *pixels;   //Composite pixel buffer (actual 
data)
+   unsigned int length;//pixel buffer data size
+   unsigned int stride;//pixel buffer stride
Eina_Rect bound;

[EGIT] [core/efl] master 05/10: efl_ui/scroll_util: don't trigger group_calc again on size changes

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 617bc90f128407f3927c5ffd4ea1b92aa3d47f0a
Author: Mike Blumenkrantz 
Date:   Fri Aug 16 15:06:16 2019 -0400

efl_ui/scroll_util: don't trigger group_calc again on size changes

this is already handled elsewhere and can cause infinite recalc loops

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9591
---
 src/lib/elementary/efl_ui_scroll_util.c | 17 -
 1 file changed, 17 deletions(-)

diff --git a/src/lib/elementary/efl_ui_scroll_util.c 
b/src/lib/elementary/efl_ui_scroll_util.c
index f21ed184ae..4336678fc7 100644
--- a/src/lib/elementary/efl_ui_scroll_util.c
+++ b/src/lib/elementary/efl_ui_scroll_util.c
@@ -210,19 +210,6 @@ _scroll_connector_bar_hide_cb(void *data, const Efl_Event 
*event)
else if (type == EFL_UI_SCROLLBAR_DIRECTION_VERTICAL)
  efl_layout_signal_emit(wd->resize_obj, "efl,action,hide,vbar", "efl");
 }
-static void
-_scroll_connector_resized_cb(void *data, const Efl_Event *ev EINA_UNUSED)
-{
-   Scroll_Connector_Context *ctx = data;
-   efl_canvas_group_change(ctx->obj);
-}
-
-static void
-_scroll_connector_size_hint_changed_cb(void *data, const Efl_Event *ev 
EINA_UNUSED)
-{
-   Scroll_Connector_Context *ctx = data;
-   efl_canvas_group_change(ctx->obj);
-}
 
 void
 efl_ui_scroll_connector_bind(Eo *obj, Eo *manager)
@@ -276,10 +263,6 @@ efl_ui_scroll_connector_bind(Eo *obj, Eo *manager)
   _scroll_connector_bar_show_cb, ctx);
efl_event_callback_add(obj, EFL_UI_SCROLLBAR_EVENT_BAR_HIDE,
   _scroll_connector_bar_hide_cb, ctx);
-   efl_event_callback_add(obj, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED,
-  _scroll_connector_resized_cb, ctx);
-   efl_event_callback_add(obj, EFL_GFX_ENTITY_EVENT_HINTS_CHANGED,
-  _scroll_connector_size_hint_changed_cb, ctx);
 }
 
 void

-- 




[EGIT] [core/enlightenment] master 01/01: tiling - use a tiling specific border if it exists in theme and cfg

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit fa0608b50fb641517fd4cb51d93a734d47931658
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Aug 1 13:47:30 2019 +0100

tiling - use a tiling specific border if it exists in theme and cfg

if you set cfg not ot use nomral borders then use "tiling" if it
exists instead of "pixel" as thats probably the right thing to do...
---
 src/modules/tiling/e_mod_tiling.c | 27 +--
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/src/modules/tiling/e_mod_tiling.c 
b/src/modules/tiling/e_mod_tiling.c
index a0e33f206..62c6e29d0 100644
--- a/src/modules/tiling/e_mod_tiling.c
+++ b/src/modules/tiling/e_mod_tiling.c
@@ -567,24 +567,23 @@ _desk_config_apply(E_Desk *d, int old_nb_stacks, int 
new_nb_stacks)
 static void
 _client_apply_settings(E_Client *ec, Client_Extra *extra)
 {
-   if (!extra)
- {
-extra = tiling_entry_func(ec);
- }
+   const char *bdname = "pixel";
 
-   if (!extra || !extra->tiled)
-  return;
+   if (!extra) extra = tiling_entry_func(ec);
 
-   if (ec->maximized)
- _e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
+   if ((!extra) || (!extra->tiled)) return;
+
+   if (ec->maximized) _e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
 
-   if (!tiling_g.config->show_titles && (!ec->bordername ||
- strcmp(ec->bordername, "pixel")))
- change_window_border(ec, "pixel");
-   else if (tiling_g.config->show_titles && (ec->bordername &&
- !strcmp(ec->bordername, "pixel")))
- change_window_border(ec, (extra->orig.bordername) ? 
extra->orig.bordername : "default");
+   if (e_theme_border_find("tiling")) bdname = "tiling";
 
+   if ((!tiling_g.config->show_titles) &&
+   (!ec->bordername || strcmp(ec->bordername, bdname)))
+ change_window_border(ec, bdname);
+   else if ((tiling_g.config->show_titles) &&
+(ec->bordername && !strcmp(ec->bordername, bdname)))
+ change_window_border(ec, (extra->orig.bordername) ?
+  extra->orig.bordername : "default");
 }
 
 static void

-- 




[EGIT] [core/efl] master 03/03: tests/ecore_wl2: Add test for ecore_wl2_input_display_get function

2019-09-15 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit f15ca5e227fc401bae2fa8272ba8cc6953a22150
Author: Christopher Michael 
Date:   Thu Aug 1 08:56:42 2019 -0400

tests/ecore_wl2: Add test for ecore_wl2_input_display_get function

ref T8016
---
 src/tests/ecore_wl2/ecore_wl2_test_input.c | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/src/tests/ecore_wl2/ecore_wl2_test_input.c 
b/src/tests/ecore_wl2/ecore_wl2_test_input.c
index 814fa800b3..479b1d385c 100644
--- a/src/tests/ecore_wl2/ecore_wl2_test_input.c
+++ b/src/tests/ecore_wl2/ecore_wl2_test_input.c
@@ -67,6 +67,27 @@ EFL_START_TEST(wl2_input_seat_id_get)
 }
 EFL_END_TEST
 
+EFL_START_TEST(wl2_input_display_get)
+{
+   Ecore_Wl2_Display *disp;
+   Ecore_Wl2_Input *input;
+   Eina_Iterator *itr;
+
+   disp = _display_connect();
+   ck_assert(disp != NULL);
+
+   itr = ecore_wl2_display_inputs_get(disp);
+   ck_assert(itr != NULL);
+
+   EINA_ITERATOR_FOREACH(itr, input)
+ {
+ck_assert(ecore_wl2_input_display_get(input) != NULL);
+ }
+
+   eina_iterator_free(itr);
+}
+EFL_END_TEST
+
 void
 ecore_wl2_test_input(TCase *tc)
 {
@@ -74,5 +95,6 @@ ecore_wl2_test_input(TCase *tc)
  {
 tcase_add_test(tc, wl2_input_seat_get);
 tcase_add_test(tc, wl2_input_seat_id_get);
+tcase_add_test(tc, wl2_input_display_get);
  }
 }

-- 




[EGIT] [core/efl] master 13/14: evas text - handle null font case for font set

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 9e94115ab321bd0cde76bab51d1afb42a9be9a0f
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 23:33:05 2019 +0100

evas text - handle null font case for font set

coverity was unhappy wiht inconsistent checks, so we'll be consistent
and thus handle a null font.

fixes CID 1403882
---
 src/lib/evas/canvas/evas_object_text.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_text.c 
b/src/lib/evas/canvas/evas_object_text.c
index 1a97af9f4c..e8eafcaee3 100644
--- a/src/lib/evas/canvas/evas_object_text.c
+++ b/src/lib/evas/canvas/evas_object_text.c
@@ -459,7 +459,7 @@ _evas_text_efl_text_font_font_set(Eo *eo_obj, 
Evas_Text_Data *o, const char *fon
 
evas_object_async_block(obj);
if ((size == o->cur.size) &&
-   (o->cur.font && !strcmp(font, o->cur.font))) return;
+   (o->cur.font && font && !strcmp(font, o->cur.font))) return;
 
if (font)
  {

-- 




[EGIT] [apps/evisum] master 01/01: Batteries: Add multiple suppor

2019-09-15 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=6ba6c251359c5c1221f12a68bf2d5a3a367f83f7

commit 6ba6c251359c5c1221f12a68bf2d5a3a367f83f7
Author: Alastair Poole 
Date:   Sun Sep 1 14:54:27 2019 +0100

Batteries: Add multiple suppor
---
 src/system.c | 30 +-
 src/system.h | 14 ++
 src/ui.c |  4 ++--
 3 files changed, 33 insertions(+), 15 deletions(-)

diff --git a/src/system.c b/src/system.c
index dea2129..7ccad64 100644
--- a/src/system.c
+++ b/src/system.c
@@ -814,6 +814,13 @@ _power_battery_count_get(power_t *power)
 
closedir(dir);
 #endif
+
+   power->batteries = malloc(power->battery_count * sizeof(bat_t **));
+   for (int i = 0; i < power->battery_count; i++)
+ {
+power->batteries[i] = calloc(1, sizeof(bat_t));
+ }
+
return power->battery_count;
 }
 
@@ -821,6 +828,7 @@ static void
 _battery_state_get(power_t *power, int *mib)
 {
 #if defined(__OpenBSD__) || defined(__NetBSD__)
+   static int index = 0;
double charge_full = 0;
double charge_current = 0;
size_t slen = sizeof(struct sensor);
@@ -854,13 +862,14 @@ _battery_state_get(power_t *power, int *mib)
   charge_current = (double)snsr.value;
  }
 
-   power->charge_full += charge_full;
-   power->charge_current += charge_current;
+   power->batteries[index]->charge_full = charge_full;
+   power->batteries[index]->charge_current = charge_current;
+   ++index;
 #elif defined(__FreeBSD__) || defined(__DragonFly__)
unsigned int value;
size_t len = sizeof(value);
if ((sysctl(mib, 4, , , NULL, 0)) != -1)
- power->percent = value;
+ power->batteries[0]->percent = value;
 #elif defined(__linux__)
char path[PATH_MAX];
struct dirent *dh;
@@ -915,8 +924,8 @@ _battery_state_get(power_t *power, int *mib)
  free(buf);
   }
 
-power->charge_full += charge_full;
-power->charge_current += charge_current;
+power->batteries[i]->charge_full = charge_full;
+power->batteries[i]->charge_current = charge_current;
 
 free(naming);
 
@@ -971,10 +980,13 @@ _power_state_get(power_t *power)
  _battery_state_get(power, power->bat_mibs[i]);
 
 #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__linux__)
-   double percent =
- 100 * (power->charge_current / power->charge_full);
+   for (i = 0; i < power->battery_count; i++)
+ {
+double percent =
+   100 * (power->batteries[i]->charge_current / 
power->batteries[i]->charge_full);
+power->batteries[i]->percent = percent;
+ }
 
-   power->percent = percent;
power->have_ac = have_ac;
 #elif defined(__FreeBSD__) || defined(__DragonFly__)
len = sizeof(value);
@@ -983,7 +995,7 @@ _power_state_get(power_t *power)
 return;
  }
 
-   power->percent = value;
+   power->batteries[0]->percent = value;
 
 #endif
 
diff --git a/src/system.h b/src/system.h
index f091707..3eebca7 100644
--- a/src/system.h
+++ b/src/system.h
@@ -22,15 +22,21 @@ typedef struct
unsigned long swap_used;
 } meminfo_t;
 
+#define MAX_BATTERIES 10
+typedef struct
+{
+   double charge_full;
+   double charge_current;
+   uint8_t percent;
+} bat_t;
+
 typedef struct
 {
boolhave_ac;
int battery_count;
 
-   double  charge_full;
-   double  charge_current;
-   uint8_t percent;
-#define MAX_BATTERIES 10
+   bat_t  **batteries;
+
char*battery_names[MAX_BATTERIES];
int*bat_mibs[MAX_BATTERIES];
int ac_mibs[5];
diff --git a/src/ui.c b/src/ui.c
index 296785f..da42b5e 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -132,7 +132,7 @@ _misc_view_update(Ui *ui, results_t *results)
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(box);
 
-   if (results->power.battery_count)
+   for (int i = 0; i < results->power.battery_count; i++)
  {
 frame = elm_frame_add(box);
 evas_object_size_hint_align_set(frame, EVAS_HINT_FILL, 0);
@@ -149,7 +149,7 @@ _misc_view_update(Ui *ui, results_t *results)
 evas_object_size_hint_weight_set(progress, EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
 elm_progressbar_span_size_set(progress, 1.0);
 elm_progressbar_unit_format_set(progress, "%1.2f%%");
-_progressbar_value_force_set(progress, (double)results->power.percent 
/ 100);
+_progressbar_value_force_set(progress, 
(double)results->power.batteries[i]->percent / 100);
 evas_object_show(progress);
 elm_object_content_set(frame, progress);
 elm_box_pack_end(box, frame);

-- 




[EGIT] [core/efl] master 01/01: evas: fix png regression issue

2019-09-15 Thread Shinwoo Kim
hermet pushed a commit to branch master.

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

commit f5aa672853d4fe70a60508e9abc796b0246915ba
Author: Shinwoo Kim 
Date:   Fri Aug 16 16:54:50 2019 +0900

evas: fix png regression issue

Summary:
The evas_image_load_file_data_png had called png_set_tRNS_to_alpha
from following commit.

   6988a38 evas: fix png loader to actually produce lower resolution
   content when asked.

You could refer to following information regarding png_set_tRNS_to_alpha
which is available on page http://www.libpng.org/pub/png/libpng-manual.txt

   The following code transforms grayscale images of less than 8 to 8 bits,
   changes paletted images to RGB, and adds a full alpha channel if there is
   transparency information in a tRNS chunk.  This is most useful on
   grayscale images with bit depths of 2 or 4 or if there is a 
multiple-image
   viewing application that wishes to treat all images in the same way.

   if (color_type == PNG_COLOR_TYPE_PALETTE)
   png_set_palette_to_rgb(png_ptr);

   if (png_get_valid(png_ptr, info_ptr,
   PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);

   if (color_type == PNG_COLOR_TYPE_GRAY &&
   bit_depth < 8) png_set_expand_gray_1_2_4_to_8(png_ptr)

Accidentally commit "382c580 evas: add support for .9.png file to PNG 
loader."
adding a new feature with small code refactoring missed the line calling
png_set_tRNS_to_alpha.

So we got a rendering issue. It made around 75% size white rectangle
using a grayscale and transparent image. I'd like to attach the image
which has following type information for test purpose.

$ identify -verbose ./grayscale_transparent.png | grep type -i
  Mime type: image/png
  Type: Bilevel
png:IHDR.color-type-orig: 0
png:IHDR.color_type: 0 (Grayscale)

Test Plan:
This is the sample image file grayscale_transparent.png

{F3748665}

Reviewers: cedric, Hermet, jsuya

Reviewed By: Hermet

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9580
---
 src/modules/evas/image_loaders/png/evas_image_load_png.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index 7b440d5089..1eb8b12dc8 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -212,7 +212,14 @@ 
_evas_image_load_file_internal_head_png(Evas_Loader_Internal *loader,
 prop->info.w = (int) epi->w32;
 prop->info.h = (int) epi->h32;
  }
-   if (png_get_valid(epi->png_ptr, epi->info_ptr, PNG_INFO_tRNS)) epi->hasa = 
1;
+
+   if (png_get_valid(epi->png_ptr, epi->info_ptr, PNG_INFO_tRNS))
+ {
+/* expand transparency entry -> alpha channel if present */
+if (!close_file) png_set_tRNS_to_alpha(epi->png_ptr);
+epi->hasa = 1;
+ }
+
switch (epi->color_type)
  {
   case PNG_COLOR_TYPE_RGB_ALPHA:

-- 




[EGIT] [core/enlightenment] master 01/01: todo - add more items

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 7f5a0246de33dce1f5e54a1b4459174602153c48
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 5 17:08:12 2019 +0100

todo - add more items
---
 TODO | 1 +
 1 file changed, 1 insertion(+)

diff --git a/TODO b/TODO
index 3290af17f..db5a5e8c3 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,5 @@
 TODO:
+* bluez4: remove as it's obsolete
 * scriptlets: stdin/out module that provides gui services to some
   back-end script or process where e just talks via stdin/out.
   things to provide:

-- 




[EGIT] [core/efl] master 01/03: efl_ui/timepicker: fix range clamping on 12 hour timepickers

2019-09-15 Thread Mike Blumenkrantz
devilhorns pushed a commit to branch master.

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

commit 6c93461324c7687aa81eec6b58635e0ea3a786c3
Author: Mike Blumenkrantz 
Date:   Thu Jul 25 14:45:48 2019 -0400

efl_ui/timepicker: fix range clamping on 12 hour timepickers

Summary: this errors all the time otherwise

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: devilhorns, cedric, #reviewers, #committers

Tags: #efl

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

diff --git a/src/lib/elementary/efl_ui_timepicker.c 
b/src/lib/elementary/efl_ui_timepicker.c
index 938c22c846..59ef13d3f1 100644
--- a/src/lib/elementary/efl_ui_timepicker.c
+++ b/src/lib/elementary/efl_ui_timepicker.c
@@ -59,7 +59,7 @@ _field_value_update(Eo *obj)
 
if (!pd->is_24hour)
  {
-if (pd->cur_time[TIMEPICKER_HOUR] >= 12)
+if (pd->cur_time[TIMEPICKER_HOUR] > 12)
   {
  //TODO: gets text from strftime.
  efl_text_set(pd->ampm, "PM");
@@ -68,7 +68,7 @@ _field_value_update(Eo *obj)
 else
   {
  efl_text_set(pd->ampm, "AM");
- efl_ui_range_value_set(pd->hour, pd->cur_time[TIMEPICKER_HOUR] + 
12);
+ efl_ui_range_value_set(pd->hour, pd->cur_time[TIMEPICKER_HOUR]);
   }
  }
 

-- 




[EGIT] [core/efl] master 07/10: efl_ui/scroller: create scroll manager in constructor

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit c4e03dcea4fadc515c46e6d9d3e224025ec0e9c8
Author: Mike Blumenkrantz 
Date:   Fri Aug 16 15:08:14 2019 -0400

efl_ui/scroller: create scroll manager in constructor

this fixes setting scroller properties during construction

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9593
---
 src/lib/elementary/efl_ui_scroller.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/lib/elementary/efl_ui_scroller.c 
b/src/lib/elementary/efl_ui_scroller.c
index ca2a21ddc9..9a65337674 100644
--- a/src/lib/elementary/efl_ui_scroller.c
+++ b/src/lib/elementary/efl_ui_scroller.c
@@ -241,12 +241,18 @@ _focused_element(void *data, const Efl_Event *event)
 
 EOLIAN static Eo *
 _efl_ui_scroller_efl_object_constructor(Eo *obj,
-Efl_Ui_Scroller_Data *sd EINA_UNUSED)
+Efl_Ui_Scroller_Data *sd)
 {
if (!elm_widget_theme_klass_get(obj))
  elm_widget_theme_klass_set(obj, "scroller");
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
+   sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
+   efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
+   efl_composite_attach(obj, sd->smanager);
+
+   efl_ui_scroll_connector_bind(obj, sd->smanager);
+
return obj;
 }
 
@@ -258,10 +264,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj,
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL);
 
-   sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj);
-   efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj));
-   efl_composite_attach(obj, sd->smanager);
-
sd->pan_obj = efl_add(EFL_UI_PAN_CLASS, obj);
 
efl_ui_scroll_manager_pan_set(sd->smanager, sd->pan_obj);
@@ -269,7 +271,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj,
 
elm_widget_can_focus_set(obj, EINA_TRUE);
 
-   efl_ui_scroll_connector_bind(obj, sd->smanager);
efl_event_callback_add(sd->pan_obj, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED,
   _efl_ui_scroller_pan_resized_cb, obj);
 

-- 




[EGIT] [core/enlightenment] master 01/01: module and config - remove pointless config vars that have no use

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b4cfada8e84d626a07ee5c201246974268c6702e
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Sep 10 17:58:30 2019 +0100

module and config - remove pointless config vars that have no use

we dont need to delay module loading anymore so remove allof this -
priority too shouldn't be necessary as well and was just a workaround.
this remvoes all of that removing some e module api's and module
struct members as well as some global config fields. it also ensures
all config files are up to date as well.
---
 data/config/default/e.src  |   4 +-
 data/config/standard/e.src |  82 +
 data/config/standard/e_bindings.src|  30 +++--
 data/config/tiling/e.src   |  83 +-
 data/config/tiling/e_bindings.src  |  32 --
 src/bin/e_config.c |  22 +---
 src/bin/e_config.h |   4 -
 src/bin/e_main.c   |   2 -
 src/bin/e_module.c | 127 +
 src/bin/e_module.h |   4 +-
 src/bin/e_shelf.c  |  49 
 src/bin/e_shelf.h  |   1 +
 src/modules/conf/e_mod_main.c  |   2 -
 src/modules/conf_applications/e_mod_main.c |   1 -
 src/modules/conf_bindings/e_mod_main.c |   1 -
 src/modules/conf_dialogs/e_mod_main.c  |   1 -
 src/modules/conf_display/e_mod_main.c  |   1 -
 src/modules/conf_interaction/e_mod_main.c  |   1 -
 src/modules/conf_intl/e_mod_main.c |   1 -
 src/modules/conf_menus/e_mod_main.c|   1 -
 src/modules/conf_paths/e_mod_main.c|   1 -
 .../conf_performance/e_int_config_performance.c|  21 +---
 src/modules/conf_performance/e_mod_main.c  |   1 -
 src/modules/conf_shelves/e_mod_main.c  |   1 -
 src/modules/conf_theme/e_mod_main.c|   1 -
 src/modules/conf_window_manipulation/e_mod_main.c  |   1 -
 src/modules/conf_window_remembers/e_mod_main.c |   1 -
 src/modules/everything/e_mod_main.c|   3 -
 src/modules/everything/evry_plug_settings.c|   5 +-
 src/modules/everything/evry_view.c |  27 ++---
 src/modules/fileman/e_mod_main.c   |   1 -
 src/modules/gadman/e_mod_main.c|   1 -
 src/modules/quickaccess/e_mod_main.c   |   1 -
 src/modules/shot/e_mod_main.c  |   2 -
 src/modules/syscon/e_mod_main.c|   1 -
 src/modules/vkbd/e_mod_main.c  |   1 -
 src/modules/winlist/e_mod_main.c   |   1 -
 37 files changed, 103 insertions(+), 416 deletions(-)

diff --git a/data/config/default/e.src b/data/config/default/e.src
index 6c601c5d3..4b081d0b3 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: 114;
+  value "config_version" int: 128;
   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";
@@ -26,8 +26,6 @@ group "E_Config" struct {
 group "E_Config_Module" struct {
   value "name" string: "wizard";
   value "enabled" uchar: 1;
-  value "delayed" uchar: 0;
-  value "priority" int: 0;
 }
   }
   value "window_placement_policy" int: 0;
diff --git a/data/config/standard/e.src b/data/config/standard/e.src
index cd18b67ec..31b2982f2 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: 114;
+value "config_version" int: 128;
 value "config_type" uint: 3;
 value "show_splash" int: 1;
 value "desktop_default_name" string: "%i-%i";
@@ -10,7 +10,6 @@ group "E_Config" struct {
 value "border_shade_animate" int: 1;
 value "border_shade_transition" int: 3;
 value "border_shade_speed" double: 3000.0;
-value "framerate" double: 60.0;
 value "priority" int: 3;
 value "image_cache" int: 4096;
 value "font_cache" int: 512;
@@ -217,7 +216,6 @@ group "E_Config" struct {
 value "powersave.extreme" double: 1200.0;
 value "powersave.min" int: 0;
 value "powersave.max" int: 5;
-value "no_module_delay" int: 1;
 group "syscon.actions" list {
 group "E_Config_Syscon_Action" struct {
 value "action" string: "halt";
@@ -550,7 +548,7 @@ group "E_Config" struct {
 value "mime" string: "application/x-desktop";
 value "icon" string: "DESKTOP";
 }
-group 

[EGIT] [core/efl] master 07/08: elm/config: fix config usage with EFL_RUN_IN_TREE set

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 36ff0a012ce227757331a745fbb437b2097f4e45
Author: Mike Blumenkrantz 
Date:   Mon Jul 29 12:41:59 2019 -0400

elm/config: fix config usage with EFL_RUN_IN_TREE set

when running in tree, elm_config should not attempt to access files
outside the tree, nor should it attempt to overwrite any existing config
files

@fix

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9433
---
 src/lib/elementary/elm_config.c | 35 ---
 1 file changed, 28 insertions(+), 7 deletions(-)

diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 9258939f79..c6da38ed27 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -5,6 +5,7 @@
 #include 
 #include "elm_priv.h"
 
+#include "../../static_libs/buildsystem/buildsystem.h"
 #include "efl_config_global.eo.h"
 
 EAPI int ELM_EVENT_CONFIG_ALL_CHANGED = 0;
@@ -964,7 +965,8 @@ _elm_config_profile_dir_get(const char *prof,
if (!is_user)
  goto not_user;
 
-   _elm_config_user_dir_snprintf(buf, sizeof(buf), "config/%s", prof);
+   if ((!_use_build_config) || (!bs_data_path_get(buf, sizeof(buf), 
"elementary/config", prof)))
+ _elm_config_user_dir_snprintf(buf, sizeof(buf), "config/%s", prof);
 
// See elm_config_profile_dir_free: always use strdup+free
if (ecore_file_is_dir(buf))
@@ -973,7 +975,8 @@ _elm_config_profile_dir_get(const char *prof,
return NULL;
 
 not_user:
-   snprintf(buf, sizeof(buf), "%s/config/%s", _elm_data_dir, prof);
+   if ((!_use_build_config) || (!bs_data_path_get(buf, sizeof(buf), 
"elementary/config", prof)))
+ snprintf(buf, sizeof(buf), "%s/config/%s", _elm_data_dir, prof);
 
// See elm_config_profile_dir_free: always use strdup+free
if (ecore_file_is_dir(buf))
@@ -1355,9 +1358,15 @@ _elm_config_profiles_list(Eina_Bool hide_profiles)
Eina_Iterator *file_it;
char buf[PATH_MAX];
const char *dir;
-   size_t len;
+   size_t len = 0;
 
-   len = _elm_config_user_dir_snprintf(buf, sizeof(buf), "config");
+   if (_use_build_config)
+ {
+len = bs_data_path_get(buf, sizeof(buf), "elementary", "config");
+if (len) len = strlen(buf);
+ }
+   if (!len)
+ len = _elm_config_user_dir_snprintf(buf, sizeof(buf), "config");
 
file_it = eina_file_stat_ls(buf);
if (!file_it) goto sys;
@@ -2082,7 +2091,7 @@ _elm_config_profile_save(const char *profile)
Eet_File *ef;
size_t len;
 
-   if ((s = getenv("ELM_PROFILE_NOSAVE")) && atoi(s))
+   if (_use_build_config || ((s = getenv("ELM_PROFILE_NOSAVE")) && atoi(s)))
  return EINA_TRUE;
 
len = _elm_config_user_dir_snprintf(buf, sizeof(buf), "config/profile.cfg");
@@ -3001,6 +3010,11 @@ elm_config_profile_exists(const char *profile)
 
if (!profile) return EINA_FALSE;
 
+   if (_use_build_config)
+ {
+if (!bs_data_path_get(buf, sizeof(buf), "elementary/config", profile)) 
return EINA_FALSE;
+return ecore_file_exists(buf);
+ }
_elm_config_user_dir_snprintf(buf, sizeof(buf),
  "config/%s/base.cfg", profile);
if (ecore_file_exists(buf)) return EINA_TRUE;
@@ -4093,6 +4107,7 @@ elm_config_all_flush(void)
int ok = 0;
size_t len;
 
+   if (_use_build_config) return;
len = _elm_config_user_dir_snprintf(buf, sizeof(buf), "themes/");
if (len + 1 >= sizeof(buf))
  return;
@@ -4199,6 +4214,7 @@ _elm_config_sub_shutdown(void)
ELM_SAFE_FREE(_monitor_file_created_handler, ecore_event_handler_del);
ELM_SAFE_FREE(_monitor_file_modified_handler, ecore_event_handler_del);
ELM_SAFE_FREE(_monitor_directory_created_handler, ecore_event_handler_del);
+   _use_build_config = EINA_FALSE;
 }
 
 static Eina_Bool
@@ -4290,8 +4306,13 @@ _elm_config_sub_init(void)
char buf[PATH_MAX];
int ok = 0;
 
-   _elm_config_user_dir_snprintf(buf, sizeof(buf), "config");
-   ok = ecore_file_mkpath(buf);
+   if (_use_build_config)
+ ok = bs_data_path_get(buf, sizeof(buf), "elementary", "config");
+   else
+ {
+_elm_config_user_dir_snprintf(buf, sizeof(buf), "config");
+ok = ecore_file_mkpath(buf);
+ }
if (!ok)
  {
 ERR("Problem accessing Elementary's user configuration directory: %s",

-- 




[EGIT] [core/efl] master 01/01: efl shape: add missing interpolation of miterlimit property.

2019-09-15 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 31d0d1ffd3c5fd8e4041324db0fbc8c7f68d4678
Author: Hermet Park 
Date:   Thu Aug 22 13:12:19 2019 +0900

efl shape: add missing interpolation of miterlimit property.
---
 src/lib/efl/interfaces/efl_gfx_shape.c | 5 +
 1 file changed, 5 insertions(+)

diff --git a/src/lib/efl/interfaces/efl_gfx_shape.c 
b/src/lib/efl/interfaces/efl_gfx_shape.c
index 7d7e177732..787dbac0c1 100644
--- a/src/lib/efl/interfaces/efl_gfx_shape.c
+++ b/src/lib/efl/interfaces/efl_gfx_shape.c
@@ -36,6 +36,7 @@ struct _Efl_Gfx_Property
double scale;
double w;
double centered;
+   double miterlimit;
 
Efl_Gfx_Cap c;
Efl_Gfx_Join j;
@@ -57,6 +58,7 @@ _efl_gfx_property_get(const Eo *obj, Efl_Gfx_Property 
*property)
efl_gfx_shape_stroke_dash_get(obj, >dash, >dash_length);
property->c = efl_gfx_shape_stroke_cap_get(obj);
property->j = efl_gfx_shape_stroke_join_get(obj);
+   property->miterlimit = efl_gfx_shape_stroke_miterlimit_get(obj);
 }
 
 EOLIAN static Eina_Bool
@@ -117,6 +119,9 @@ _efl_gfx_shape_efl_gfx_path_interpolate(Eo *obj, 
Efl_Gfx_Shape_Data *pd,
interv = interpolate(property_from.centered, property_to.centered, pos_map);
efl_gfx_shape_stroke_location_set(obj, interv);
 
+   interv = interpolate(property_from.miterlimit, property_to.miterlimit, 
pos_map);
+   efl_gfx_shape_stroke_miterlimit_set(obj, interv);
+
efl_gfx_shape_stroke_dash_set(obj, dash, property_to.dash_length);
efl_gfx_shape_stroke_cap_set(obj, (pos_map < 0.5) ?
 property_from.c : property_to.c);

-- 




[EGIT] [core/efl] master 03/03: efl_ui_radio_group: migrate to Efl.Ui.Single_Selectable

2019-09-15 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit d445e5240b03ddf659b3c16c74d982956a2a7b67
Author: Marcel Hollerbach 
Date:   Thu Aug 22 15:06:22 2019 +0200

efl_ui_radio_group: migrate to Efl.Ui.Single_Selectable

with this the whole thing is migrated to single_selectable. The group is
added to the spec test suite. The elm_test case of radio_group now also has
a fallback option to demonstrate the usage of it.

This also fixes a broken testcase, where a flag was forgotten to be
checked.

ref T8024

Reviewed-by: Mike Blumenkrantz 
Differential Revision: https://phab.enlightenment.org/D9706
---
 src/bin/elementary/test_part_bg.c  |  6 +-
 src/bin/elementary/test_ui_image.c |  2 +-
 src/bin/elementary/test_ui_radio.c | 18 +++---
 src/lib/elementary/efl_ui_radio_box.c  |  1 +
 src/lib/elementary/efl_ui_radio_group.eo   | 11 +---
 src/lib/elementary/efl_ui_radio_group_impl.c   | 69 ++
 src/lib/elementary/efl_ui_radio_group_impl.eo  |  3 +-
 src/tests/elementary/efl_ui_test_radio_group.c | 38 ++--
 .../elementary/spec/efl_test_single_selectable.c   | 13 +++-
 9 files changed, 89 insertions(+), 72 deletions(-)

diff --git a/src/bin/elementary/test_part_bg.c 
b/src/bin/elementary/test_part_bg.c
index cb9dd4dbd3..3f8f30be00 100644
--- a/src/bin/elementary/test_part_bg.c
+++ b/src/bin/elementary/test_part_bg.c
@@ -15,7 +15,7 @@ _reset_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Efl_Ui_Radio_Group *radio = data;
Evas_Object *target;
 
-   radio = efl_ui_radio_group_selected_object_get(radio);
+   radio = efl_ui_single_selectable_last_selected_get(radio);
target = evas_object_data_get(radio, "data");
 
efl_gfx_color_set(efl_part(target, "background"), 0, 0, 0, 0);
@@ -29,7 +29,7 @@ _color_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Evas_Object *target;
static Eina_Bool i;
 
-   radio = efl_ui_radio_group_selected_object_get(radio);
+   radio = efl_ui_single_selectable_last_selected_get(radio);
target = evas_object_data_get(radio, "data");
i ^= EINA_TRUE;
efl_gfx_color_set(efl_part(target, "background"), (i) ? 255 : 0, (i) ? 0 : 
255, 0, 255);
@@ -43,7 +43,7 @@ _scale_type_cb(void *data, const Efl_Event *ev EINA_UNUSED)
Efl_Gfx_Image_Scale_Type type;
char buf[PATH_MAX];
 
-   radio = efl_ui_radio_group_selected_object_get(radio);
+   radio = efl_ui_single_selectable_last_selected_get(radio);
target = evas_object_data_get(radio, "data");
 
snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", 
elm_app_data_dir_get());
diff --git a/src/bin/elementary/test_ui_image.c 
b/src/bin/elementary/test_ui_image.c
index e3f1bd5b52..87ad9fbafb 100644
--- a/src/bin/elementary/test_ui_image.c
+++ b/src/bin/elementary/test_ui_image.c
@@ -640,7 +640,7 @@ test_ui_image_prescale(void *data EINA_UNUSED, Eo *obj 
EINA_UNUSED, void *event_
efl_pack(hbox, rd);
efl_event_callback_add(hbox, EFL_UI_RADIO_GROUP_EVENT_VALUE_CHANGED, 
_cb_prescale_radio_changed, im);
 
-   efl_ui_radio_group_selected_object_set(hbox, rd);
+   efl_ui_selectable_selected_set(rd, EINA_TRUE);
 
efl_pack(box, hbox);
 
diff --git a/src/bin/elementary/test_ui_radio.c 
b/src/bin/elementary/test_ui_radio.c
index ec2740f9cb..487c6aa932 100644
--- a/src/bin/elementary/test_ui_radio.c
+++ b/src/bin/elementary/test_ui_radio.c
@@ -77,12 +77,12 @@ _set_selected_btn_clicked(void *data, const Efl_Event *ev 
EINA_UNUSED)
 }
 
 static void
-_set_selected_object_btn_clicked(void *data, const Efl_Event *ev)
+_set_fallback_radio_btn_clicked(void *data, const Efl_Event *ev EINA_UNUSED)
 {
-   Efl_Ui_Radio_Group *group = data;
-
-   efl_ui_radio_group_selected_value_set(group, 3);
-   efl_ui_radio_group_selected_object_set(group, efl_key_data_get(ev->object, 
"uk"));
+   if (!efl_ui_single_selectable_fallback_selection_get(data))
+ efl_ui_single_selectable_fallback_selection_set(data, 
efl_pack_content_get(data, 4));
+   else
+ efl_ui_single_selectable_fallback_selection_set(data, NULL);
 }
 
 void test_efl_ui_radio(void *data EINA_UNUSED,
@@ -94,7 +94,6 @@ void test_efl_ui_radio(void *data EINA_UNUSED,
Efl_Ui_Box *bx;
Eina_Array *arr;
Efl_Ui_Button *o;
-   Efl_Ui_Radio *uk = NULL;
 
win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
  efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
@@ -112,8 +111,6 @@ void test_efl_ui_radio(void *data EINA_UNUSED,
  {
 Efl_Ui_Radio *r = eina_array_data_get(arr, i);
 efl_pack_end(bx, r);
-if (i == 4)
-  uk = r;
  }
 
o = efl_add(EFL_UI_BUTTON_CLASS, table);
@@ -128,9 +125,8 @@ void test_efl_ui_radio(void *data EINA_UNUSED,
 
o = efl_add(EFL_UI_BUTTON_CLASS, table);
efl_pack_table(table, o, 1, 2, 1, 1);
-   efl_text_set(o, "Set object 

[EGIT] [core/efl] master 01/05: ecore - efl thread - reduce copy & paste and merge into single func

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 687b06fb3ff679c8d7464c9858365ea4eae4eaa3
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Jul 20 11:44:05 2019 +0100

ecore - efl thread - reduce copy & paste and merge into single func

the call and call sync stuff was almost entirely copy & paste - this
moves all the common code into shared funcs that reduce code bloat. it
also moved from heap to stack for sync reply struct location.
---
 src/lib/ecore/efl_thread.c | 72 +-
 1 file changed, 27 insertions(+), 45 deletions(-)

diff --git a/src/lib/ecore/efl_thread.c b/src/lib/ecore/efl_thread.c
index 1545c74597..f08be0e119 100644
--- a/src/lib/ecore/efl_thread.c
+++ b/src/lib/ecore/efl_thread.c
@@ -1035,11 +1035,9 @@ _efl_thread_efl_io_writer_can_write_get(const Eo *obj 
EINA_UNUSED, Efl_Thread_Da
return pd->fd.can_write;
 }
 
-void
-_appthread_threadio_call(Eo *obj EINA_UNUSED, Efl_Appthread_Data *pd,
- void *func_data, EFlThreadIOCall func, Eina_Free_Cb 
func_free_cb)
+static void
+_threadio_call(int fd, void *func_data, EFlThreadIOCall func, Eina_Free_Cb 
func_free_cb)
 {
-   Thread_Data *thdat = pd->thdat;
Control_Data cmd;
 
memset(, 0, sizeof(cmd));
@@ -1047,21 +1045,41 @@ _appthread_threadio_call(Eo *obj EINA_UNUSED, 
Efl_Appthread_Data *pd,
cmd.d.ptr[0] = func;
cmd.d.ptr[1] = func_data;
cmd.d.ptr[2] = func_free_cb;
-   _efl_thread_pipe_write(thdat->ctrl.in, , sizeof(Control_Data));
+   _efl_thread_pipe_write(fd, , sizeof(Control_Data));
+}
+
+void
+_appthread_threadio_call(Eo *obj EINA_UNUSED, Efl_Appthread_Data *pd,
+ void *func_data, EFlThreadIOCall func, Eina_Free_Cb 
func_free_cb)
+{
+   Thread_Data *thdat = pd->thdat;
+   _threadio_call(thdat->ctrl.in, func_data, func, func_free_cb);
 }
 
 EOLIAN static void
 _efl_thread_efl_threadio_call(Eo *obj EINA_UNUSED, Efl_Thread_Data *pd,
   void *func_data, EFlThreadIOCall func, 
Eina_Free_Cb func_free_cb)
+{
+   _threadio_call(pd->ctrl.in, func_data, func, func_free_cb);
+}
+
+static void *
+_threadio_call_sync(int fd, void *func_data, EFlThreadIOCallSync func, 
Eina_Free_Cb func_free_cb)
 {
Control_Data cmd;
+   Control_Reply rep;
 
memset(, 0, sizeof(cmd));
-   cmd.d.command = CMD_CALL;
+   cmd.d.command = CMD_CALL_SYNC;
cmd.d.ptr[0] = func;
cmd.d.ptr[1] = func_data;
cmd.d.ptr[2] = func_free_cb;
-   _efl_thread_pipe_write(pd->ctrl.in, , sizeof(Control_Data));
+   cmd.d.ptr[3] = 
+   rep.data = NULL;
+   eina_semaphore_new(&(rep.sem), 0);
+   _efl_thread_pipe_write(fd, , sizeof(Control_Data));
+   eina_semaphore_lock(&(rep.sem));
+   return rep.data;
 }
 
 void *
@@ -1069,50 +1087,14 @@ _appthread_threadio_call_sync(Eo *obj EINA_UNUSED, 
Efl_Appthread_Data *pd,
   void *func_data, EFlThreadIOCallSync func, 
Eina_Free_Cb func_free_cb)
 {
Thread_Data *thdat = pd->thdat;
-   Control_Data cmd;
-   Control_Reply *rep;
-   void *data;
-
-   memset(, 0, sizeof(cmd));
-   cmd.d.command = CMD_CALL_SYNC;
-   cmd.d.ptr[0] = func;
-   cmd.d.ptr[1] = func_data;
-   cmd.d.ptr[2] = func_free_cb;
-   rep = malloc(sizeof(Control_Reply));
-   if (!rep) return NULL;
-   cmd.d.ptr[3] = rep;
-   rep->data = NULL;
-   eina_semaphore_new(&(rep->sem), 0);
-   _efl_thread_pipe_write(thdat->ctrl.in, , sizeof(Control_Data));
-   eina_semaphore_lock(&(rep->sem));
-   data = rep->data;
-   free(rep);
-   return data;
+   return _threadio_call_sync(thdat->ctrl.in, func_data, func, func_free_cb);
 }
 
 EOLIAN static void *
 _efl_thread_efl_threadio_call_sync(Eo *obj EINA_UNUSED, Efl_Thread_Data *pd,
void *func_data, EFlThreadIOCallSync func, 
Eina_Free_Cb func_free_cb)
 {
-   Control_Data cmd;
-   Control_Reply *rep;
-   void *data;
-
-   memset(, 0, sizeof(cmd));
-   cmd.d.command = CMD_CALL_SYNC;
-   cmd.d.ptr[0] = func;
-   cmd.d.ptr[1] = func_data;
-   cmd.d.ptr[2] = func_free_cb;
-   rep = malloc(sizeof(Control_Reply));
-   if (!rep) return NULL;
-   cmd.d.ptr[3] = rep;
-   rep->data = NULL;
-   eina_semaphore_new(&(rep->sem), 0);
-   _efl_thread_pipe_write(pd->ctrl.in, , sizeof(Control_Data));
-   eina_semaphore_lock(&(rep->sem));
-   data = rep->data;
-   free(rep);
-   return data;
+   return _threadio_call_sync(pd->ctrl.in, func_data, func, func_free_cb);
 }
 
 //

-- 




[EGIT] [core/efl] master 01/14: eet dict+ data read - move rw lock to ourside decode for speed read

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 61be4f02bf92c9a0e9eeff9be40b40196471f044
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 12:16:58 2019 +0100

eet dict+ data read - move rw lock to ourside decode for speed read

on read/decode we can avoid lots of little locks and unlocked by
having the rwlock go to the outside and a single lock+unlock (read) on
the dictionary. it blocks for longer by has less atomics/fence points
as a result and thus decodes faster where changes that we are writing
while decoding is insanely low so no point worrying here.
---
 src/lib/eet/Eet_private.h|  27 +++
 src/lib/eet/eet_data.c   |  26 +--
 src/lib/eet/eet_dictionary.c | 170 ++-
 3 files changed, 168 insertions(+), 55 deletions(-)

diff --git a/src/lib/eet/Eet_private.h b/src/lib/eet/Eet_private.h
index becfabb638..ef274a07ad 100644
--- a/src/lib/eet/Eet_private.h
+++ b/src/lib/eet/Eet_private.h
@@ -227,16 +227,32 @@ Eet_Dictionary *
  eet_dictionary_add(void);
 void
  eet_dictionary_free(Eet_Dictionary *ed);
+void
+ eet_dictionary_lock_read(const Eet_Dictionary *ed);
+void
+ eet_dictionary_lock_write(Eet_Dictionary *ed);
+void
+ eet_dictionary_unlock(const Eet_Dictionary *ed);
 int
  eet_dictionary_string_add(Eet_Dictionary *ed,
   const char *string);
 int
+eet_dictionary_string_get_size_unlocked(const Eet_Dictionary *ed,
+int index);
+int
 eet_dictionary_string_get_size(const Eet_Dictionary *ed,
int index);
 const char *
+eet_dictionary_string_get_char_unlocked(const Eet_Dictionary *ed,
+int index);
+const char *
 eet_dictionary_string_get_char(const Eet_Dictionary *ed,
int index);
 Eina_Bool
+eet_dictionary_string_get_float_unlocked(const Eet_Dictionary *ed,
+ int index,
+ float *result);
+Eina_Bool
 eet_dictionary_string_get_float(const Eet_Dictionary *ed,
 int index,
 float *result);
@@ -245,9 +261,20 @@ eet_dictionary_string_get_double(const Eet_Dictionary *ed,
  int index,
  double *result);
 Eina_Bool
+eet_dictionary_string_get_double_unlocked(const Eet_Dictionary *ed,
+  int index,
+  double *result);
+Eina_Bool
 eet_dictionary_string_get_fp(const Eet_Dictionary *ed,
  int index,
  Eina_F32p32 *result);
+Eina_Bool
+eet_dictionary_string_get_fp_unlocked(const Eet_Dictionary *ed,
+  int index,
+  Eina_F32p32 *result);
+int
+eet_dictionary_string_get_hash_unlocked(const Eet_Dictionary *ed,
+int index);
 int
 eet_dictionary_string_get_hash(const Eet_Dictionary *ed,
int index);
diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c
index 2cda26def6..f8293ed896 100644
--- a/src/lib/eet/eet_data.c
+++ b/src/lib/eet/eet_data.c
@@ -786,7 +786,7 @@ eet_data_get_string_hash(const Eet_Dictionary *ed,
 if (eet_data_get_int(ed, src, src_end, ) < 0)
   return -1;
 
-return eet_dictionary_string_get_hash(ed, idx);
+return eet_dictionary_string_get_hash_unlocked(ed, idx);
  }
 
return -1;
@@ -810,12 +810,12 @@ eet_data_get_string(const Eet_Dictionary *ed,
 if (eet_data_get_int(ed, src, src_end, ) < 0)
   return -1;
 
-str = eet_dictionary_string_get_char(ed, idx);
+str = eet_dictionary_string_get_char_unlocked(ed, idx);
 if (!str)
   return -1;
 
 *d = (char *)str;
-return eet_dictionary_string_get_size(ed, idx);
+return eet_dictionary_string_get_size_unlocked(ed, idx);
  }
 
s = (char *)src;
@@ -996,7 +996,7 @@ eet_data_get_float(const Eet_Dictionary *ed,
if (eet_data_get_int(ed, src, src_end, ) < 0)
  return -1;
 
-   if (!eet_dictionary_string_get_float(ed, idx, d))
+   if (!eet_dictionary_string_get_float_unlocked(ed, idx, d))
  return -1;
 
return 1;
@@ -1073,7 +1073,7 @@ eet_data_get_double(const Eet_Dictionary *ed,
if (eet_data_get_int(ed, src, src_end, ) < 0)
  return -1;
 
-   if (!eet_dictionary_string_get_double(ed, idx, d))
+   if (!eet_dictionary_string_get_double_unlocked(ed, idx, d))
  return -1;
 
return 1;
@@ -1143,7 +1143,7 @@ eet_data_get_f32p32(const Eet_Dictionary *ed,
if (eet_data_get_int(ed, src, src_end, ) < 0)
  return -1;
 
-   if (!eet_dictionary_string_get_fp(ed, idx, fp))
+   if 

[EGIT] [website/www-content] master 01/01: Wiki page download-latest changed with summary [] by Mike Blumenkrantz

2019-09-15 Thread Mike Blumenkrantz
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit fca4ef38247fc1d0ebf5fbc9dd36ee65cc6f09f8
Author: Mike Blumenkrantz 
Date:   Wed Sep 4 11:55:07 2019 -0700

Wiki page download-latest changed with summary [] by Mike Blumenkrantz
---
 pages/download-latest.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index 31d5d5a44..0a4f26209 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -1,5 +1,5 @@
 
-efl_v = 1.22.3
+efl_v = 1.22.4
 python_efl_v  = 1.22.0
 
 enlightenment_v   = 0.23.0

-- 




[EGIT] [core/efl] master 04/05: ecore - efl thread - remove mroe error case cnp code and share it

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 3195cf6d5f8d3548c9d194fba3aed07c69e8551c
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Jul 20 11:52:52 2019 +0100

ecore - efl thread - remove mroe error case cnp code and share it

more cnp code de-duplication
---
 src/lib/ecore/efl_thread.c | 40 ++--
 1 file changed, 18 insertions(+), 22 deletions(-)

diff --git a/src/lib/ecore/efl_thread.c b/src/lib/ecore/efl_thread.c
index 761796d219..7ae263c902 100644
--- a/src/lib/ecore/efl_thread.c
+++ b/src/lib/ecore/efl_thread.c
@@ -605,6 +605,22 @@ _efl_thread_efl_object_parent_set(Eo *obj, Efl_Thread_Data 
*pd, Efl_Object *pare
pd->loop = efl_provider_find(parent, EFL_LOOP_CLASS);
 }
 
+static void
+_task_run_pipe_fail_clear(Thread_Data *thdat, Efl_Thread_Data *pd)
+{
+   efl_del(pd->fd.in_handler);
+   efl_del(pd->fd.out_handler);
+   close(thdat->fd.in);
+   close(thdat->fd.out);
+   close(pd->fd.in);
+   close(pd->fd.out);
+   pd->fd.in_handler = NULL;
+   pd->fd.out_handler = NULL;
+   pd->fd.in = -1;
+   pd->fd.out = -1;
+   free(thdat);
+}
+
 EOLIAN static Eina_Future *
 _efl_thread_efl_task_run(Eo *obj, Efl_Thread_Data *pd)
 {
@@ -689,35 +705,15 @@ _efl_thread_efl_task_run(Eo *obj, Efl_Thread_Data *pd)
if (pipe(pipe_to_thread) != 0)
  {
 ERR("Can't create to_thread control pipe");
-efl_del(pd->fd.in_handler);
-efl_del(pd->fd.out_handler);
-close(thdat->fd.in);
-close(thdat->fd.out);
-close(pd->fd.in);
-close(pd->fd.out);
-pd->fd.in_handler = NULL;
-pd->fd.out_handler = NULL;
-pd->fd.in = -1;
-pd->fd.out = -1;
-free(thdat);
+_task_run_pipe_fail_clear(thdat, pd);
 return NULL;
  }
if (pipe(pipe_from_thread) != 0)
  {
 ERR("Can't create from_thread control pipe");
-efl_del(pd->fd.in_handler);
-efl_del(pd->fd.out_handler);
+_task_run_pipe_fail_clear(thdat, pd);
 close(pipe_to_thread[0]);
 close(pipe_to_thread[1]);
-close(thdat->fd.in);
-close(thdat->fd.out);
-close(pd->fd.in);
-close(pd->fd.out);
-pd->fd.in_handler = NULL;
-pd->fd.out_handler = NULL;
-pd->fd.in = -1;
-pd->fd.out = -1;
-free(thdat);
 return NULL;
  }
thdat->ctrl.in  = pipe_from_thread[1]; // write - input to parent

-- 




[EGIT] [core/efl] master 01/01: efl_ui/datepicker: adjust datepicker minimum limits

2019-09-15 Thread Mike Blumenkrantz
xartigas pushed a commit to branch master.

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

commit 44dbf5c22a221bef490edffc0552400b5f07b20a
Author: Mike Blumenkrantz 
Date:   Fri Jul 26 16:55:48 2019 +0200

efl_ui/datepicker: adjust datepicker minimum limits

Summary:
this whole thing seems pretty busted but at least now it won't error and
break elm_test

t.tm_mday is 0 when the function in the macro returns, so this value needs
to be clamped like the others

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl_widgets

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

diff --git a/src/lib/elementary/efl_ui_datepicker.c 
b/src/lib/elementary/efl_ui_datepicker.c
index 810c9bc4c4..666791b36f 100644
--- a/src/lib/elementary/efl_ui_datepicker.c
+++ b/src/lib/elementary/efl_ui_datepicker.c
@@ -18,7 +18,7 @@
  Efl_Time t = efl_datetime_manager_value_get(pd->dt_manager);\
  pd->cur_date[DATEPICKER_YEAR] = t.tm_year + 1900;   \
  pd->cur_date[DATEPICKER_MONTH] = t.tm_mon + 1;  \
- pd->cur_date[DATEPICKER_DAY] = t.tm_mday;   \
+ pd->cur_date[DATEPICKER_DAY] = t.tm_mday + 1;   \
} while (0)
 
 #define DATE_SET()   \
@@ -26,7 +26,7 @@
  Efl_Time t; \
  t.tm_year = pd->cur_date[DATEPICKER_YEAR] - 1900;   \
  t.tm_mon = pd->cur_date[DATEPICKER_MONTH] - 1;  \
- t.tm_mday = pd->cur_date[DATEPICKER_DAY];   \
+ t.tm_mday = pd->cur_date[DATEPICKER_DAY]  - 1;  \
  t.tm_sec = 0;   \
  efl_datetime_manager_value_set(pd->dt_manager, t);  \
} while (0)
@@ -160,7 +160,7 @@ _fields_init(Eo *obj)
 
//Field create.
pd->year = efl_add(EFL_UI_SPIN_BUTTON_CLASS, obj,
-  efl_ui_range_limits_set(efl_added, 1970, 2037),
+  efl_ui_range_limits_set(efl_added, 1900, 2037),
   efl_ui_spin_button_circulate_set(efl_added, EINA_TRUE),
   efl_ui_spin_button_editable_set(efl_added, EINA_TRUE),
   efl_ui_layout_orientation_set(efl_added, 
EFL_UI_LAYOUT_ORIENTATION_VERTICAL),

-- 




[EGIT] [core/efl] master 02/14: evas - png loader - fix leake in error case of pixels

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit e0f0165220fe754176ccbbe94c2779a0b8d51d78
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 22:44:47 2019 +0100

evas - png loader - fix leake in error case of pixels

fix CID 1403027

@fix
---
 src/modules/evas/image_loaders/png/evas_image_load_png.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/modules/evas/image_loaders/png/evas_image_load_png.c 
b/src/modules/evas/image_loaders/png/evas_image_load_png.c
index 732bd94c6a..7b440d5089 100644
--- a/src/modules/evas/image_loaders/png/evas_image_load_png.c
+++ b/src/modules/evas/image_loaders/png/evas_image_load_png.c
@@ -400,6 +400,7 @@ evas_image_load_file_head_with_data_png(void *loader_data,
if (nine_patch && pack_offset != sizeof (DATA32))
  {
 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
+free(pixels2);
 goto close_file;
  }
 
@@ -502,12 +503,14 @@ evas_image_load_file_head_with_data_png(void *loader_data,
 if (prop->content.x == 0 || prop->content.y == 0)
   {
  *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
+ free(pixels2);
  goto close_file;
   }
 if ((prop->content.x + prop->content.w >= image_w - 1) &&
 (prop->content.y + prop->content.h >= image_h - 1))
   {
  *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
+ free(pixels2);
  goto close_file;
   }
 

-- 




[EGIT] [apps/rage] master 01/01: bump ver to 0.3.1

2019-09-15 Thread Carsten Haitzler (Rasterman)
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/rage.git/commit/?id=141a8624f6ffe24f89c4fe9e6df608b828f93ae6

commit 141a8624f6ffe24f89c4fe9e6df608b828f93ae6
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 24 08:59:51 2019 +0100

bump ver to 0.3.1
---
 README  | 2 +-
 meson.build | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README b/README
index 6e772fb..d6205f2 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Rage 0.3.0
+Rage 0.3.1
 
 
 **
diff --git a/meson.build b/meson.build
index b705bbd..63922d5 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 # project
 project('rage', 'c',
-version: '0.3.0',
+version: '0.3.1',
 license: 'BSD 2 clause',
 default_options: [ 'buildtype=plain', 'c_std=gnu99' ],
 meson_version  : '>= 0.40.0')
@@ -11,7 +11,7 @@ proj = meson.project_name()
 ver  = meson.project_version()
 
 # dependencies
-efl_version = '>= 1.19.0'
+efl_version = '>= 1.22.3'
 deps = dependency('elementary', version: efl_version)
 edje = dependency('edje',   version: efl_version)
 

-- 




[EGIT] [core/efl] master 01/01: edje/style/optimization: Enable lazy computaion of styles.

2019-09-15 Thread subhransu mohanty
hermet pushed a commit to branch master.

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

commit e2663ba8f38c80dd583abb3ecc6ed8e2ab7c1a45
Author: subhransu mohanty 
Date:   Thu Aug 29 14:32:28 2019 +0900

edje/style/optimization: Enable lazy computaion of styles.

Summary:
As user request for the evas_textblock_style through 
_edje_textblock_style_get()
api and that api implements lazy computation of the styles. By just marking 
the
style dirty (stl->cache=false) will be enough. no need to calculate the 
style
computaion at that time.

Reviewers: Hermet, ali.alzyod, kimcinoo, woohyun

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9776
---
 src/lib/edje/edje_textblock_styles.c | 30 +-
 1 file changed, 21 insertions(+), 9 deletions(-)

diff --git a/src/lib/edje/edje_textblock_styles.c 
b/src/lib/edje/edje_textblock_styles.c
index d9856ba7fb..4ceb3ae152 100644
--- a/src/lib/edje/edje_textblock_styles.c
+++ b/src/lib/edje/edje_textblock_styles.c
@@ -126,10 +126,11 @@ _edje_format_reparse(Edje_File *edf, const char *str, 
Edje_Style_Tag *tag_ret, E
  *
  * @param ed The edje containing the given style which need to be updated
  * @param style The style which need to be updated
- * @param force Update the given style forcely or not
+ * As now edje_style supports lazy computation of evas_textblock_style
+ * only call this function from _edje_textblock_style_get()
  */
 void
-_edje_textblock_style_update(Edje *ed, Edje_Style *stl, Eina_Bool force)
+_edje_textblock_style_update(Edje *ed, Edje_Style *stl)
 {
Eina_List *l;
Eina_Strbuf *txt = NULL;
@@ -142,11 +143,19 @@ _edje_textblock_style_update(Edje *ed, Edje_Style *stl, 
Eina_Bool force)
/* Make sure the style is already defined */
if (!stl->style) return;
 
-   /* we are sure it dosen't have any text_class */
-   if (stl->readonly) return;
+   /* this check is only here to catch misuse of this function */
+   if (stl->readonly)
+ {
+ERR("style_update() shouldn't be called for readonly style. 
performance regression : %s", stl->name);
+return;
+ }
 
-   /* No need to compute it again and again and again */
-   if (!force && stl->cache) return;
+   /* this check is only here to catch misuse of this function */
+   if (stl->cache)
+ {
+ERR("style_update() shouldn't be called for cached style. performance 
regression : %s", stl->name);
+return;
+ }
 
if (!txt)
  txt = eina_strbuf_new();
@@ -282,7 +291,8 @@ _edje_textblock_style_add(Edje *ed, Edje_Style *stl)
 
_edje_textblock_style_observer_add(stl, ed->obj);
 
-   _edje_textblock_style_update(ed, stl, EINA_TRUE);
+   // mark it dirty to recompute it later.
+   stl->cache = EINA_FALSE;
 }
 
 static inline void
@@ -370,7 +380,7 @@ _edje_textblock_style_get(Edje *ed, const char *style)
 
/* if style is dirty recompute */
if (!stl->cache)
- _edje_textblock_style_update(ed, stl, EINA_FALSE);
+ _edje_textblock_style_update(ed, stl);
 
return stl->style;
 }
@@ -400,7 +410,9 @@ _edje_textblock_style_all_update_text_class(Edje *ed, const 
char *text_class)
 
  if (!strcmp(tag->text_class, text_class))
{
-  _edje_textblock_style_update(ed, stl, EINA_TRUE);
+  // just mark it dirty so the next request
+  // for this style will trigger recomputation.
+  stl->cache = EINA_FALSE;
   break;
}
   }

-- 




[EGIT] [core/efl] master 02/05: textblock/optimization: refactor evas_textblock_style for memory and perfromance.

2019-09-15 Thread subhransu mohanty
cedric pushed a commit to branch master.

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

commit 9952b9bf182d2b27de05b82476649a1ed8c1785d
Author: subhransu mohanty 
Date:   Mon Aug 12 02:42:27 2019 +

textblock/optimization: refactor evas_textblock_style for memory and 
perfromance.

the main user of textblock_style_set() api is the edje whcih keeps its owen 
edje_textblock_style
tags( string_shared string) by changing the textblock to keep the 
string_shared string will improve
the chance of sharing the same string hence reducing memory.

By removing the Eina_StrBuf usage inside the loop in textblock_style_set() 
api we can avoid lot
of temporary memory allocation and deallocation hence will improve 
performance.

Note: I see lot of places we use Eina_Strbuf inside a loop 
(eina_strbuf_new() does 2 allocation)
We need to be extra carefull while reviewing when the code uses those 
construct to see if its really necessary.

Data: it reduces memory allocation by 7000 in elementary_test launch time.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9545
---
 src/lib/evas/canvas/evas_object_textblock.c | 57 ++---
 1 file changed, 20 insertions(+), 37 deletions(-)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 4f3f4d54eb..6ecc9b1112 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -307,8 +307,8 @@ typedef struct _Text_Item_Filter Text_Item_Filter;
 
 struct _Evas_Object_Style_Tag_Base
 {
-   char *tag;  /**< Format Identifier: b=Bold, i=Italic etc. */
-   char *replace;  /**< Replacement string. "font_weight=Bold", 
"font_style=Italic" etc. */
+   const char *tag;  /**< Format Identifier: b=Bold, i=Italic etc. */
+   const char *replace;  /**< Replacement string. "font_weight=Bold", 
"font_style=Italic" etc. */
size_t tag_len;  /**< Strlen of tag. */
 };
 
@@ -552,7 +552,7 @@ struct _Evas_Object_Textblock_Format
 struct _Efl_Canvas_Text_Style
 {
const char*style_text;
-   char  *default_tag;
+   const char*default_tag;
Evas_Object_Style_Tag *tags;
Eina_List *objects;
Eina_Bool  delete_me : 1;
@@ -874,15 +874,15 @@ static void
 _style_replace(Evas_Textblock_Style *ts, const char *style_text)
 {
eina_stringshare_replace(>style_text, style_text);
-   if (ts->default_tag) free(ts->default_tag);
+   if (ts->default_tag) eina_stringshare_del(ts->default_tag);
while (ts->tags)
  {
 Evas_Object_Style_Tag *tag;
 
 tag = (Evas_Object_Style_Tag *)ts->tags;
 ts->tags = (Evas_Object_Style_Tag 
*)eina_inlist_remove(EINA_INLIST_GET(ts->tags), EINA_INLIST_GET(tag));
-free(tag->tag.tag);
-free(tag->tag.replace);
+eina_stringshare_del(tag->tag.tag);
+eina_stringshare_del(tag->tag.replace);
 free(tag);
  }
ts->default_tag = NULL;
@@ -7319,6 +7319,7 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, const 
char *text)
 
 key_start = key_stop = val_start = NULL;
 p = ts->style_text;
+Eina_Strbuf *tag_value_buf = eina_strbuf_new();
 while (*p)
   {
  if (!key_start)
@@ -7344,12 +7345,13 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, 
const char *text)
}
  if ((key_start) && (key_stop) && (val_start))
{
-  char *tags, *replaces = NULL;
+  const char *tag_value = NULL;
   Evas_Object_Style_Tag *tag;
   const char *val_stop = NULL;
+
+  eina_strbuf_reset(tag_value_buf);
   size_t tag_len;
 {
-   Eina_Strbuf *buf = eina_strbuf_new();
val_stop = val_start;
while(*p)
  {
@@ -7358,72 +7360,53 @@ evas_textblock_style_set(Evas_Textblock_Style *ts, 
const char *text)
  /* Break if we found the tag end */
  if (p[-1] != '\\')
{
-  eina_strbuf_append_length(buf, val_stop,
+  eina_strbuf_append_length(tag_value_buf, 
val_stop,
 p - val_stop);
   break;
}
  else
{
-  eina_strbuf_append_length(buf, val_stop,
+  eina_strbuf_append_length(tag_value_buf, 
val_stop,
 p - val_stop - 1);
-  

[EGIT] [website/www-content] master 01/01: Add link to EXTERNAL C# reference guide

2019-09-15 Thread Xavi Artigas
xartigas pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=8682ab8ea217e4f49af2fa2e021c061d6a1e

commit 8682ab8ea217e4f49af2fa2e021c061d6a1e
Author: Xavi Artigas 
Date:   Thu Jul 25 13:00:50 2019 +0200

Add link to EXTERNAL C# reference guide

While the infrastructure in docs.enlightenment.org is being setup
we are going to host the DocFX autogenerated HTML in GitHub Pages,
in a mirror of this repository, in a "gh-pages" branch (only present
in the mirror).
---
 pages/develop/navigation.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pages/develop/navigation.txt b/pages/develop/navigation.txt
index 16aaa3388..5daae8ea9 100644
--- a/pages/develop/navigation.txt
+++ b/pages/develop/navigation.txt
@@ -53,4 +53,5 @@
 * [[/develop/guides/csharp/ui/sizing.md | UI Sizing]]
 * [[/develop/guides/csharp/ui/focus.md | UI Focus]]
   * [[/develop/legacy/api/c/ | Reference Guide: Legacy API ]]
-  * [[/develop/api/ | Reference Guide: Unified C API]]
\ No newline at end of file
+  * [[/develop/api/ | Reference Guide: Unified C API]]
+  * [[https://enlightenment.github.io/www-content/gh-pages/api/csharp/api | 
Reference Guide: Unified C# API]]

-- 




[EGIT] [website/www-content] master 01/01: e 23 release news

2019-09-15 Thread Carsten Haitzler (Rasterman)
raster pushed a commit to branch master.

http://git.enlightenment.org/website/www-content.git/commit/?id=003ba0308c70e24ac311965adac9b26684a3622a

commit 003ba0308c70e24ac311965adac9b26684a3622a
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 24 08:45:28 2019 +0100

e 23 release news
---
 pages/news/e23_release.txt | 44 
 1 file changed, 44 insertions(+)

diff --git a/pages/news/e23_release.txt b/pages/news/e23_release.txt
new file mode 100644
index 0..91657e255
--- /dev/null
+++ b/pages/news/e23_release.txt
@@ -0,0 +1,44 @@
+=== Enlightenment DR 0.23.0 Release ===
+  * //2019-08-24 - by Carsten Haitzler//
+
+Highlights:
+  * New padded screenshot option
+  * Meson build now is the build system
+  * Music Control now supports rage mpris dbus protocol
+  * Add Bluez5 support with totally new and redone module and gadget
+  * Add dpms option to turn it off or on
+  * Alt-tab window switcher allows moving of windows while alt-tabbing
+  * Lots of bug fixes, compile warning fixes etc.
+  * Massive improvements to Wayland support
+
+
+== Download ==
+
+^ ** LINK ** ^ ** SHA256 ** ^
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.23.0.tar.xz
 | Enlightenment DR 0.23.0 XZ]]  | 
b8c5d040875576d3d3ad8572644f92a65e21291bcee6b0d62f74fbfd482afdf8 |
+
+
+== Building and Dependencies ==
+
+  - [[https://git.enlightenment.org/core/efl.git/tree/README   
  | EFL]]
+  - xcb
+  - xcb-shape
+  - xcb-keysyms
+  - libpam (Linux only)
+
+Highly recommended to ensure proper functionality (though you can live
+without these):
+
+  - connman (For network configuration support)
+  - bluez5 (For bluetooth configuration and control)
+  - bc (For the evrything module calculator mode)
+  - pulseaudio (For proper audio device control and redirection)
+  - acpid (For systems with ACPI for lid events, AC/Battery plug in/out etc.)
+  - packagekit (For the built in system updates monitoring and updater)
+  - udisks2 (For removable storage mounting/unmounting)
+  - gdb (If you want automatic backtraces on a crash in ~/.e-crashdump.txt - 
don't forget to build EFL and E with gdb debugging to make this useful)
+
+**Note:** Enlightenment 0.23.0 depends on EFL **v1.22.3** or newer.
+
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~

-- 




[EGIT] [core/enlightenment] master 01/01: winlist - use new geom key navigate action util

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit ec1ee3ff4275e757e908156fe09eff60e0fb7702
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 5 00:19:31 2019 +0100

winlist - use new geom key navigate action util
---
 src/modules/winlist/e_winlist.c | 28 
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/modules/winlist/e_winlist.c b/src/modules/winlist/e_winlist.c
index 0b38004e8..24e5ad5f7 100644
--- a/src/modules/winlist/e_winlist.c
+++ b/src/modules/winlist/e_winlist.c
@@ -971,22 +971,26 @@ static Eina_Bool
 _e_winlist_cb_key_down(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event)
 {
Ecore_Event_Key *ev = event;
+   E_Util_Action act;
+   int x = 0, y = 0;
 
if (ev->window != _input_window) return ECORE_CALLBACK_PASS_ON;
-   if (!strcmp(ev->key, "Up"))
- e_winlist_direction_select(_winlist_zone, 0);
-   else if (!strcmp(ev->key, "Down"))
- e_winlist_direction_select(_winlist_zone, 1);
-   else if (!strcmp(ev->key, "Left"))
- e_winlist_direction_select(_winlist_zone, 2);
-   else if (!strcmp(ev->key, "Right"))
- e_winlist_direction_select(_winlist_zone, 3);
-   else if (!strcmp(ev->key, "Return"))
+   act = e_util_key_geometry_action_get(ev->key, , , 1, 1);
+   if (act == E_UTIL_ACTION_DONE)
  e_winlist_hide();
-   else if (!strcmp(ev->key, "space"))
- e_winlist_hide();
-   else if (!strcmp(ev->key, "Escape"))
+   else if (act == E_UTIL_ACTION_ABORT)
  _e_winlist_restore_desktop();
+   else if (act == E_UTIL_ACTION_DO)
+ {
+if  (y < 0)
+  e_winlist_direction_select(_winlist_zone, 0);
+else if (y > 0)
+  e_winlist_direction_select(_winlist_zone, 1);
+else if (x < 0)
+  e_winlist_direction_select(_winlist_zone, 2);
+else if (x > 0)
+  e_winlist_direction_select(_winlist_zone, 3);
+ }
else if (!strcmp(ev->key, "1"))
  _e_winlist_activate_nth(0);
else if (!strcmp(ev->key, "2"))

-- 




[EGIT] [core/efl] master 01/01: eolian: change composite syntax from block to inheritance section

2019-09-15 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit eb25e92770f9524e2921a512a326aea202e4b032
Author: Daniel Kolesa 
Date:   Fri Sep 6 15:08:27 2019 +0200

eolian: change composite syntax from block to inheritance section

This makes more sense as these are related to inheritance tree.
Therefore, change while we still can.

Fixes T8183
---
 src/lib/elementary/efl_ui_collection.eo   |  9 ++-
 src/lib/elementary/efl_ui_image_zoomable.eo   |  5 +-
 src/lib/elementary/efl_ui_list_view.eo|  6 +-
 src/lib/elementary/efl_ui_panel.eo|  4 +-
 src/lib/elementary/efl_ui_radio_box.eo|  4 +-
 src/lib/elementary/efl_ui_scroller.eo |  7 +-
 src/lib/elementary/efl_ui_tab_bar.eo  |  9 +--
 src/lib/elementary/efl_ui_tags.eo |  7 +-
 src/lib/elementary/efl_ui_text.eo |  6 +-
 src/lib/elementary/efl_ui_video.eo|  7 +-
 src/lib/elementary/efl_ui_widget_focus_manager.eo |  8 +--
 src/lib/elementary/efl_ui_win.eo  |  4 +-
 src/lib/eolian/eo_parser.c| 79 +++
 src/tests/eolian/data/unimpl.eo   |  5 +-
 14 files changed, 66 insertions(+), 94 deletions(-)

diff --git a/src/lib/elementary/efl_ui_collection.eo 
b/src/lib/elementary/efl_ui_collection.eo
index ecd0eb1e94..9fad710f65 100644
--- a/src/lib/elementary/efl_ui_collection.eo
+++ b/src/lib/elementary/efl_ui_collection.eo
@@ -6,6 +6,10 @@ class @beta Efl.Ui.Collection extends Efl.Ui.Layout_Base 
implements
Efl.Ui.Multi_Selectable,
Efl.Ui.Focus.Manager_Sub,
Efl.Ui.Widget_Focus_Manager
+   composite
+   Efl.Ui.Scrollable_Interactive,
+   Efl.Ui.Scrollbar,
+   Efl.Ui.Focus.Manager
 {
[[This widget displays a list of items in an arrangement controlled by an 
external @.position_manager
  object. By using different @.position_manager objects this widget can 
show unidimensional lists or
@@ -95,10 +99,5 @@ class @beta Efl.Ui.Collection extends Efl.Ui.Layout_Base 
implements
   item,clicked : Efl.Ui.Item; [[A $clicked event occurred over an item.]]
   item,clicked,any : Efl.Ui.Item; [[A $clicked,any event occurred over an 
item.]]
}
-   composite {
-  Efl.Ui.Scrollable_Interactive;
-  Efl.Ui.Scrollbar;
-  Efl.Ui.Focus.Manager;
-   }
 }
 
diff --git a/src/lib/elementary/efl_ui_image_zoomable.eo 
b/src/lib/elementary/efl_ui_image_zoomable.eo
index 4669a4f4a4..62ae9bc591 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.eo
+++ b/src/lib/elementary/efl_ui_image_zoomable.eo
@@ -5,6 +5,7 @@ struct @extern Elm.Photocam.Progress; [[Photocam progress 
information.]]
 class @beta Efl.Ui.Image_Zoomable extends Efl.Ui.Image implements Efl.Ui.Zoom,
  Efl.Ui.Scrollable_Interactive,
  Efl.Ui.Scrollbar
+   composite Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar
 {
[[Elementary Image Zoomable class]]
methods {
@@ -84,8 +85,4 @@ class @beta Efl.Ui.Image_Zoomable extends Efl.Ui.Image 
implements Efl.Ui.Zoom,
   download,done: void; [[Called when photocam download finished]]
   download,error: Elm.Photocam.Error; [[Called when photocam download 
failed]]
}
-   composite {
-  Efl.Ui.Scrollable_Interactive;
-  Efl.Ui.Scrollbar;
-   }
 }
diff --git a/src/lib/elementary/efl_ui_list_view.eo 
b/src/lib/elementary/efl_ui_list_view.eo
index f1490b3b26..5c49394ec4 100644
--- a/src/lib/elementary/efl_ui_list_view.eo
+++ b/src/lib/elementary/efl_ui_list_view.eo
@@ -10,6 +10,8 @@ struct @beta Efl.Ui.List_View_Item_Event
 class @beta Efl.Ui.List_View extends Efl.Ui.Layout_Base implements 
Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
 Efl.Access.Widget.Action, Efl.Access.Selection, 
Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
 Efl.Ui.Container_Selectable, Efl.Ui.List_View_Model, 
Efl.Ui.Widget_Focus_Manager
+   composite
+Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar
 {
methods {
   @property homogeneous {
@@ -90,8 +92,4 @@ class @beta Efl.Ui.List_View extends Efl.Ui.Layout_Base 
implements Efl.Ui.Scroll
   Efl.Access.Selection.all_children_select;
   Efl.Access.Selection.access_selection_clear;
}
-   composite {
-  Efl.Ui.Scrollable_Interactive;
-  Efl.Ui.Scrollbar;
-   }
 }
diff --git a/src/lib/elementary/efl_ui_panel.eo 
b/src/lib/elementary/efl_ui_panel.eo
index 0cde869b3e..24182af750 100644
--- a/src/lib/elementary/efl_ui_panel.eo
+++ b/src/lib/elementary/efl_ui_panel.eo
@@ -18,6 +18,7 @@ struct @beta Efl.Ui.Panel_Scroll_Info
 class @beta Efl.Ui.Panel extends Efl.Ui.Layout_Base
  implements Efl.Ui.Focus.Layer, 
Efl.Ui.Scrollable_Interactive, Efl.Content,

[EGIT] [core/enlightenment] enlightenment-0.23 01/02: e comp object - fix null comp win access on move begin

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch enlightenment-0.23.

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

commit af199f6c0fd17d8068c3ede4fecf012b6e84e066
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Sep 4 13:34:05 2019 +0100

e comp object - fix null comp win access on move begin

don't crash.

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

diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c
index 59e6e56a0..4b3d4db00 100644
--- a/src/bin/e_comp_object.c
+++ b/src/bin/e_comp_object.c
@@ -2631,6 +2631,7 @@ _e_comp_object_move_end(void *d EINA_UNUSED, E_Client *ec)
Evas_Object *rect;
Eina_Array_Iterator it;
 
+   if (!cw) return;
if (!cw->input_objs) return;
 
EINA_ARRAY_ITER_NEXT(cw->input_objs, i, rect, it)
@@ -2645,6 +2646,7 @@ _e_comp_object_move_begin(void *d EINA_UNUSED, E_Client 
*ec)
Evas_Object *rect;
Eina_Array_Iterator it;
 
+   if (!cw) return;
if (!cw->input_objs) return;
 
EINA_ARRAY_ITER_NEXT(cw->input_objs, i, rect, it)

-- 




[EGIT] [core/efl] master 01/10: elm/hoversel: avoid calling api functions on null hoversel objects

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 1948bf0d077a14a487bafc47da393532ed04c0e4
Author: Mike Blumenkrantz 
Date:   Mon Aug 19 13:38:15 2019 -0400

elm/hoversel: avoid calling api functions on null hoversel objects

the hoversel must be created before it can be shown, and its internal
hover object may be destroyed when it is hidden

@fix

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9631
---
 src/lib/elementary/elc_hoversel.c | 3 ++-
 src/lib/elementary/elm_entry.c| 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index b882b87833..dfdb638892 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -678,7 +678,8 @@ _elm_hoversel_efl_gfx_entity_visible_set(Eo *obj, 
Elm_Hoversel_Data *sd, Eina_Bo
  return;
 
efl_gfx_entity_visible_set(efl_super(obj, MY_CLASS), vis);
-   efl_gfx_entity_visible_set(sd->hover, vis);
+   if (sd->hover)
+ efl_gfx_entity_visible_set(sd->hover, vis);
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 1fa1a9096a..94ce3c5391 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -1811,8 +1811,8 @@ _menu_call(Evas_Object *obj)
 if (sd->hoversel)
   {
  _hoversel_position(obj);
- evas_object_show(sd->hoversel);
  elm_hoversel_hover_begin(sd->hoversel);
+ evas_object_show(sd->hoversel);
   }
 
 if (!_elm_config->desktop_entry)

-- 




[EGIT] [core/efl] master 01/01: Revert "evas_object_textblock: add support for variation sequences"

2019-09-15 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 6883087ac7dac530062b24b5ea918904589a89c2
Author: Marcel Hollerbach 
Date:   Tue Jul 30 19:09:12 2019 +0200

Revert "evas_object_textblock: add support for variation sequences"

This reverts commit f7ce771e3243e19f8a12672ea2be752dedccbcf6.
---
 src/bin/elementary/test.c |   2 -
 src/bin/elementary/test_label.c   |  24 ---
 src/lib/evas/common/evas_font.h   |  53 +-
 src/lib/evas/common/evas_font_load.c  |   6 +-
 src/lib/evas/common/evas_font_main.c  | 296 --
 src/lib/evas/common/evas_font_query.c |  54 ++-
 src/lib/evas/common/evas_text_utils.c |   6 +-
 src/tests/evas/evas_test_textblock.c  |  19 +--
 8 files changed, 49 insertions(+), 411 deletions(-)

diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 1a332575da..5264ab146a 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -243,7 +243,6 @@ void test_label_wrap(void *data, Evas_Object *obj, void 
*event_info);
 void test_label_ellipsis(void *data, Evas_Object *obj, void *event_info);
 void test_label_colors(void *data, Evas_Object *obj, void *event_info);
 void test_label_emoji(void *data, Evas_Object *obj, void *event_info);
-void test_label_variation_sequence(void *data, Evas_Object *obj, void 
*event_info);
 void test_conformant(void *data, Evas_Object *obj, void *event_info);
 void test_conformant2(void *data, Evas_Object *obj, void *event_info);
 void test_conformant_indicator(void *data, Evas_Object *obj, void *event_info);
@@ -1204,7 +1203,6 @@ add_tests:
ADD_TEST(NULL, "Text", "Label Ellipsis", test_label_ellipsis);
ADD_TEST(NULL, "Text", "Label Colors", test_label_colors);
ADD_TEST(NULL, "Text", "Label Emoji", test_label_emoji);
-   ADD_TEST(NULL, "Text", "Label Variation Sequnece", 
test_label_variation_sequence);
ADD_TEST_EO(NULL, "Text", "Efl.Ui.Textpath", test_ui_textpath);
 
//--//
diff --git a/src/bin/elementary/test_label.c b/src/bin/elementary/test_label.c
index f49255f21e..c00ae7986e 100644
--- a/src/bin/elementary/test_label.c
+++ b/src/bin/elementary/test_label.c
@@ -401,30 +401,6 @@ test_label_colors(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *ev
evas_object_show(win);
 }
 
-/*** Label variation sequence 
**/
-void
-test_label_variation_sequence(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
-{
-   Evas_Object *win, *lb;
-
-   win = elm_win_util_standard_add("label-variation sequence", "Label 
variation sequnece");
-   elm_win_autodel_set(win, EINA_TRUE);
-
-   lb = elm_label_add(win);
-   elm_object_text_set(lb,
-   "You need to have at least on font contains variation 
sequence"
-   "Three different 8 glyphs : "
-   "888"
-   "line with 3 variation glyphs : "
-   
"8AAA1234567"
-   );
-   evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-   elm_win_resize_object_add(win, lb);
-   evas_object_show(lb);
-
-   evas_object_show(win);
-}
-
 /*** Label Emoji */
 static char *
 _fontlist_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part 
EINA_UNUSED)
diff --git a/src/lib/evas/common/evas_font.h b/src/lib/evas/common/evas_font.h
index 5e79026ca3..ab6e6fbd17 100644
--- a/src/lib/evas/common/evas_font.h
+++ b/src/lib/evas/common/evas_font.h
@@ -56,32 +56,7 @@ typedef unsigned long longDATA64;
 #define LKU(x) eina_lock_release(&(x))
 #define LKDBG(x) eina_lock_debug(&(x))
 
-/**
- * See explanation of variation_sequences at:
- * https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt
- * https://unicode.org/reports/tr37/
- * https://unicode.org/ivd/
- * https://www.freetype.org/freetype2/docs/reference/ft2-glyph_variants.html
-*/
-#define VAR_SEQ(x) GENERIC_VARIATION_SEQUENCES(x) | 
IDEOGRAPHICS_VARIATION_SEQUENCES(x) | MANGOLIAN_VARIATION_SEQUENCES(x)
-#define GENERIC_VARIATION_SEQUENCES(x) (x>=0xFE00 && x<=0xFE0F) ? x : 0
-#define IDEOGRAPHICS_VARIATION_SEQUENCES(x) (x>=0xE0100 && x<=0xE01EF) ? x : 0
-#define MANGOLIAN_VARIATION_SEQUENCES(x) (x>=0x180B && x<=0x180D) ? x : 0
-/**
- * http://unicode.org/emoji/charts/emoji-variants.html
-*/
-#define  VARIATION_EMOJI_PRESENTATION  0xFE0F
-#define  VARIATION_TEXT_PRESENTATION   0xFE0E
-
-/**
- * These Options (Flags) are used with evas_common_font_glyph_search function
- */
-#define EVAS_FONT_SEARCH_OPTION_NONE0x
-#define EVAS_FONT_SEARCH_OPTION_SKIP_COLOR  0x0001
-
 
-#define FASH_INT_MAGIC  0x01012345
-#define FASH_GLYPH_MAGIC0x02012345
 
 enum _Evas_Font_Style
 {
@@ -153,10 +128,6 @@ typedef 

[EGIT] [core/efl] master 01/01: csharp: Adding ToString methods to Strbuf and custommarshaler.

2019-09-15 Thread Bruno da Silva Belo
lauromoura pushed a commit to branch master.

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

commit 50a1572c093d8c2620cd4d1e9d48950fe7eeae95
Author: Bruno da Silva Belo 
Date:   Tue Sep 10 17:42:19 2019 -0300

csharp: Adding ToString methods to Strbuf and custommarshaler.

Summary:
WIN32 should use a allocator and deallocator different from EFL, sometimes, 
when
freeing a pointer, it should use win32_free. To stardardize, A 
custommarshaler
is used to fix this problem.

Fixes T8201

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, brunobelo, felipealmeida, #reviewers, lauromoura, 
#committers

Tags: #efl

Maniphest Tasks: T8201

Differential Revision: https://phab.enlightenment.org/D9842
---
 src/bindings/mono/eina_mono/eina_strbuf.cs | 25 ++---
 src/bindings/mono/eina_mono/eina_value.cs  | 11 ++-
 src/tests/efl_mono/Strbuf.cs   | 10 ++
 3 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/src/bindings/mono/eina_mono/eina_strbuf.cs 
b/src/bindings/mono/eina_mono/eina_strbuf.cs
index a538de0fd2..6fd35a4638 100644
--- a/src/bindings/mono/eina_mono/eina_strbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_strbuf.cs
@@ -32,9 +32,18 @@ static internal class StrbufNativeMethods
 [return: MarshalAsAttribute(UnmanagedType.U1)]
 internal static extern bool eina_strbuf_append_char(IntPtr buf, char c);
 
-[DllImport(efl.Libs.Eina)]
+[DllImport(efl.Libs.Eina, CharSet=CharSet.Ansi)]
+[return:
+ MarshalAs(UnmanagedType.CustomMarshaler,
+  MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]
 internal static extern string eina_strbuf_string_steal(IntPtr buf);
 
+[DllImport(efl.Libs.Eina, CharSet=CharSet.Ansi)]
+[return:
+ MarshalAs(UnmanagedType.CustomMarshaler,
+  MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]
+internal static extern string eina_strbuf_string_get(IntPtr buf);
+
 [DllImport(efl.Libs.Eina)]
 internal static extern IntPtr eina_strbuf_length_get(IntPtr buf); // Uses 
IntPtr as wrapper for size_t
 }
@@ -176,8 +185,18 @@ public class Strbuf : IDisposable
 throw new ObjectDisposedException(base.GetType().Name);
 }
 
-return eina_strbuf_string_steal(Handle);
+return eina_strbuf_string_steal(this.Handle);
 }
-}
 
+/// Copy the content of a buffer.
+public override string ToString()
+{
+if (Disposed)
+{
+throw new ObjectDisposedException(base.GetType().Name);
+}
+
+return eina_strbuf_string_get(this.Handle);
+}
+}
 } // namespace eina
diff --git a/src/bindings/mono/eina_mono/eina_value.cs 
b/src/bindings/mono/eina_mono/eina_value.cs
index 57a615772b..54c437d352 100644
--- a/src/bindings/mono/eina_mono/eina_value.cs
+++ b/src/bindings/mono/eina_mono/eina_value.cs
@@ -173,7 +173,10 @@ static internal class UnsafeNativeMethods
 internal static extern int eina_value_compare_wrapper(IntPtr handle, 
IntPtr other);
 
 [DllImport(efl.Libs.Eina, CharSet=CharSet.Ansi)]
-internal static extern IntPtr eina_value_to_string(IntPtr handle); // We 
take ownership of the returned string.
+[return:
+ MarshalAs(UnmanagedType.CustomMarshaler,
+  MarshalTypeRef=typeof(Efl.Eo.StringPassOwnershipMarshaler))]
+internal static extern string eina_value_to_string(IntPtr handle); // We 
take ownership of the returned string.
 
 [DllImport(efl.Libs.CustomExports)]
 [return: MarshalAsAttribute(UnmanagedType.U1)]
@@ -2611,10 +2614,8 @@ public class Value : IDisposable, IComparable, 
IEquatable
 public override String ToString()
 {
 SanityChecks();
-IntPtr ptr = eina_value_to_string(this.Handle);
-String str = Marshal.PtrToStringAnsi(ptr);
-MemoryNative.Free(ptr);
-return str;
+return eina_value_to_string(this.Handle);
+
 }
 
 /// Empties an optional Eina.Value, freeing what was previously 
contained.
diff --git a/src/tests/efl_mono/Strbuf.cs b/src/tests/efl_mono/Strbuf.cs
index ef2cc56f16..78e9c5cbc3 100644
--- a/src/tests/efl_mono/Strbuf.cs
+++ b/src/tests/efl_mono/Strbuf.cs
@@ -16,6 +16,16 @@ class TestStrBuf
 Test.AssertEquals("Here's Johnny!", buf.Steal());
 }
 
+public static void test_tostring()
+{
+Eina.Strbuf buf = new Eina.Strbuf();
+buf.Append("Hello");
+buf.Append(' ');
+buf.Append("World!");
+
+Test.AssertEquals("Hello World!", buf.ToString());
+}
+
 public static void test_eolian()
 {
 var obj = new Dummy.TestObject();

-- 




[EGIT] [core/efl] master 01/01: evas - loader - rsvg generic - install svg symlink

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b2ab0a7788d90440a564ff342a7fd7e3cad0c153
Author: Carsten Haitzler (Rasterman) 
Date:   Sun Aug 18 09:57:42 2019 +0100

evas - loader - rsvg generic - install svg symlink

svg loading broke as we didnt have the right symlink installed after a
binary file name change. this fixes that.
---
 src/generic/evas/rsvg/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/generic/evas/rsvg/meson.build 
b/src/generic/evas/rsvg/meson.build
index 4e39e74ee5..a0c5ea12ce 100644
--- a/src/generic/evas/rsvg/meson.build
+++ b/src/generic/evas/rsvg/meson.build
@@ -9,4 +9,4 @@ if rsvg.version() >= '2.36.0'
 endif
 
 generic_deps = [rsvg]
-generic_support = ['svgz', 'svg.gz']
+generic_support = ['svg', 'svgz', 'svg.gz']

-- 




[EGIT] [core/efl] master 03/05: elementary: add support for widget part property bind.

2019-09-15 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 74aff95fcad93dc41e0ce8464602117856b82efd
Author: Cedric BAIL 
Date:   Wed Aug 7 17:21:24 2019 -0700

elementary: add support for widget part property bind.

Reviewed-by: Felipe Magno de Almeida 
Differential Revision: https://phab.enlightenment.org/D9527
---
 src/lib/elementary/efl_ui_property_bind_part.eo |  11 +++
 src/lib/elementary/efl_ui_widget_factory.c  | 112 +++-
 src/lib/elementary/efl_ui_widget_factory.eo |   3 +-
 src/lib/elementary/meson.build  |   1 +
 4 files changed, 124 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/efl_ui_property_bind_part.eo 
b/src/lib/elementary/efl_ui_property_bind_part.eo
new file mode 100644
index 00..c8438d90f9
--- /dev/null
+++ b/src/lib/elementary/efl_ui_property_bind_part.eo
@@ -0,0 +1,11 @@
+class @beta Efl.Ui.Property_Bind_Part extends Efl.Object implements 
Efl.Ui.Property_Bind
+{
+   [[Every part returned by an @Efl.Ui.Widget_Factory will enable the 
@Efl.Ui.Factory to
+ remember what part to call @Efl.Ui.Property_Bind.property_bind on when an 
item is created
+ enabling to propagate binding model property to item object property.
+   ]]
+   implements {
+  Efl.Ui.Property_Bind.property_bind;
+  Efl.Object.destructor;
+   }
+}
diff --git a/src/lib/elementary/efl_ui_widget_factory.c 
b/src/lib/elementary/efl_ui_widget_factory.c
index a04bdcbb23..da83117007 100644
--- a/src/lib/elementary/efl_ui_widget_factory.c
+++ b/src/lib/elementary/efl_ui_widget_factory.c
@@ -3,17 +3,36 @@
 #endif
 
 #define EFL_UI_WIDGET_PROTECTED
+#define EFL_PART_PROTECTED
 
-#include 
+#include 
 #include "elm_priv.h"
+#include "efl_ui_property_bind_part.eo.h"
 
 typedef struct _Efl_Ui_Widget_Factory_Data Efl_Ui_Widget_Factory_Data;
 typedef struct _Efl_Ui_Widget_Factory_Request Efl_Ui_Widget_Factory_Request;
+typedef struct _Efl_Ui_Bind_Part_Data Efl_Ui_Bind_Part_Data;
+typedef struct _Efl_Ui_Property_Bind_Data Efl_Ui_Property_Bind_Data;
+
+struct _Efl_Ui_Property_Bind_Data
+{
+   Eina_Stringshare *part_property;
+   Eina_Stringshare *model_property;
+};
+
+struct _Efl_Ui_Bind_Part_Data
+{
+   Eina_Stringshare *part;
+
+   Eina_List *properties;
+};
 
 struct _Efl_Ui_Widget_Factory_Data
 {
const Efl_Class *klass;
 
+   Eina_Hash *parts;
+
Eina_Stringshare *style;
 };
 
@@ -62,6 +81,26 @@ _efl_ui_widget_factory_create_then(Eo *obj EINA_UNUSED, void 
*data, const Eina_V
efl_ui_widget_style_set(efl_added, string),
efl_ui_view_model_set(efl_added, r->model));
 
+   if (r->pd->parts)
+ {
+Efl_Ui_Bind_Part_Data *bpd;
+Eina_Iterator *it;
+
+it = eina_hash_iterator_data_new(r->pd->parts);
+
+EINA_ITERATOR_FOREACH(it, bpd)
+  {
+ Efl_Ui_Property_Bind_Data *bppd;
+ Eina_List *l;
+
+ EINA_LIST_FOREACH(bpd->properties, l, bppd)
+   efl_ui_property_bind(efl_part(w, bpd->part),
+bppd->part_property,
+bppd->model_property);
+  }
+eina_iterator_free(it);
+ }
+
return eina_value_object_init(w);
 }
 
@@ -128,7 +167,76 @@ 
_efl_ui_widget_factory_efl_ui_property_bind_property_bind(Eo *obj, Efl_Ui_Widget
 return 0;
  }
 
-   return efl_ui_property_bind(efl_super(obj, EFL_UI_WIDGET_FACTORY_CLASS), 
target, property);
+   return EINVAL;
+}
+
+
+typedef struct _Efl_Ui_Property_Bind_Part_Data Efl_Ui_Property_Bind_Part_Data;
+struct _Efl_Ui_Property_Bind_Part_Data
+{
+   Efl_Ui_Widget_Factory_Data *pd;
+   Eina_Stringshare *name;
+};
+
+static Efl_Object *
+_efl_ui_widget_factory_efl_part_part_get(const Eo *obj,
+ Efl_Ui_Widget_Factory_Data *pd,
+ const char *name)
+{
+   Efl_Ui_Property_Bind_Part_Data *ppd;
+   Efl_Object *part;
+
+   part = efl_add(EFL_UI_PROPERTY_BIND_PART_CLASS, (Eo*) obj);
+   if (!part) return NULL;
+
+   ppd = efl_data_scope_get(obj, EFL_UI_PROPERTY_BIND_PART_CLASS);
+   ppd->name = eina_stringshare_add(name);
+   ppd->pd = pd;
+
+   return part;
+}
+
+static void
+_efl_ui_property_bind_part_efl_object_destructor(Eo *obj, 
Efl_Ui_Property_Bind_Part_Data *pd)
+{
+   eina_stringshare_replace(>name, NULL);
+
+   efl_destructor(efl_super(obj, EFL_UI_PROPERTY_BIND_PART_CLASS));
+}
+
+static Eina_Error
+_efl_ui_property_bind_part_efl_ui_property_bind_property_bind(Eo *obj 
EINA_UNUSED,
+  
Efl_Ui_Property_Bind_Part_Data *pd,
+  const char *key,
+  const char 
*property)
+{
+   Efl_Ui_Bind_Part_Data *bpd;
+   Efl_Ui_Property_Bind_Data *bppd;
+
+   if 

[EGIT] [core/efl] master 03/14: efl model - fix use after free

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 05ee22cd68732592d107e6bd5643e6d4d6b72d6e
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 22:47:22 2019 +0100

efl model - fix use after free

fix CID 1402712
---
 src/lib/ecore/efl_generic_model.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_generic_model.c 
b/src/lib/ecore/efl_generic_model.c
index 35d26374a8..99b6f480ec 100644
--- a/src/lib/ecore/efl_generic_model.c
+++ b/src/lib/ecore/efl_generic_model.c
@@ -88,13 +88,12 @@ _efl_generic_model_efl_model_property_set(Eo *obj, 
Efl_Generic_Model_Data *pd, c
   free(e);
}
 
-   eina_stringshare_del(prop);
-
evt.changed_properties = eina_array_new(1);
eina_array_push(evt.changed_properties, prop);
 
efl_event_callback_call(obj, EFL_MODEL_EVENT_PROPERTIES_CHANGED, );
 
+   eina_stringshare_del(prop);
eina_array_free(evt.changed_properties);
 
return efl_loop_future_resolved(obj,

-- 




[EGIT] [core/efl] feature/themes/flat 01/02: TH - fix build...

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch feature/themes/flat.

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

commit fbcbd00758b09ddaa33693e898e7e80f3f9bc7e2
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Aug 22 20:25:32 2019 +0100

TH - fix build...
---
 data/elementary/themes/edc/wallpaper.edc | 1 -
 1 file changed, 1 deletion(-)

diff --git a/data/elementary/themes/edc/wallpaper.edc 
b/data/elementary/themes/edc/wallpaper.edc
index 216a86e566..f653e210d7 100644
--- a/data/elementary/themes/edc/wallpaper.edc
+++ b/data/elementary/themes/edc/wallpaper.edc
@@ -321,7 +321,6 @@
  }
  program { signal: "e,action,thumb,gen"; source: "e";
 action: STATE_SET "visible" 0.0;
-target: "shadow";
 target: "base";
 target: "events";
 after: "thumb_gen2";

-- 




[EGIT] [core/efl] master 01/07: evas_filter_parser: remove dereferenced NULL

2019-09-15 Thread Shinwoo Kim
zmike pushed a commit to branch master.

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

commit 228bed4c8c8ab00773151dc67ea80fe261997d3b
Author: Shinwoo Kim 
Date:   Fri Aug 30 09:17:59 2019 -0400

evas_filter_parser: remove dereferenced NULL

Summary:
This is detected by static analysis tool.
The variable last could be NULL when it is dereferenced.

Reviewers: Hermet, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9796
---
 src/lib/evas/filters/evas_filter_parser.c | 14 ++
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/filters/evas_filter_parser.c 
b/src/lib/evas/filters/evas_filter_parser.c
index 00b231e020..264f6a6ffa 100644
--- a/src/lib/evas/filters/evas_filter_parser.c
+++ b/src/lib/evas/filters/evas_filter_parser.c
@@ -1405,10 +1405,16 @@ _curve_instruction_prepare(Evas_Filter_Program *pgm, 
Evas_Filter_Instruction *in
// TODO: Allow passing an array of 256 values as points.
// It could be easily computed from another function in the script.
_instruction_param_seq_add(instr, "points", VT_SPECIAL, 
_lua_curve_points_func, NULL);
-   if (instr->params) last = instr->params->last;
-   param = EINA_INLIST_CONTAINER_GET(last, Instruction_Param);
-   param->allow_any_string = EINA_TRUE;
-
+   if (instr->params)
+ {
+last = instr->params->last;
+if (last)
+  {
+ param = EINA_INLIST_CONTAINER_GET(last, Instruction_Param);
+ param->allow_any_string = EINA_TRUE;
+  }
+ }
+ 
_instruction_param_seq_add(instr, "interpolation", VT_STRING, "linear");
_instruction_param_seq_add(instr, "channel", VT_STRING, "rgb");
_instruction_param_name_add(instr, "src", VT_BUFFER, _buffer_get(pgm, 
"input"));

-- 




[EGIT] [core/efl] master 01/01: efl_ui/scrollable_content: be more explicit about scrollable_content_get()

2019-09-15 Thread Mike Blumenkrantz
xartigas pushed a commit to branch master.

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

commit 51265dea6b84a6b6191abc03e89087d710d31883
Author: Mike Blumenkrantz 
Date:   Fri Sep 13 18:49:03 2019 +0200

efl_ui/scrollable_content: be more explicit about scrollable_content_get()

Summary:
always return NULL when an internal text object exists to avoid exposing
internal objects; this is an abstraction mechanism which should not be
extended or relied upon

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9910
---
 src/lib/elementary/efl_ui_widget_scrollable_content.c  | 1 +
 src/lib/elementary/efl_ui_widget_scrollable_content.eo | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/src/lib/elementary/efl_ui_widget_scrollable_content.c 
b/src/lib/elementary/efl_ui_widget_scrollable_content.c
index c69f7b073d..299eabbece 100644
--- a/src/lib/elementary/efl_ui_widget_scrollable_content.c
+++ b/src/lib/elementary/efl_ui_widget_scrollable_content.c
@@ -206,6 +206,7 @@ _efl_ui_widget_scrollable_content_scrollable_content_set(Eo 
*obj, Efl_Ui_Widget_
 EOLIAN static Eo *
 _efl_ui_widget_scrollable_content_scrollable_content_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Widget_Scrollable_Content_Data *pd)
 {
+   if (pd->label) return NULL;
if (!pd->scroller) return NULL;
return efl_content_get(pd->scroller);
 }
diff --git a/src/lib/elementary/efl_ui_widget_scrollable_content.eo 
b/src/lib/elementary/efl_ui_widget_scrollable_content.eo
index ff3e774449..9dba617de1 100644
--- a/src/lib/elementary/efl_ui_widget_scrollable_content.eo
+++ b/src/lib/elementary/efl_ui_widget_scrollable_content.eo
@@ -43,6 +43,8 @@ mixin @beta Efl.Ui.Widget_Scrollable_Content requires 
Efl.Object
   @property scrollable_content {
  [[This is the content which will be placed in the internal scroller.
 
+   If a scrollable text string is set, this will return $NULL.
+
@since 1.23
  ]]
  set {

-- 




[EGIT] [core/efl] master 02/10: elm/hoversel: manually trigger group_calc for internal objects

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 187425e12ccc355e9fb58074b72c786535d5aa23
Author: Mike Blumenkrantz 
Date:   Mon Aug 19 13:39:11 2019 -0400

elm/hoversel: manually trigger group_calc for internal objects

hoversel doesn't implement group calc or do any sane type of sizing
so just manually call these on demand to ensure the correct size is used

fix T8127

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9632
---
 src/lib/elementary/elc_hoversel.c | 1 +
 src/lib/elementary/elm_entry.c| 2 ++
 2 files changed, 3 insertions(+)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index dfdb638892..ca08e713df 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -501,6 +501,7 @@ _activate(Evas_Object *obj)
  {
 ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
 evas_object_show(VIEW(item));
+efl_canvas_group_calculate(VIEW(item));
 elm_box_pack_end(sd->bx, VIEW(item));
  }
 
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 94ce3c5391..7e9e838d97 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -1437,6 +1437,8 @@ _hoversel_position(Evas_Object *obj)
  edje_object_part_text_cursor_geometry_get
(sd->entry_edje, "elm.text", , , , );
 
+   if (efl_canvas_group_need_recalculate_get(sd->hoversel))
+ efl_canvas_group_calculate(sd->hoversel);
evas_object_size_hint_combined_min_get(sd->hoversel, , );
if (cx + mw > w)
  cx = w - mw;

-- 




[EGIT] [core/efl] master 08/09: efl_ui/popup_backwall: implement efl.file file and key get methods

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit 15eff4082011fd13cadc781916e4813a008d0b94
Author: Mike Blumenkrantz 
Date:   Mon Aug 5 18:56:44 2019 +

efl_ui/popup_backwall: implement efl.file file and key get methods

these need to be proxied to the internal image object to return
correct values

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9508
---
 src/lib/elementary/efl_ui_popup.c| 20 
 src/lib/elementary/efl_ui_popup_part_backwall.eo |  2 ++
 2 files changed, 22 insertions(+)

diff --git a/src/lib/elementary/efl_ui_popup.c 
b/src/lib/elementary/efl_ui_popup.c
index 007e5f5b9b..eea29e7bdc 100644
--- a/src/lib/elementary/efl_ui_popup.c
+++ b/src/lib/elementary/efl_ui_popup.c
@@ -322,6 +322,26 @@ _efl_ui_popup_part_backwall_repeat_events_get(const Eo 
*obj, void *_pd EINA_UNUS
return efl_canvas_object_repeat_events_get(sd->backwall);
 }
 
+EOLIAN static Eina_Stringshare *
+_efl_ui_popup_part_backwall_efl_file_file_get(const Eo *obj, void *_pd 
EINA_UNUSED)
+{
+   Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+   Efl_Ui_Popup_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_POPUP_CLASS);
+
+   Eo *content = edje_object_part_swallow_get(sd->backwall, "efl.content");
+   return content ? efl_file_get(content) : NULL;
+}
+
+EOLIAN static Eina_Stringshare *
+_efl_ui_popup_part_backwall_efl_file_key_get(const Eo *obj, void *_pd 
EINA_UNUSED)
+{
+   Elm_Part_Data *pd = efl_data_scope_get(obj, EFL_UI_WIDGET_PART_CLASS);
+   Efl_Ui_Popup_Data *sd = efl_data_scope_get(pd->obj, EFL_UI_POPUP_CLASS);
+
+   Eo *content = edje_object_part_swallow_get(sd->backwall, "efl.content");
+   return content ? efl_file_key_get(content) : NULL;
+}
+
 EOLIAN static void
 _efl_ui_popup_part_backwall_efl_file_unload(Eo *obj, void *_pd EINA_UNUSED)
 {
diff --git a/src/lib/elementary/efl_ui_popup_part_backwall.eo 
b/src/lib/elementary/efl_ui_popup_part_backwall.eo
index 64bd8636b7..8b4eea33bf 100644
--- a/src/lib/elementary/efl_ui_popup_part_backwall.eo
+++ b/src/lib/elementary/efl_ui_popup_part_backwall.eo
@@ -25,6 +25,8 @@ class @beta Efl.Ui.Popup_Part_Backwall extends 
Efl.Ui.Layout_Part implements Efl
   }
}
implements {
+  Efl.File.file { get; }
+  Efl.File.key { get; }
   Efl.File.load;
   Efl.File.unload;
}

-- 




[EGIT] [core/efl] master 04/08: elm_test: add a example that shows efl_ui_item instances

2019-09-15 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit 764f35b7a3e795e344d2414e252e280c3c34756d
Author: Marcel Hollerbach 
Date:   Mon Jul 29 15:00:32 2019 +0200

elm_test: add a example that shows efl_ui_item instances

this is just a little showcase to show the possible items

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9430
---
 src/bin/elementary/meson.build |  1 +
 src/bin/elementary/test.c  |  3 ++
 src/bin/elementary/test_ui_items.c | 87 ++
 src/lib/elementary/Efl_Ui.h|  1 +
 4 files changed, 92 insertions(+)

diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index 10372d9154..9c26bc3eb4 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -157,6 +157,7 @@ elementary_test_src = [
   'test_ui_tab_pager.c',
   'test_ui_relative_layout.c',
   'test_ui_item_container.c',
+  'test_ui_items.c',
   'test.h'
 ]
 
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index f4400695e5..1a332575da 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -402,6 +402,8 @@ void test_ui_relative_layout(void *data, Evas_Object *obj, 
void *event_info);
 void test_efl_ui_radio(void *data, Evas_Object *obj, void *event_info);
 void test_efl_ui_collection_list(void *data, Evas_Object *obj, void 
*event_info );
 void test_efl_ui_collection_grid(void *data, Evas_Object *obj, void 
*event_info);
+void test_efl_ui_item(void *data, Evas_Object *obj, void *event_info);
+
 static void _list_udpate(void);
 
 static Evas_Object *win, *tbx, *entry; // TODO: refactoring
@@ -905,6 +907,7 @@ add_tests:
ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Relative_Layout", 
test_ui_relative_layout);
ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection List", 
test_efl_ui_collection_list);
ADD_TEST_EO(NULL, "Containers", "Efl.Ui.Collection Grid", 
test_efl_ui_collection_grid);
+   ADD_TEST_EO(NULL, "Containers", "Items", test_efl_ui_item);
 
//--//
ADD_TEST_EO(NULL, "Events", "Event Refeed", test_events);
diff --git a/src/bin/elementary/test_ui_items.c 
b/src/bin/elementary/test_ui_items.c
new file mode 100644
index 00..4c2254ad25
--- /dev/null
+++ b/src/bin/elementary/test_ui_items.c
@@ -0,0 +1,87 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+
+#include 
+
+static Efl_Ui_Widget*
+_item_add(Eo *box, const Efl_Class *c, int i)
+{
+   Eo *check, *rect, *il = efl_add(c, box);
+   int r = 0, g = 0, b = 0;
+   char buf[PATH_MAX];
+
+   snprintf(buf, sizeof(buf), "%d - Test %d", i, i%13);
+   efl_text_set(il, buf);
+
+   rect = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas_object_evas_get(il));
+   switch (i % 5)
+ {
+  case 0:
+ r = 255;
+ break;
+  case 1:
+ g = 255;
+ break;
+  case 2:
+ b = 255;
+ break;
+  case 3:
+ r = g = b = 255;
+ break;
+  case 4:
+ r = g = b = 0;
+ break;
+   }
+   efl_gfx_color_set(rect, r, g, b, 255);
+   efl_content_set(il, rect);
+
+   check = efl_add(EFL_UI_CHECK_CLASS, il);
+   efl_content_set(efl_part(il, "extra"), check);
+
+   if (c == EFL_UI_GRID_DEFAULT_ITEM_CLASS)
+ efl_gfx_hint_size_min_set(il, EINA_SIZE2D(100, 180));
+   else
+ efl_gfx_hint_size_min_set(il, EINA_SIZE2D(40, 40+(i%2)*40));
+
+   return il;
+}
+
+void test_efl_ui_item(void *data EINA_UNUSED,
+  Evas_Object *obj EINA_UNUSED,
+  void *event_info EINA_UNUSED)
+{
+   Eo *win, *box, *o;
+
+   win = efl_add(EFL_UI_WIN_CLASS, efl_main_loop_get(),
+ efl_ui_win_type_set(efl_added, EFL_UI_WIN_TYPE_BASIC),
+ efl_text_set(efl_added, "Item examples"),
+ efl_ui_win_autodel_set(efl_added, EINA_TRUE)
+);
+
+   box = efl_add(EFL_UI_BOX_CLASS, win,
+ efl_content_set(win, efl_added));
+
+   o = _item_add(box, EFL_UI_GRID_DEFAULT_ITEM_CLASS, 1);
+   efl_pack_end(box, o);
+
+   o = _item_add(box, EFL_UI_GRID_DEFAULT_ITEM_CLASS, 2);
+   efl_ui_widget_disabled_set(o, EINA_TRUE);
+   efl_pack_end(box, o);
+
+   o = _item_add(box, EFL_UI_LIST_DEFAULT_ITEM_CLASS, 3);
+   efl_pack_end(box, o);
+
+   o = _item_add(box, EFL_UI_LIST_DEFAULT_ITEM_CLASS, 4);
+   efl_ui_widget_disabled_set(o, EINA_TRUE);
+   efl_pack_end(box, o);
+
+   o = efl_add(EFL_UI_LIST_PLACEHOLDER_ITEM_CLASS, box);
+   efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40+40));
+   efl_pack_end(box, o);
+
+   o = efl_add(EFL_UI_LIST_PLACEHOLDER_ITEM_CLASS, box);
+   efl_gfx_hint_size_min_set(o, EINA_SIZE2D(40, 40));
+   efl_ui_widget_disabled_set(o, EINA_TRUE);
+   efl_pack_end(box, o);
+}
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h
index 8ccc063dea..4ed285771f 100644
--- 

[EGIT] [core/efl] master 02/07: efl_ui/pan: remove pan content, changed event

2019-09-15 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

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

commit 23220764e27ed84698914cc7739b363bf2ed1c69
Author: Mike Blumenkrantz 
Date:   Fri Aug 30 14:47:46 2019 -0400

efl_ui/pan: remove pan content,changed event

Summary:
this was being emitted as a catch-all for pan changes, where something else
should have been monitored/used instead

ref T7708

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, #reviewers, #committers

Tags: #efl_widgets

Maniphest Tasks: T7708

Differential Revision: https://phab.enlightenment.org/D9787
---
 src/lib/elementary/efl_ui_image_zoomable.c| 12 ++---
 src/lib/elementary/efl_ui_list_view.c |  2 +-
 src/lib/elementary/efl_ui_pan.c   | 13 +
 src/lib/elementary/efl_ui_pan.eo  |  1 -
 src/lib/elementary/efl_ui_scroll_manager.c| 65 ---
 src/lib/elementary/efl_ui_widget_scroll_manager.h |  1 +
 6 files changed, 56 insertions(+), 38 deletions(-)

diff --git a/src/lib/elementary/efl_ui_image_zoomable.c 
b/src/lib/elementary/efl_ui_image_zoomable.c
index ee9ad073da..9ab2238b5d 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -143,7 +143,7 @@ _calc_job_cb(void *data)
 sd->minw = minw;
 sd->minh = minh;
 
-efl_event_callback_call(sd->pan_obj, 
EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, NULL);
+efl_event_callback_call(sd->pan_obj, 
EFL_UI_PAN_EVENT_PAN_POSITION_CHANGED, NULL);
 _sizing_eval(obj);
  }
sd->calc_job = NULL;
@@ -1823,17 +1823,17 @@ _efl_ui_image_zoomable_efl_canvas_group_group_add(Eo 
*obj, Efl_Ui_Image_Zoomable
 
priv->pan_obj = efl_add(MY_PAN_CLASS, obj);
 
+   pan_data = efl_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
+   efl_data_ref(obj, MY_CLASS);
+   pan_data->wobj = obj;
+   pan_data->wsd = priv;
+
efl_ui_scroll_manager_pan_set(priv->smanager, priv->pan_obj);
if (elm_widget_is_legacy(obj))
  edje_object_part_swallow(edje, "elm.swallow.content", priv->pan_obj);
else
  edje_object_part_swallow(edje, "efl.content", priv->pan_obj);
 
-   pan_data = efl_data_scope_get(priv->pan_obj, MY_PAN_CLASS);
-   efl_data_ref(obj, MY_CLASS);
-   pan_data->wobj = obj;
-   pan_data->wsd = priv;
-
efl_event_callback_add(obj, EFL_UI_EVENT_SCROLL, _scroll_cb, obj);
 
priv->g_layer_start = 1.0;
diff --git a/src/lib/elementary/efl_ui_list_view.c 
b/src/lib/elementary/efl_ui_list_view.c
index 25ef87fc94..d992a3fafd 100644
--- a/src/lib/elementary/efl_ui_list_view.c
+++ b/src/lib/elementary/efl_ui_list_view.c
@@ -863,7 +863,7 @@ _efl_ui_list_view_efl_ui_list_view_model_min_size_set(Eo 
*obj, Efl_Ui_List_View_
pd->min.h = min.h;
 
efl_gfx_hint_size_min_set(wd->resize_obj, EINA_SIZE2D(pd->min.w, 
pd->min.h));
-   efl_event_callback_call(pd->pan_obj, EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, 
NULL);
+   efl_event_callback_call(pd->pan_obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, 
NULL);
 }
 
 EOLIAN static void
diff --git a/src/lib/elementary/efl_ui_pan.c b/src/lib/elementary/efl_ui_pan.c
index 753793606d..9fb68eed2c 100644
--- a/src/lib/elementary/efl_ui_pan.c
+++ b/src/lib/elementary/efl_ui_pan.c
@@ -122,12 +122,7 @@ _efl_ui_pan_content_del_cb(void *data,
 Evas_Object *obj EINA_UNUSED,
 void *event_info EINA_UNUSED)
 {
-   Evas_Object *pobj = data;
-   EFL_UI_PAN_DATA_GET_OR_RETURN(pobj, psd);
-
-   psd->content = NULL;
-   psd->content_w = psd->content_h = psd->px = psd->py = 0;
-   efl_event_callback_call(pobj, EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, NULL);
+   efl_content_unset(data);
 }
 
 static void
@@ -146,7 +141,6 @@ _efl_ui_pan_content_resize_cb(void *data,
 psd->content_h = sz.h;
 evas_object_smart_changed(pobj);
  }
-   efl_event_callback_call(pobj, EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, NULL);
efl_event_callback_call(pobj, EFL_UI_PAN_EVENT_PAN_POSITION_CHANGED, NULL);
 }
 
@@ -160,7 +154,7 @@ _efl_ui_pan_efl_content_content_set(Evas_Object *obj, 
Efl_Ui_Pan_Data *psd, Evas
  {
 efl_content_unset(obj);
  }
-   if (!content) goto end;
+   if (!content) return EINA_TRUE;
 
psd->content = content;
efl_canvas_group_member_add(obj, content);
@@ -179,9 +173,7 @@ _efl_ui_pan_efl_content_content_set(Evas_Object *obj, 
Efl_Ui_Pan_Data *psd, Evas
 
evas_object_smart_changed(obj);
 
-end:
efl_event_callback_call(obj, EFL_CONTENT_EVENT_CONTENT_CHANGED, content);
-   efl_event_callback_call(obj, EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, NULL);
return EINA_TRUE;
 }
 
@@ -205,7 +197,6 @@ _efl_ui_pan_efl_content_content_unset(Eo *obj EINA_UNUSED, 
Efl_Ui_Pan_Data *pd)
pd->content = NULL;
pd->content_w = pd->content_h = pd->px = pd->py = 0;
efl_event_callback_call(obj, 

[EGIT] [core/efl] master 01/01: elementary_test: Add the animation view test

2019-09-15 Thread JunsuChoi
hermet pushed a commit to branch master.

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

commit 7a7d6a858d0dccba3d7d73779e39a999eaf543e9
Author: JunsuChoi 
Date:   Wed Aug 21 17:53:14 2019 +0900

elementary_test: Add the animation view test

Summary:
Add an animation view item to test vector animation on elementary_test.
If Evas Vg Json(Lottie) Loader is not supported,
use the vector class to output the svg file.

Depends {D9451}

Test Plan:
elementart_test
Animation View

Reviewers: Hermet, smohanty, kimcinoo, zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9472
---
 data/elementary/images/emoji_wink.json  |   1 +
 data/elementary/images/ubuntu.svg   |  26 ++
 src/bin/elementary/meson.build  |   1 +
 src/bin/elementary/test.c   |   6 +
 src/bin/elementary/test_efl_ui_animation_view.c | 328 
 5 files changed, 362 insertions(+)

diff --git a/data/elementary/images/emoji_wink.json 
b/data/elementary/images/emoji_wink.json
new file mode 100644
index 00..29b39a5369
--- /dev/null
+++ b/data/elementary/images/emoji_wink.json
@@ -0,0 +1 @@
+{"v":"4.5.7","fr":30,"ip":0,"op":60,"w":100,"h":100,"ddd":0,"assets":[{"id":"comp_38","layers":[{"ddd":0,"ind":0,"ty":4,"nm":"round_normal","ks":{"o":{"a":0,"k":100},"r":{"a":0,"k":0},"p":{"a":0,"k":[50,50,0]},"a":{"a":0,"k":[-252,-412,0]},"s":{"a":0,"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"a":0,"k":{"i":[[-17.673,0],[0,-17.673],[17.673,0],[0,17.673]],"o":[[17.673,0],[0,17.673],[-17.673,0],[0,-17.673]],"v":[[-252,-444],[-220,-412],[-252,-380],[-284,
 [...]
\ No newline at end of file
diff --git a/data/elementary/images/ubuntu.svg 
b/data/elementary/images/ubuntu.svg
new file mode 100644
index 00..4d7b3ee586
--- /dev/null
+++ b/data/elementary/images/ubuntu.svg
@@ -0,0 +1,26 @@
+http://www.w3.org/2000/svg; 
xmlns:xlink="http://www.w3.org/1999/xlink; viewBox="-70 -70 140 140">
+
+  
+
+
+  
+
+  
+
+
+
+
+
+
+  
+
+  http://www.ubuntu.com/;>
+
+
+
+
+
+
+  
+
+
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index b490b57881..388623d5c0 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -159,6 +159,7 @@ elementary_test_src = [
   'test_ui_collection.c',
   'test_ui_items.c',
   'test_ui_frame.c',
+  'test_efl_ui_animation_view.c',
   'test.h'
 ]
 
diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 186af020b8..27abd2656d 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -404,6 +404,8 @@ void test_efl_ui_collection_grid(void *data, Evas_Object 
*obj, void *event_info)
 void test_efl_ui_item(void *data, Evas_Object *obj, void *event_info);
 void test_ui_frame(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED);
 
+void test_efl_ui_animation_view(void *data, Evas_Object *obj, void 
*event_info);
+
 static void _list_udpate(void);
 
 static Evas_Object *win, *tbx, *entry; // TODO: refactoring
@@ -1294,6 +1296,10 @@ add_tests:
//--//
ADD_TEST_EO(NULL, "Widgets Part", "Part Background", test_part_background);
ADD_TEST_EO(NULL, "Widgets Part", "Part Shadow", test_part_shadow);
+
+   //--//
+   ADD_TEST_EO(NULL, "Vector Animation", "Animation View", 
test_efl_ui_animation_view);
+
 #undef ADD_TEST
 
if (autorun)
diff --git a/src/bin/elementary/test_efl_ui_animation_view.c 
b/src/bin/elementary/test_efl_ui_animation_view.c
new file mode 100644
index 00..8d06d6ac11
--- /dev/null
+++ b/src/bin/elementary/test_efl_ui_animation_view.c
@@ -0,0 +1,328 @@
+#ifdef HAVE_CONFIG_H
+# include "elementary_config.h"
+#endif
+#include 
+#include 
+
+#ifndef EFL_BETA_API_SUPPORT
+#define EFL_BETA_API_SUPPORT
+#endif
+
+#ifndef EFL_EO_API_SUPPORT
+#define EFL_EO_API_SUPPORT
+#endif
+
+#ifdef BUILD_VG_LOADER_JSON
+
+static void
+btn_clicked_cb(void *data , const Efl_Event *ev )
+{
+   Evas_Object *anim_view = data;
+   const char *text = efl_text_get(ev->object);
+
+   if (!text) return;
+
+   if (!strcmp("Play", text))
+ efl_ui_animation_view_play(anim_view);
+   else if (!strcmp("Pause", text))
+ efl_ui_animation_view_pause(anim_view);
+   else if (!strcmp("Resume", text))
+ efl_ui_animation_view_resume(anim_view);
+   else if (!strcmp("Play Back", text))
+ efl_ui_animation_view_play_back(anim_view);
+   else if (!strcmp("Stop", text))
+ efl_ui_animation_view_stop(anim_view);
+}
+
+static void
+check_changed_cb(void *data, const Efl_Event *event)
+{
+   Evas_Object *anim_view = data;
+   efl_ui_animation_view_auto_repeat_set(anim_view, 

[EGIT] [core/efl] master 07/14: efl filter model - fix return value handling to avoid uninit mem access

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c2a33f2225a8f0f32acaa23e68446658ddce000a
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 23:04:29 2019 +0100

efl filter model - fix return value handling to avoid uninit mem access

coverity reported - it's right. this fixes CID 1401461 and CID 1401463
---
 src/lib/ecore/efl_filter_model.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_filter_model.c b/src/lib/ecore/efl_filter_model.c
index 8a00d82141..7626f5dbbb 100644
--- a/src/lib/ecore/efl_filter_model.c
+++ b/src/lib/ecore/efl_filter_model.c
@@ -362,7 +362,7 @@ _efl_filter_model_efl_model_children_slice_get(Eo *obj, 
Efl_Filter_Model_Data *p
if (count == 0)
  return efl_loop_future_rejected(obj, EFL_MODEL_ERROR_INCORRECT_VALUE);
 
-   r = malloc((count + 1) * sizeof (Eina_Future *));
+   r = calloc(1, (count + 1) * sizeof (Eina_Future *));
if (!r) return efl_loop_future_rejected(obj, ENOMEM);
 
mapping = calloc(count, sizeof (Efl_Filter_Model_Mapping *));
@@ -385,7 +385,7 @@ _efl_filter_model_efl_model_children_slice_get(Eo *obj, 
Efl_Filter_Model_Data *p
 r[i] = efl_future_then(obj, r[i], .success_type = 
EINA_VALUE_TYPE_ARRAY,
.success = _filter_remove_array,
.data = mapping[i]);
-if (!r) goto on_error;
+if (!r[i]) goto on_error;
  }
r[i] = EINA_FUTURE_SENTINEL;
 

-- 




[EGIT] [core/efl] master 01/02: eolian_aux: this must be recursive

2019-09-15 Thread Marcel Hollerbach
q66 pushed a commit to branch master.

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

commit f951ba50761eecaffe06b0927e759167f28b023f
Author: Marcel Hollerbach 
Date:   Wed Aug 28 10:20:48 2019 +0200

eolian_aux: this must be recursive

Summary:
in order to get all callables, this must be recursive, otherwise deeper
callables are forgotten.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9421
---
 src/lib/eolian/eolian_aux.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/eolian_aux.c b/src/lib/eolian/eolian_aux.c
index a66c02c58e..66cde8ac73 100644
--- a/src/lib/eolian/eolian_aux.c
+++ b/src/lib/eolian/eolian_aux.c
@@ -89,11 +89,17 @@ _callables_find(const Eolian_Class *cl, Eina_List **funcs,
 
const Eolian_Class *pcl = eolian_class_parent_get(cl);
if (pcl)
- total += _callables_find_body(pcl, funcs, events, written);
+ {
+total += _callables_find_body(pcl, funcs, events, written);
+total += _callables_find(pcl, funcs, events, written);
+ }
 
Eina_Iterator *itr = eolian_class_extensions_get(cl);
EINA_ITERATOR_FOREACH(itr, pcl)
- total += _callables_find_body(pcl, funcs, events, written);
+ {
+total += _callables_find_body(pcl, funcs, events, written);
+total += _callables_find(pcl, funcs, events, written);
+ }
 
return total;
 }

-- 




[EGIT] [apps/evisum] master 01/01: Silence some compiler warnings

2019-09-15 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=2f46f79e770ff8f62bd0a71e0175566262f3f3f7

commit 2f46f79e770ff8f62bd0a71e0175566262f3f3f7
Author: Alastair Poole 
Date:   Thu Sep 5 23:01:00 2019 +0100

Silence some compiler warnings
---
 src/main.c| 2 --
 src/process.h | 2 +-
 src/system.c  | 1 -
 src/ui.c  | 6 ++
 src/ui.h  | 1 +
 5 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/src/main.c b/src/main.c
index 954d073..7d83101 100644
--- a/src/main.c
+++ b/src/main.c
@@ -5,8 +5,6 @@
 
 #define VERSION "0.2.6"
 
-#include "process.h"
-#include "system.h"
 #include "ui.h"
 
 static void
diff --git a/src/process.h b/src/process.h
index 0ec7539..7a1632c 100644
--- a/src/process.h
+++ b/src/process.h
@@ -24,7 +24,7 @@
 # define PID_MAX 9
 #endif
 
-#define CMD_NAME_MAX 256
+#define CMD_NAME_MAX 1024
 
 typedef struct _Proc_Stats
 {
diff --git a/src/system.c b/src/system.c
index f2d2869..588496f 100644
--- a/src/system.c
+++ b/src/system.c
@@ -109,7 +109,6 @@ file_contents(const char *path)
char *buf;
char byte[1];
size_t count, bytes = 0;
-   struct stat st;
FILE *f;
 
f = fopen(path, "r");
diff --git a/src/ui.c b/src/ui.c
index 057e9d6..83bc79f 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -122,7 +122,6 @@ _tab_misc_update(Ui *ui, results_t *results)
 {
Evas_Object *box, *frame, *progress;
char *tmp;
-   int i;
 
if (!ui->misc_visible)
  return;
@@ -310,7 +309,7 @@ _tab_disk_update(Ui *ui)
 static void
 _tab_memory_update(Ui *ui, results_t *results)
 {
-   Evas_Object *box, *frame, *progress;
+   Evas_Object *progress;
double ratio, value;
 
if (!ui->mem_visible)
@@ -1003,7 +1002,6 @@ _process_panel_pids_update(Ui *ui)
Elm_Widget_Item *item;
Eina_List *list;
pid_t *pid;
-   char buf[64];
 
if (!ui->panel_visible)
  return;
@@ -1492,7 +1490,7 @@ _ui_tab_system_add(Ui *ui)
 static void
 _ui_process_panel_add(Ui *ui)
 {
-   Evas_Object *parent, *panel, *box, *hbox, *frame, *scroller, *table;
+   Evas_Object *parent, *panel, *hbox, *frame, *scroller, *table;
Evas_Object *label, *list, *entry, *button, *border;
 
parent = ui->content;
diff --git a/src/ui.h b/src/ui.h
index 8b60822..d58afee 100644
--- a/src/ui.h
+++ b/src/ui.h
@@ -2,6 +2,7 @@
 #define __UI_H__
 
 #include 
+#include "process.h"
 
 #define EVISUM_SIZE_WIDTH  500
 #define EVISUM_SIZE_HEIGHT 560

-- 




[EGIT] [core/efl] master 01/01: csharp: re-enable binbuf tests with -Dmono-beta=false

2019-09-15 Thread Vitor Sousa
felipealmeida pushed a commit to branch master.

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

commit e6a52ef371430c69da7ce3e7b22f1455a64f1637
Author: Vitor Sousa 
Date:   Mon Aug 5 18:47:14 2019 -0300

csharp: re-enable binbuf tests with -Dmono-beta=false

Summary:
Since the introduction of the `binbuf` keyword in eolian, `Eina_Binbuf` is 
no
longer a beta only type.
Hence, we enable EFL# binbuf unit tests in non-beta compilation too.

Reviewers: lauromoura, felipealmeida

Reviewed By: lauromoura

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9467
---
 src/tests/efl_mono/EinaTestData.cs  |  2 --
 src/tests/efl_mono/Events.cs|  2 --
 src/tests/efl_mono/StructHelpers.cs |  2 --
 src/tests/efl_mono/Structs.cs   |  4 ---
 src/tests/efl_mono/dummy_test_object.eo | 48 -
 5 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/src/tests/efl_mono/EinaTestData.cs 
b/src/tests/efl_mono/EinaTestData.cs
index 81b318ffae..b64040d5eb 100644
--- a/src/tests/efl_mono/EinaTestData.cs
+++ b/src/tests/efl_mono/EinaTestData.cs
@@ -152,7 +152,6 @@ class NativeInheritImpl : Dummy.TestObject
 
 // //
 //
-#if EFL_BETA
 override public bool EinaBinbufIn(Eina.Binbuf binbuf)
 {
 binbuf_in_flag = true;
@@ -281,7 +280,6 @@ class NativeInheritImpl : Dummy.TestObject
 binbuf_return_own_binbuf = null;
 return r;
 }
-#endif
 }
 
 } // EinaTestData
diff --git a/src/tests/efl_mono/Events.cs b/src/tests/efl_mono/Events.cs
index 9e37649df1..b664e2bbbd 100644
--- a/src/tests/efl_mono/Events.cs
+++ b/src/tests/efl_mono/Events.cs
@@ -176,7 +176,6 @@ class TestEoEvents
 Test.AssertEquals(sent_struct.Fstring, received_struct.Fstring);
 }
 
-#if EFL_BETA
 public static void event_with_struct_complex_payload()
 {
 var obj = new Dummy.TestObject();
@@ -192,7 +191,6 @@ class TestEoEvents
 
 Test.AssertEquals(sent_struct.Fobj, received_struct.Fobj);
 }
-#endif
 
 public static void event_with_array_payload()
 {
diff --git a/src/tests/efl_mono/StructHelpers.cs 
b/src/tests/efl_mono/StructHelpers.cs
index 7af3529055..aeafe9e6d7 100644
--- a/src/tests/efl_mono/StructHelpers.cs
+++ b/src/tests/efl_mono/StructHelpers.cs
@@ -117,7 +117,6 @@ internal class StructHelpers
 Test.Assert(simple.Fstringshare == null);
 }
 
-#if EFL_BETA
 internal static Dummy.StructComplex structComplexWithValues()
 {
 var complex = new Dummy.StructComplex();
@@ -210,7 +209,6 @@ internal class StructHelpers
 
 Test.Assert(complex.Fobj == null);
 }
-#endif
 
 }
 
diff --git a/src/tests/efl_mono/Structs.cs b/src/tests/efl_mono/Structs.cs
index 96728adf4b..970fc97696 100644
--- a/src/tests/efl_mono/Structs.cs
+++ b/src/tests/efl_mono/Structs.cs
@@ -20,13 +20,11 @@ internal class TestStructs
 checkZeroedStructSimple(simple);
 }
 
-#if EFL_BETA
 private static void complex_default_instantiation()
 {
 var complex = new Dummy.StructComplex();
 checkZeroedStructComplex(complex);
 }
-#endif
 
 public static void parameter_initialization()
 {
@@ -303,7 +301,6 @@ internal class TestStructs
 */
 
 // Complex Structs
-#if EFL_BETA
 public static void complex_in()
 {
 var complex = structComplexWithValues();
@@ -351,7 +348,6 @@ internal class TestStructs
 // public static void complex_ptr_return_own()
 // {
 // }
-#endif
 }
 
 }
diff --git a/src/tests/efl_mono/dummy_test_object.eo 
b/src/tests/efl_mono/dummy_test_object.eo
index 4f26beba0a..47ec4c6b27 100644
--- a/src/tests/efl_mono/dummy_test_object.eo
+++ b/src/tests/efl_mono/dummy_test_object.eo
@@ -73,7 +73,7 @@ struct @free(free) Dummy.StructSimple
fmyint: Dummy.MyInt;
 }
 
-struct @beta @free(free) Dummy.StructComplex {
+struct @free(free) Dummy.StructComplex {
farray: array;
flist: list;
fhash: hash;
@@ -297,28 +297,28 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
   }
   */
 
-  eina_binbuf_in @beta {
+  eina_binbuf_in {
  params {
 @in binbuf: binbuf;
  }
  return: bool;
   }
 
-  call_eina_binbuf_in @beta {
+  call_eina_binbuf_in {
  params {
 @in binbuf: binbuf;
  }
  return: bool;
   }
 
-  eina_binbuf_in_own @beta {
+  eina_binbuf_in_own {
  params {
 @in binbuf: binbuf @owned;
  }
  return: bool;
   }
 
-  call_eina_binbuf_in_own @beta {
+  call_eina_binbuf_in_own {
 params {
 @in str: binbuf @owned;
 }
@@ -329,14 +329,14 @@ class Dummy.Test_Object extends Efl.Object implements 
Dummy.Test_Iface {
  return: bool;
   }
 
-  

[EGIT] [core/efl] master 01/01: elm toolbar - fix toolbar item separators and refactor aling/fill of item

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit db18d67af9470a34b93cd301afeebcf9db1696f7
Author: Carsten Haitzler (Rasterman) 
Date:   Fri Aug 2 17:17:48 2019 +0100

elm toolbar - fix toolbar item separators and refactor aling/fill of item

only set this is one place and thus get it consistent/right for
separators vs other items.

@fix
---
 src/lib/elementary/elm_toolbar.c | 94 +++-
 1 file changed, 44 insertions(+), 50 deletions(-)

diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index 02220c9933..5e797e2620 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -1255,6 +1255,41 @@ _item_shrink_signal_emit(Evas_Object *view, 
Elm_Toolbar_Shrink_Mode shrink_mode)
  }
 }
 
+static void
+_item_fill_align_set(Elm_Toolbar_Data *sd, Elm_Toolbar_Item_Data *it)
+{
+   if (sd->shrink_mode != ELM_TOOLBAR_SHRINK_EXPAND)
+ {
+if (it->separator)
+  {
+ if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
+   evas_object_size_hint_weight_set(VIEW(it), -1.0, 0.0);
+ else
+   evas_object_size_hint_weight_set(VIEW(it), 0.0, -1.0);
+  }
+else
+  {
+ if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
+   evas_object_size_hint_weight_set(VIEW(it), EVAS_HINT_EXPAND, 
0.0);
+ else
+   evas_object_size_hint_weight_set(VIEW(it), 0.0, 
EVAS_HINT_EXPAND);
+  }
+ }
+   else
+ {
+if (it->separator)
+  {
+ if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
+   evas_object_size_hint_weight_set(VIEW(it), -1.0, 0.0);
+ else
+   evas_object_size_hint_weight_set(VIEW(it), 0.0, -1.0);
+  }
+else
+  evas_object_size_hint_weight_set(VIEW(it), EVAS_HINT_EXPAND, 
EVAS_HINT_EXPAND);
+ }
+   evas_object_size_hint_align_set(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
+}
+
 static void
 _item_theme_hook(Evas_Object *obj,
  Elm_Toolbar_Item_Data *it,
@@ -1324,33 +1359,12 @@ _item_theme_hook(Evas_Object *obj,
else
  elm_layout_signal_emit(view, "elm,orient,horizontal", "elm");
 
-edje_object_message_signal_process(elm_layout_edje_get(view));
-if (!it->separator && !it->object)
-  elm_coords_finger_size_adjust(1, , 1, );
-if (sd->shrink_mode != ELM_TOOLBAR_SHRINK_EXPAND)
-  {
- if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
-   {
-  evas_object_size_hint_weight_set(view, EVAS_HINT_EXPAND, -1.0);
-  evas_object_size_hint_align_set
-(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   }
- else
-   {
-  evas_object_size_hint_weight_set(VIEW(it), -1.0, 
EVAS_HINT_EXPAND);
-  evas_object_size_hint_align_set
-(view, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   }
-  }
-else
-  {
- evas_object_size_hint_weight_set
-   (VIEW(it), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set
-   (VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
-  }
-_resizing_eval_item(it);
-evas_object_smart_need_recalculate_set(obj, EINA_TRUE);
+   edje_object_message_signal_process(elm_layout_edje_get(view));
+   if (!it->separator && !it->object)
+ elm_coords_finger_size_adjust(1, , 1, );
+   _item_fill_align_set(sd, it);
+   _resizing_eval_item(it);
+   evas_object_smart_need_recalculate_set(obj, EINA_TRUE);
 }
 
 static void
@@ -2485,28 +2499,8 @@ _item_new(Evas_Object *obj,
 
edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
 
-if (sd->shrink_mode != ELM_TOOLBAR_SHRINK_EXPAND)
-  {
- if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
-   {
-  evas_object_size_hint_weight_set(VIEW(it), EVAS_HINT_EXPAND, 
-1.0);
-  evas_object_size_hint_align_set
-(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
-   }
- else
-   {
-  evas_object_size_hint_weight_set(VIEW(it), -1.0, 
EVAS_HINT_EXPAND);
-  evas_object_size_hint_align_set
-(VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
-   }
-  }
-else
-  {
- evas_object_size_hint_weight_set
-   (VIEW(it), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set
-   (VIEW(it), EVAS_HINT_FILL, EVAS_HINT_FILL);
-  }
+   _item_fill_align_set(sd, it);
+
efl_ui_focus_composition_dirty(obj);
 
evas_object_event_callback_add
@@ -3373,7 +3367,7 @@ _elm_toolbar_item_separator_set(Eo *eo_item EINA_UNUSED, 
Elm_Toolbar_Item_Data *
item->separator = separator;
scale = 

[EGIT] [core/efl] master 01/01: elementary: use data:null to remove unecessary structure declaration.

2019-09-15 Thread Cedric BAIL
bu5hm4n pushed a commit to branch master.

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

commit f66844ebbf3b58bc5504caacede3fc9ef96418d0
Author: Cedric BAIL 
Date:   Wed Jul 24 15:48:30 2019 -0700

elementary: use data:null to remove unecessary structure declaration.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9389
---
 src/lib/elementary/efl_ui_grid.c  | 6 +-
 src/lib/elementary/efl_ui_grid.eo | 2 +-
 src/lib/elementary/efl_ui_list.c  | 8 ++--
 src/lib/elementary/efl_ui_list.eo | 1 +
 4 files changed, 5 insertions(+), 12 deletions(-)

diff --git a/src/lib/elementary/efl_ui_grid.c b/src/lib/elementary/efl_ui_grid.c
index 709765373c..226b3780cb 100644
--- a/src/lib/elementary/efl_ui_grid.c
+++ b/src/lib/elementary/efl_ui_grid.c
@@ -15,12 +15,8 @@
 
 #define MY_CLASS_NAME "Efl.Ui.Grid"
 
-typedef struct {
-
-} Efl_Ui_Grid_Data;
-
 EOLIAN static Eo *
-_efl_ui_grid_efl_object_constructor(Eo *obj, Efl_Ui_Grid_Data *pd EINA_UNUSED)
+_efl_ui_grid_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
 {
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
diff --git a/src/lib/elementary/efl_ui_grid.eo 
b/src/lib/elementary/efl_ui_grid.eo
index 48221f8f72..832fcf1c31 100644
--- a/src/lib/elementary/efl_ui_grid.eo
+++ b/src/lib/elementary/efl_ui_grid.eo
@@ -1,7 +1,7 @@
 class @beta Efl.Ui.Grid extends Efl.Ui.Collection
 {
[[Simple grid widget with Pack interface.]]
-
+   data: null;
implements {
   Efl.Object.constructor;
}
diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 9a4cc7fb16..0281fd8b30 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -15,12 +15,8 @@
 
 #define MY_CLASS_NAME "Efl.Ui.List"
 
-typedef struct {
-
-} Efl_Ui_List_Data;
-
-EOLIAN static Eo *
-_efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED)
+static Eo *
+_efl_ui_list_efl_object_constructor(Eo *obj, void *pd EINA_UNUSED)
 {
obj = efl_constructor(efl_super(obj, MY_CLASS));
 
diff --git a/src/lib/elementary/efl_ui_list.eo 
b/src/lib/elementary/efl_ui_list.eo
index 94e90f760d..3cb2fea202 100644
--- a/src/lib/elementary/efl_ui_list.eo
+++ b/src/lib/elementary/efl_ui_list.eo
@@ -1,6 +1,7 @@
 class @beta Efl.Ui.List extends Efl.Ui.Collection
 {
[[Simple list widget with Pack interface.]]
+   data: null;
implements {
   Efl.Object.constructor;
}

-- 




[EGIT] [core/efl] master 05/08: efl_ui_pan: emit position changed when content is resized

2019-09-15 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit 2057957d219996e5363d34475ceb39c2145d4005
Author: Marcel Hollerbach 
Date:   Thu Jul 25 20:54:49 2019 +0200

efl_ui_pan: emit position changed when content is resized

even if the position is not really changed here, the min / max relation
has changed. If we do not emit this event here, every user (that
calculates a relative position) would have to monitor the pan position
and the size of the content. This simplifies the given usecase, and
fixes the scroller position when new items are added to the collection.

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9411
---
 src/lib/elementary/efl_ui_pan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elementary/efl_ui_pan.c b/src/lib/elementary/efl_ui_pan.c
index 534b433661..3412cba005 100644
--- a/src/lib/elementary/efl_ui_pan.c
+++ b/src/lib/elementary/efl_ui_pan.c
@@ -147,6 +147,7 @@ _efl_ui_pan_content_resize_cb(void *data,
 evas_object_smart_changed(pobj);
  }
efl_event_callback_call(pobj, EFL_UI_PAN_EVENT_PAN_CONTENT_CHANGED, NULL);
+   efl_event_callback_call(pobj, EFL_UI_PAN_EVENT_PAN_POSITION_CHANGED, NULL);
 }
 
 EOLIAN static Eina_Bool

-- 




[EGIT] [apps/evisum] master 01/01: Release: Prepare

2019-09-15 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=967b5ce33e3ca0b1a404658751fa5268e2a80aaa

commit 967b5ce33e3ca0b1a404658751fa5268e2a80aaa
Author: Alastair Poole 
Date:   Sun Sep 1 17:50:38 2019 +0100

Release: Prepare
---
 LICENSE| 2 +-
 VERSION| 2 +-
 src/main.c | 5 +++--
 3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/LICENSE b/LICENSE
index 48d7d73..c6ea722 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,5 +1,5 @@
 
-  Copyright (c) 2018, Alastair Poole 
+  Copyright (c) 2018, 2019 Alastair Poole 
   All rights reserved.
 
   Redistribution and use in source and binary forms, with or without
diff --git a/VERSION b/VERSION
index abd4105..53a75d6 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-0.2.4
+0.2.6
diff --git a/src/main.c b/src/main.c
index 8f4cfdd..24ea496 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1,5 +1,6 @@
-/* Copyright 2018. Alastair Poole 
-   See LICENSE file for details.
+/* 
+ * Copyright 2018-2019. Alastair Poole 
+ * See LICENSE file for details.
  */
 
 #define VERSION "0.2.6"

-- 




[EGIT] [core/enlightenment] master 01/02: todo - note down gadget visuals todo

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 850fe29f8d63eb19d799851b16ce0820c9cad1f2
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 20 11:01:34 2019 +0100

todo - note down gadget visuals todo
---
 TODO | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/TODO b/TODO
index 51d251dc2..eae898fb6 100644
--- a/TODO
+++ b/TODO
@@ -133,7 +133,10 @@ TODO:
   * initial gadget bar setup dnd needs to be normal dnd
   * setup needs an obvious "add" button as dnd not obvious
   * wizard setup could be nicer? maybe just a default bar with no wizard?
-  * changing settigns should not re-run the wizard!
+  * changing settings should not re-run the wizard!
+  * need to visually join gadget and gadget popup so they can kind of
+look like a "tab" thats joined when we want to do this kind of
+appearance
 * efm: use elm for window
 * efm: use elm scroller for fm view
 * efm: use elm for file popup

-- 




[EGIT] [core/efl] master 06/09: tests/elm: add helper callback for automatically quitting main loop when triggered

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit e9e8078cec9100993f8124f9ad7bf1158c8e0cea
Author: Mike Blumenkrantz 
Date:   Mon Aug 5 13:57:48 2019 -0400

tests/elm: add helper callback for automatically quitting main loop when 
triggered

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9506
---
 src/tests/elementary/suite_helpers.c | 6 ++
 src/tests/elementary/suite_helpers.h | 1 +
 2 files changed, 7 insertions(+)

diff --git a/src/tests/elementary/suite_helpers.c 
b/src/tests/elementary/suite_helpers.c
index ff5530a93f..44c34e58ae 100644
--- a/src/tests/elementary/suite_helpers.c
+++ b/src/tests/elementary/suite_helpers.c
@@ -466,6 +466,12 @@ 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointe
*called = 1;
 }
 
+void
+event_callback_that_quits_the_main_loop_when_called()
+{
+   ecore_main_loop_quit();
+}
+
 void
 click_object_at(Eo *obj, int x, int y)
 {
diff --git a/src/tests/elementary/suite_helpers.h 
b/src/tests/elementary/suite_helpers.h
index 0dc3944173..a063869f2b 100644
--- a/src/tests/elementary/suite_helpers.h
+++ b/src/tests/elementary/suite_helpers.h
@@ -15,4 +15,5 @@ void click_object(Eo *obj);
 void click_part(Eo *obj, const char *part);
 void click_object_at(Eo *obj, int x, int y);
 void 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointer_when_called(void
 *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
+void event_callback_that_quits_the_main_loop_when_called();
 #endif

-- 




[EGIT] [core/efl] master 08/14: efl thread - fic pipe close to not close invalid pipe fds

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 60f549c5fb5cc9a43901d505ddd1bb5ac78f323f
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 23:09:06 2019 +0100

efl thread - fic pipe close to not close invalid pipe fds

if we only have stdout and no stdin we'd accidentally close junk int's
on the stack. fix this fix CID 1396963
---
 src/lib/ecore/efl_thread.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_thread.c b/src/lib/ecore/efl_thread.c
index 9aa61aade2..9ae137ae31 100644
--- a/src/lib/ecore/efl_thread.c
+++ b/src/lib/ecore/efl_thread.c
@@ -660,8 +660,11 @@ _efl_thread_efl_task_run(Eo *obj, Efl_Thread_Data *pd)
 if (pipe(pipe_from_thread) != 0)
   {
  ERR("Can't create from_thread pipe");
- close(pipe_to_thread[0]);
- close(pipe_to_thread[1]);
+ if (td->flags & EFL_TASK_FLAGS_USE_STDIN)
+   {
+  close(pipe_to_thread[0]);
+  close(pipe_to_thread[1]);
+   }
  free(thdat);
  return NULL;
   }

-- 




[EGIT] [core/efl] master 06/10: efl_ui_position_manager: add event for updating the range

2019-09-15 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit 4f45749b14abeae6c0338f07b42970e814f85b8e
Author: Marcel Hollerbach 
Date:   Wed Jul 31 19:52:08 2019 +0200

efl_ui_position_manager: add event for updating the range

the new event can be used to message back the currently visible range
from the position to the collection / collection_view.

Reviewed-by: Mike Blumenkrantz 
Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9462
---
 src/lib/elementary/efl_ui_position_manager_entity.eo |  7 +++
 src/lib/elementary/efl_ui_position_manager_grid.c|  9 +++--
 src/lib/elementary/efl_ui_position_manager_list.c| 10 --
 3 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/lib/elementary/efl_ui_position_manager_entity.eo 
b/src/lib/elementary/efl_ui_position_manager_entity.eo
index 4a65572181..64c68344d8 100644
--- a/src/lib/elementary/efl_ui_position_manager_entity.eo
+++ b/src/lib/elementary/efl_ui_position_manager_entity.eo
@@ -17,6 +17,12 @@ function Efl.Ui.Position_Manager.Batch_Access_Size {
return: int; [[The number of filled elements in the slice]]
 };
 
+struct Efl.Ui.Position_Manager.Range_Update {
+   [[A struct containing the the updated range of visible items in this 
position manger]]
+   start_id : uint; [[The first item that is visible]]
+   end_id : uint; [[The last item that is visible]]
+}
+
 interface @beta Efl.Ui.Position_Manager.Entity extends Efl.Ui.Layout_Orientable
 {
[[
@@ -112,5 +118,6 @@ interface @beta Efl.Ui.Position_Manager.Entity extends 
Efl.Ui.Layout_Orientable
events {
  content_size,changed : Eina.Size2D; [[Emitted when the aggregate size of 
all items has changed. This can be used to resize an enclosing Pan object.]]
  content_min_size,changed : Eina.Size2D; [[Emitted when the minimum size 
of all items has changed. The minimum size is the size, that this 
position_manager needs at *least* to display a single item.]]
+ visible_range,changed : Efl.Ui.Position_Manager.Range_Update;
}
 }
diff --git a/src/lib/elementary/efl_ui_position_manager_grid.c 
b/src/lib/elementary/efl_ui_position_manager_grid.c
index 2de7ddf896..bf8f793d12 100644
--- a/src/lib/elementary/efl_ui_position_manager_grid.c
+++ b/src/lib/elementary/efl_ui_position_manager_grid.c
@@ -38,6 +38,7 @@ _reposition_content(Eo *obj EINA_UNUSED, 
Efl_Ui_Position_Manager_Grid_Data *pd)
unsigned int start_id, end_id, step;
const int len = 100;
Efl_Gfx_Entity *obj_buffer[len];
+   Efl_Ui_Position_Manager_Range_Update ev;
 
if (!pd->size) return;
if (pd->max_min_size.w <= 0 || pd->max_min_size.h <= 0) return;
@@ -111,8 +112,12 @@ _reposition_content(Eo *obj EINA_UNUSED, 
Efl_Ui_Position_Manager_Grid_Data *pd)
 //printf(">%d (%d, %d, %d, %d) %p\n", i, geom.x, geom.y, geom.w, 
geom.h, ent);
 efl_gfx_entity_geometry_set(ent, geom);
  }
-   pd->prev_run.start_id = start_id;
-   pd->prev_run.end_id = end_id;
+   if (pd->prev_run.start_id != start_id || pd->prev_run.end_id != end_id)
+ {
+ev.start_id = pd->prev_run.start_id = start_id;
+ev.end_id = pd->prev_run.end_id = end_id;
+efl_event_callback_call(obj, 
EFL_UI_POSITION_MANAGER_ENTITY_EVENT_VISIBLE_RANGE_CHANGED, );
+ }
 }
 
 static inline void
diff --git a/src/lib/elementary/efl_ui_position_manager_list.c 
b/src/lib/elementary/efl_ui_position_manager_list.c
index 4a8497b4bd..e644a77736 100644
--- a/src/lib/elementary/efl_ui_position_manager_list.c
+++ b/src/lib/elementary/efl_ui_position_manager_list.c
@@ -142,6 +142,7 @@ position_content(Eo *obj EINA_UNUSED, 
Efl_Ui_Position_Manager_List_Data *pd)
const int len = 100;
Eina_Size2D size_buffer[len];
Efl_Gfx_Entity *obj_buffer[len];
+   Efl_Ui_Position_Manager_Range_Update ev;
 
if (!pd->size) return;
if (pd->average_item_size <= 0) return;
@@ -233,8 +234,13 @@ position_content(Eo *obj EINA_UNUSED, 
Efl_Ui_Position_Manager_List_Data *pd)
 else
   geom.x += size.w;
  }
-   pd->prev_run.start_id = start_id;
-   pd->prev_run.end_id = end_id;
+   if (pd->prev_run.start_id != start_id || pd->prev_run.end_id != end_id)
+ {
+ev.start_id = pd->prev_run.start_id = start_id;
+ev.end_id = pd->prev_run.end_id = end_id;
+efl_event_callback_call(obj, 
EFL_UI_POSITION_MANAGER_ENTITY_EVENT_VISIBLE_RANGE_CHANGED, );
+ }
+
 }
 
 static Eina_Value

-- 




[EGIT] [core/efl] master 01/01: vg_common_json: Support stroke miterlimit

2019-09-15 Thread JunsuChoi
hermet pushed a commit to branch master.

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

commit a569a4eb276720fb0dcd56c6b9fd27d1a9156619
Author: JunsuChoi 
Date:   Thu Aug 22 12:51:53 2019 +0900

vg_common_json: Support stroke miterlimit

Summary:
Apply miterlimit received from the node to vg_shape.

Depends D9657
D9665

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9666
---
 src/static_libs/vg_common/vg_common_json.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/static_libs/vg_common/vg_common_json.c 
b/src/static_libs/vg_common/vg_common_json.c
index 47923c95aa..27fc86e7e6 100644
--- a/src/static_libs/vg_common/vg_common_json.c
+++ b/src/static_libs/vg_common/vg_common_json.c
@@ -149,6 +149,8 @@ _construct_drawable_nodes(Efl_Canvas_Vg_Container *parent, 
const LOTLayerNode *l
}
  efl_gfx_shape_stroke_join_set(shape, join);
 
+ efl_gfx_shape_stroke_miterlimit_set(shape, 
node->mStroke.miterLimit);
+
  //Stroke Dash
  if (node->mStroke.dashArraySize > 0)
{

-- 




[EGIT] [core/efl] master 03/10: tests/elm: add util functions for triggering wheel events

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 1114106f09fd98e7e4330befb9a15387817cc043
Author: Mike Blumenkrantz 
Date:   Mon Aug 19 14:31:57 2019 -0400

tests/elm: add util functions for triggering wheel events

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9633
---
 src/tests/elementary/suite_helpers.c | 64 +---
 src/tests/elementary/suite_helpers.h |  3 ++
 2 files changed, 63 insertions(+), 4 deletions(-)

diff --git a/src/tests/elementary/suite_helpers.c 
b/src/tests/elementary/suite_helpers.c
index 44c34e58ae..5c89446a47 100644
--- a/src/tests/elementary/suite_helpers.c
+++ b/src/tests/elementary/suite_helpers.c
@@ -400,11 +400,10 @@ enum
BOTTOM = 1 << 3,
 };
 
-static void
-click_object_internal(Eo *obj, int dir)
+static Eina_Position2D
+attempt_to_find_the_right_point_for_mouse_positioning(Eo *obj, int dir)
 {
int x, y;
-   Evas *e = evas_object_evas_get(obj);
Eina_Rect r = efl_gfx_entity_geometry_get(obj);
if (dir & LEFT)
  x = r.x + (.1 * r.w);
@@ -418,7 +417,15 @@ click_object_internal(Eo *obj, int dir)
  y = r.y + (.9 * r.h);
else
  y = r.y + r.h / 2;
-   evas_event_feed_mouse_move(e, x, y, 0, NULL);
+   return EINA_POSITION2D(x, y);
+}
+
+static void
+click_object_internal(Eo *obj, int dir)
+{
+   Evas *e = evas_object_evas_get(obj);
+   Eina_Position2D pos = 
attempt_to_find_the_right_point_for_mouse_positioning(obj, dir);
+   evas_event_feed_mouse_move(e, pos.x, pos.y, 0, NULL);
evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
evas_event_feed_mouse_up(e, 1, 0, 0, NULL);
 }
@@ -457,6 +464,47 @@ click_part(Eo *obj, const char *part)
efl_unref(part_obj);
 }
 
+static void
+wheel_object_internal(Eo *obj, int dir, Eina_Bool horiz, Eina_Bool down)
+{
+   Eina_Position2D pos = 
attempt_to_find_the_right_point_for_mouse_positioning(obj, dir);
+   wheel_object_at(obj, pos.x, pos.y, horiz, down);
+}
+
+void
+wheel_object(Eo *obj, Eina_Bool horiz, Eina_Bool down)
+{
+   wheel_object_internal(obj, NONE, horiz, down);
+}
+
+void
+wheel_part(Eo *obj, const char *part, Eina_Bool horiz, Eina_Bool down)
+{
+   Efl_Part *part_obj = efl_ref(efl_part(obj, part));
+   Eo *content;
+   int dir = 0;
+
+   if (efl_canvas_layout_part_type_get(part_obj) == 
EFL_CANVAS_LAYOUT_PART_TYPE_SWALLOW)
+ content = efl_content_get(part_obj);
+   else
+ {
+content = part_obj;
+if (strstr(part, "left"))
+  dir |= LEFT;
+else if (strstr(part, "right"))
+  dir |= RIGHT;
+if (strstr(part, "top"))
+  dir |= TOP;
+else if (strstr(part, "bottom"))
+  dir |= BOTTOM;
+ }
+   wheel_object_internal(content, dir, horiz, down);
+   if (efl_isa(content, EFL_LAYOUT_SIGNAL_INTERFACE))
+ edje_object_message_signal_process(content);
+   edje_object_message_signal_process(obj);
+   efl_unref(part_obj);
+}
+
 void
 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointer_when_called(void
 *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
@@ -480,3 +528,11 @@ click_object_at(Eo *obj, int x, int y)
evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
evas_event_feed_mouse_up(e, 1, 0, 0, NULL);
 }
+
+void
+wheel_object_at(Eo *obj, int x, int y, Eina_Bool horiz, Eina_Bool down)
+{
+   Evas *e = evas_object_evas_get(obj);
+   evas_event_feed_mouse_move(e, x, y, 0, NULL);
+   evas_event_feed_mouse_wheel(e, horiz, down, 0, NULL);
+}
diff --git a/src/tests/elementary/suite_helpers.h 
b/src/tests/elementary/suite_helpers.h
index a063869f2b..26cadf1c79 100644
--- a/src/tests/elementary/suite_helpers.h
+++ b/src/tests/elementary/suite_helpers.h
@@ -14,6 +14,9 @@ void get_me_to_those_events(Eo *obj);
 void click_object(Eo *obj);
 void click_part(Eo *obj, const char *part);
 void click_object_at(Eo *obj, int x, int y);
+void wheel_object(Eo *obj, Eina_Bool horiz, Eina_Bool down);
+void wheel_part(Eo *obj, const char *part, Eina_Bool horiz, Eina_Bool down);
+void wheel_object_at(Eo *obj, int x, int y, Eina_Bool horiz, Eina_Bool down);
 void 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointer_when_called(void
 *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
 void event_callback_that_quits_the_main_loop_when_called();
 #endif

-- 




[EGIT] [core/efl] master 01/01: efl-js: Remove private keys for Twitter API from example

2019-09-15 Thread Felipe Magno de Almeida
xartigas pushed a commit to branch master.

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

commit 8377ea20a01c95b7bd9b8b2a61e202b4af598016
Author: Felipe Magno de Almeida 
Date:   Fri Jul 26 14:59:17 2019 +0200

efl-js: Remove private keys for Twitter API from example

Summary: For security concerns we removed the secret keys which could be 
used improperly by the wrong people.

Reviewers: woohyun, cedric, lauromoura

Reviewed By: lauromoura

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9377
---
 src/examples/elementary/twitter_example_01.js | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/examples/elementary/twitter_example_01.js 
b/src/examples/elementary/twitter_example_01.js
index d0f5f71fcd..04edbdd3ae 100644
--- a/src/examples/elementary/twitter_example_01.js
+++ b/src/examples/elementary/twitter_example_01.js
@@ -13,10 +13,10 @@ Twitter = require('twitter');
 user_acount = 'EnlightenmentKo'
 
 var twit = new Twitter({
-  consumer_key: 'ZbSM93w5Sp2cyZ2SG0XuCvoHV',
-  consumer_secret: 'g8N7EEQLpdKPnAsS9hWuQV29FYjBkhH62jhZzXyYymDw87DKye',
-  access_token_key: '222611263-pPhKKjYh59uuNLP0b86sP7aAtLhdecjVQaEsCDCv',
-  access_token_secret: 'l7ccNKXTVv6cymfSD1gQH61tmfixkdna2QmOjPtpVxSHD'
+  consumer_key: '', // replace with consumer_key
+  consumer_secret: '', // replace with consumer_secret
+  access_token_key: '', // replace with access_token_key
+  access_token_secret: '' // replace with access_token_secret
 });
 
 win = new efl.Efl.Ui.Win(null, "Efl JS Example", efl.Efl.Ui.Win.Type.BASIC, 
"hw");

-- 




[EGIT] [core/efl] master 01/01: pyolian: Fix tests

2019-09-15 Thread Lauro Moura
vitorsousa pushed a commit to branch master.

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

commit 7927023fc7a3aeebbb570f4e5cc0be36b99218c9
Author: Lauro Moura 
Date:   Mon Jul 29 11:24:26 2019 -0300

pyolian: Fix tests

Summary: Update tests after some legacy cleanup from last release.

Reviewers: bu5hm4n, DaveMDS, segfaultxavi

Reviewed By: DaveMDS

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D8817
---
 src/scripts/pyolian/test_eolian.py | 77 ++
 1 file changed, 45 insertions(+), 32 deletions(-)

diff --git a/src/scripts/pyolian/test_eolian.py 
b/src/scripts/pyolian/test_eolian.py
index 23a618be11..b597e812b7 100755
--- a/src/scripts/pyolian/test_eolian.py
+++ b/src/scripts/pyolian/test_eolian.py
@@ -59,7 +59,7 @@ class TestEolianState(unittest.TestCase):
 self.assertIsInstance(unit, eolian.Eolian_Unit)
 self.assertTrue(unit.file.endswith(('.eo', '.eot')))
 count += 1
-self.assertGreater(count, 500)
+self.assertGreater(count, 400)
 
 unit = eolian_db.unit_by_file_get('efl_ui_win.eo')
 self.assertIsInstance(unit, eolian.Eolian_Unit)
@@ -167,8 +167,8 @@ class TestEolianUnit(unittest.TestCase):
 self.assertGreater(all_count, 50)
 
 def test_alias_listing(self):
-l = list(eolian_db.aliases_by_file_get('edje_types.eot'))
-self.assertGreater(len(l), 5)
+l = list(eolian_db.aliases_by_file_get('eina_types.eot'))
+self.assertGreater(len(l), 2)
 self.assertIsInstance(l[0], eolian.Typedecl)
 
 all_count = 0
@@ -211,12 +211,30 @@ class TestEolianNamespace(unittest.TestCase):
 for ns in eolian_db.all_namespaces:
 self.assertIsInstance(ns, eolian.Namespace)
 count += 1
-self.assertGreater(count, 100)
+self.assertGreater(count, 50)
 
 def test_namespace_vs_class_collision(self):
+colliding_classes = ['Ecore.Audio',
+ 'Ecore.Audio.In',
+ 'Ecore.Audio.Out',
+ 'Ecore.Event.Message',
+ 'Ector.Buffer',
+ 'Ector.Renderer',
+ 'Ector.Renderer.Cairo',
+ 'Ector.Renderer.GL',
+ 'Ector.Renderer.Gradient',
+ 'Ector.Renderer.Software',
+ 'Ector.Software.Buffer',
+ 'Eio.Sentry',
+ 'Eldbus.Model',
+]
 for ns in eolian_db.all_namespaces:
 cls = eolian_db.class_by_name_get(ns.name)
-self.assertIsNone(cls)
+# Some legacy classes are parsed and still make this fail.
+if cls:
+self.assertIn(cls.name, colliding_classes)
+else:
+self.assertIsNone(cls)
 
 def test_namespace_equality(self):
 ns1 = eolian.Namespace(eolian_db, 'Efl.Io')
@@ -323,7 +341,6 @@ class TestEolianClass(unittest.TestCase):
 self.assertEqual(list(cls.namespaces), ['Efl'])
 self.assertEqual(cls.type, eolian.Eolian_Class_Type.REGULAR)
 self.assertIsInstance(cls.documentation, eolian.Documentation)
-self.assertEqual(cls.legacy_prefix, 'ecore_timer')
 self.assertIsNone(cls.eo_prefix)  # TODO fin a class with a value
 self.assertIsNone(cls.event_prefix)  # TODO same as above
 self.assertIsNone(cls.data_type)  # TODO same as above
@@ -335,8 +352,8 @@ class TestEolianClass(unittest.TestCase):
 self.assertEqual(cls.c_get_function_name, 'efl_loop_timer_class_get')
 self.assertEqual(cls.c_macro, 'EFL_LOOP_TIMER_CLASS')
 self.assertEqual(cls.c_data_type, 'Efl_Loop_Timer_Data')
-self.assertEqual([f.name for f in cls.methods], 
['reset','loop_reset','delay'])
-self.assertEqual([f.name for f in cls.properties], 
['interval','pending'])
+self.assertEqual([f.name for f in cls.methods], 
['timer_reset','timer_loop_reset','timer_delay'])
+self.assertEqual([f.name for f in cls.properties], 
['timer_interval','time_pending'])
 self.assertGreater(len(list(cls.implements)), 5)
 self.assertIsInstance(list(cls.implements)[0], eolian.Implement)
 
@@ -344,9 +361,9 @@ class TestEolianClass(unittest.TestCase):
 class TestEolianFunction(unittest.TestCase):
 def test_function(self):
 cls = eolian_db.class_by_name_get('Efl.Loop_Timer')
-f = cls.function_by_name_get('delay')
+f = cls.function_by_name_get('timer_delay')
 self.assertIsInstance(f, eolian.Function)
-self.assertEqual(f.name, 'delay')
+self.assertEqual(f.name, 'timer_delay')
 

[EGIT] [core/efl] master 01/01: evas vg: ++safety.

2019-09-15 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 49343b628afaf776c38871fe8270f56ad4a1ed1d
Author: Hermet Park 
Date:   Thu Aug 8 23:28:18 2019 +0900

evas vg: ++safety.

Realloc internal composite buffer if its size is invalid.
---
 src/lib/evas/canvas/efl_canvas_vg_object.c | 18 ++
 1 file changed, 18 insertions(+)

diff --git a/src/lib/evas/canvas/efl_canvas_vg_object.c 
b/src/lib/evas/canvas/efl_canvas_vg_object.c
index 1d932012ce..56f892023b 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_object.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_object.c
@@ -403,6 +403,24 @@ _evas_vg_render(Evas_Object_Protected_Data *obj, 
Efl_Canvas_Vg_Object_Data *pd,
 
 if (alpha < 255)
   {
+ //Replace with a new size.
+ if (cd->blend_buffer)
+   {
+  int w2, h2;
+  ector_buffer_size_get(cd->blend_buffer, , );
+
+  if (w2 != w || h2 != h)
+{
+   if (cd->blend_pixels)
+ {
+free(cd->blend_pixels);
+cd->blend_pixels = NULL;
+ }
+   efl_unref(cd->blend_buffer);
+   cd->blend_buffer = NULL;
+}
+   }
+
  // Reuse buffer
  if (!cd->blend_pixels)
cd->blend_pixels = calloc(w * h, sizeof(uint32_t*));

-- 




[EGIT] [core/enlightenment] master 01/01: xkb - make basic variant null now and handle in wl too the same as x

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit fdd472879b61c3230fabe6f8f2e9da1cd52505b0
Author: Carsten Haitzler (Rasterman) 
Date:   Fri Aug 9 09:50:33 2019 +0100

xkb - make basic variant null now and handle in wl too the same as x

now russian works for me. :)

fixes T7979

@fix
---
 src/bin/e_xkb.c  | 16 +++-
 src/modules/xkbswitch/e_mod_config.c | 48 ++--
 src/modules/xkbswitch/e_mod_parse.c  |  2 +-
 3 files changed, 46 insertions(+), 20 deletions(-)

diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c
index 493610d36..e33b17606 100644
--- a/src/bin/e_xkb.c
+++ b/src/bin/e_xkb.c
@@ -308,23 +308,27 @@ _e_wl_xkb_reconfig(void)
  eina_strbuf_append(layouts, cl->name);
  eina_strbuf_append_char(layouts, ',');
   }
+else
+  eina_strbuf_append_char(layouts, ',');
 
-if (cl->variant)
+if ((cl->variant) && (strcmp(cl->variant, "basic")))
   {
  eina_strbuf_append(variants, cl->variant);
  eina_strbuf_append_char(variants, ',');
   }
+else
+  eina_strbuf_append_char(variants, ',');
  }
 
/* collect model to use */
 
/* set keymap to the compositor */
e_comp_wl_input_keymap_set(NULL,
-  e_config->xkb.default_model,
-  eina_strbuf_string_get(layouts), //pool of layouts to use
-  eina_strbuf_string_get(variants),  //pool of variants to use
-  eina_strbuf_string_get(options) //list of options
-   );
+  e_config->xkb.default_model,
+  eina_strbuf_string_get(layouts), //pool of 
layouts to use
+  eina_strbuf_string_get(variants),  //pool of 
variants to use
+  eina_strbuf_string_get(options) //list of options
+ );
 
eina_strbuf_free(variants);
eina_strbuf_free(layouts);
diff --git a/src/modules/xkbswitch/e_mod_config.c 
b/src/modules/xkbswitch/e_mod_config.c
index 24fb40efb..4e9a48e2c 100644
--- a/src/modules/xkbswitch/e_mod_config.c
+++ b/src/modules/xkbswitch/e_mod_config.c
@@ -521,8 +521,14 @@ _basic_create_fill(E_Config_Dialog_Data *cfdata)
 
  e_xkb_flag_file_get(buf, sizeof(buf), name);
  elm_image_file_set(ic, buf, NULL);
- snprintf(buf, sizeof(buf), "%s (%s, %s)",
-  cl->name, cl->model, cl->variant);
+ snprintf(buf, sizeof(buf), "%s%s%s%s%s%s",
+  cl->name ? cl->name : _("No Name"),
+  cl->model || cl->variant ? " (" : "",
+  cl->model ? cl->model : "",
+  cl->model && cl->variant ? ", " : "",
+  cl->variant ? cl->variant : "",
+  cl->model || cl->variant ? ")" : ""
+ );
  evas_object_show(ic);
  it = elm_list_item_append(cfdata->used_list, buf, ic,
NULL, NULL, cl);
@@ -1451,7 +1457,7 @@ _dlg_add_cb_ok(void *data, E_Dialog *dlg)
E_XKB_Model *m;
E_XKB_Variant *v;
E_Config_XKB_Layout *cl;
-   char buf[PATH_MAX], icon_buf[PATH_MAX];
+   char buf[512], icon_buf[PATH_MAX];
Evas_Object *ic;
Elm_Object_Item *it;
/* Configuration information */
@@ -1480,8 +1486,14 @@ _dlg_add_cb_ok(void *data, E_Dialog *dlg)
ic = elm_icon_add(cfdata->used_list);
e_xkb_flag_file_get(icon_buf, sizeof(icon_buf), cl->name);
elm_image_file_set(ic, icon_buf, NULL);
-   snprintf(buf, sizeof(buf), "%s (%s, %s)",
-cl->name, cl->model, cl->variant);
+   snprintf(buf, sizeof(buf), "%s%s%s%s%s%s",
+cl->name ? cl->name : _("No Name"),
+cl->model || cl->variant ? " (" : "",
+cl->model ? cl->model : "",
+cl->model && cl->variant ? ", " : "",
+cl->variant ? cl->variant : "",
+cl->model || cl->variant ? ")" : ""
+   );
elm_list_item_append(cfdata->used_list, buf, ic, NULL, NULL, cl);
elm_list_go(cfdata->used_list);
 
@@ -1499,9 +1511,13 @@ static char *
 _layout_gl_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part 
EINA_UNUSED)
 {
E_XKB_Layout *layout = data;
-   char buf[PATH_MAX];
+   char buf[512];
 
-   snprintf(buf, sizeof(buf), "%s (%s)", layout->description, layout->name);
+   snprintf(buf, sizeof(buf), "%s%s%s%s",
+layout->description ? layout->description : _("No Description"),
+layout->name ? " (" : "",
+layout->name ? layout->name : "",
+layout->name ? ")" : "");
return strdup(buf);
 }
 
@@ -1580,10 +1596,13 @@ static char *
 _model_gl_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part 
EINA_UNUSED)
 {
E_XKB_Model *model = data;
-   char buf[PATH_MAX];
-
-   

[EGIT] [core/efl] master 01/08: evas_object_textblock: add support for variation sequences

2019-09-15 Thread Ali Alzyod
cedric pushed a commit to branch master.

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

commit f7ce771e3243e19f8a12672ea2be752dedccbcf6
Author: Ali Alzyod 
Date:   Thu Jul 18 08:51:28 2019 +

evas_object_textblock: add support for variation sequences

update font processing to handle variation sequences unicodes to select 
proper glypg in respect to variation seqences

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9053
---
 src/bin/elementary/test.c |   2 +
 src/bin/elementary/test_label.c   |  24 +++
 src/lib/evas/common/evas_font.h   |  53 +-
 src/lib/evas/common/evas_font_load.c  |   6 +-
 src/lib/evas/common/evas_font_main.c  | 296 ++
 src/lib/evas/common/evas_font_query.c |  54 +--
 src/lib/evas/common/evas_text_utils.c |   6 +-
 src/tests/evas/evas_test_textblock.c  |  19 ++-
 8 files changed, 411 insertions(+), 49 deletions(-)

diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 8856c7cab1..adae27b52c 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -243,6 +243,7 @@ void test_label_wrap(void *data, Evas_Object *obj, void 
*event_info);
 void test_label_ellipsis(void *data, Evas_Object *obj, void *event_info);
 void test_label_colors(void *data, Evas_Object *obj, void *event_info);
 void test_label_emoji(void *data, Evas_Object *obj, void *event_info);
+void test_label_variation_sequence(void *data, Evas_Object *obj, void 
*event_info);
 void test_conformant(void *data, Evas_Object *obj, void *event_info);
 void test_conformant2(void *data, Evas_Object *obj, void *event_info);
 void test_conformant_indicator(void *data, Evas_Object *obj, void *event_info);
@@ -1198,6 +1199,7 @@ add_tests:
ADD_TEST(NULL, "Text", "Label Ellipsis", test_label_ellipsis);
ADD_TEST(NULL, "Text", "Label Colors", test_label_colors);
ADD_TEST(NULL, "Text", "Label Emoji", test_label_emoji);
+   ADD_TEST(NULL, "Text", "Label Variation Sequnece", 
test_label_variation_sequence);
ADD_TEST_EO(NULL, "Text", "Efl.Ui.Textpath", test_ui_textpath);
 
//--//
diff --git a/src/bin/elementary/test_label.c b/src/bin/elementary/test_label.c
index c00ae7986e..f49255f21e 100644
--- a/src/bin/elementary/test_label.c
+++ b/src/bin/elementary/test_label.c
@@ -401,6 +401,30 @@ test_label_colors(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *ev
evas_object_show(win);
 }
 
+/*** Label variation sequence 
**/
+void
+test_label_variation_sequence(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+   Evas_Object *win, *lb;
+
+   win = elm_win_util_standard_add("label-variation sequence", "Label 
variation sequnece");
+   elm_win_autodel_set(win, EINA_TRUE);
+
+   lb = elm_label_add(win);
+   elm_object_text_set(lb,
+   "You need to have at least on font contains variation 
sequence"
+   "Three different 8 glyphs : "
+   "888"
+   "line with 3 variation glyphs : "
+   
"8AAA1234567"
+   );
+   evas_object_size_hint_weight_set(lb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+   elm_win_resize_object_add(win, lb);
+   evas_object_show(lb);
+
+   evas_object_show(win);
+}
+
 /*** Label Emoji */
 static char *
 _fontlist_text_get(void *data, Evas_Object *obj EINA_UNUSED, const char *part 
EINA_UNUSED)
diff --git a/src/lib/evas/common/evas_font.h b/src/lib/evas/common/evas_font.h
index ab6e6fbd17..5e79026ca3 100644
--- a/src/lib/evas/common/evas_font.h
+++ b/src/lib/evas/common/evas_font.h
@@ -56,7 +56,32 @@ typedef unsigned long longDATA64;
 #define LKU(x) eina_lock_release(&(x))
 #define LKDBG(x) eina_lock_debug(&(x))
 
+/**
+ * See explanation of variation_sequences at:
+ * https://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt
+ * https://unicode.org/reports/tr37/
+ * https://unicode.org/ivd/
+ * https://www.freetype.org/freetype2/docs/reference/ft2-glyph_variants.html
+*/
+#define VAR_SEQ(x) GENERIC_VARIATION_SEQUENCES(x) | 
IDEOGRAPHICS_VARIATION_SEQUENCES(x) | MANGOLIAN_VARIATION_SEQUENCES(x)
+#define GENERIC_VARIATION_SEQUENCES(x) (x>=0xFE00 && x<=0xFE0F) ? x : 0
+#define IDEOGRAPHICS_VARIATION_SEQUENCES(x) (x>=0xE0100 && x<=0xE01EF) ? x : 0
+#define MANGOLIAN_VARIATION_SEQUENCES(x) (x>=0x180B && x<=0x180D) ? x : 0
+/**
+ * http://unicode.org/emoji/charts/emoji-variants.html
+*/
+#define  VARIATION_EMOJI_PRESENTATION  0xFE0F
+#define  VARIATION_TEXT_PRESENTATION   0xFE0E
+
+/**
+ * These Options (Flags) are used with evas_common_font_glyph_search function
+ */
+#define EVAS_FONT_SEARCH_OPTION_NONE0x
+#define EVAS_FONT_SEARCH_OPTION_SKIP_COLOR  0x0001
+
 
+#define 

[EGIT] [core/efl] master 04/14: edje - fix conversion of edje var from float to int to use tmp var

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 4b8a422a6d5bf0fd113ec538a5e557d62d8e5f8e
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 22:53:29 2019 +0100

edje - fix conversion of edje var from float to int to use tmp var

this should disambiguate the conversion intended.

fix CID 1402675
---
 src/lib/edje/edje_var.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/edje/edje_var.c b/src/lib/edje/edje_var.c
index 40f32ff363..6fa72ce4af 100644
--- a/src/lib/edje/edje_var.c
+++ b/src/lib/edje/edje_var.c
@@ -306,7 +306,8 @@ _edje_var_var_int_get(Edje *ed EINA_UNUSED, Edje_Var *var)
  }
else if (var->type == EDJE_VAR_FLOAT)
  {
-var->data.i.v = (int)(var->data.f.v);
+int tmp = (int)(var->data.f.v);
+var->data.i.v = tmp;
 var->type = EDJE_VAR_INT;
  }
else if (var->type == EDJE_VAR_NONE)

-- 




[EGIT] [core/enlightenment] master 01/04: wiz - turn off taskbar by default due to ibar doing this already

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit e1a528ac2dcd7cd7ede8363837add88a0cd1d44e
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Jul 30 11:46:10 2019 +0100

wiz - turn off taskbar by default due to ibar doing this already
---
 src/modules/wizard/page_180.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/modules/wizard/page_180.c b/src/modules/wizard/page_180.c
index 4d87cfbda..4245a0c5e 100644
--- a/src/modules/wizard/page_180.c
+++ b/src/modules/wizard/page_180.c
@@ -2,7 +2,7 @@
 #include "e_wizard.h"
 #include "e_wizard_api.h"
 
-static Eina_Bool do_tasks = 1;
+static Eina_Bool do_tasks = 0;
 /*
 E_API int
 wizard_page_init(E_Wizard_Page *pg EINA_UNUSED, Eina_Bool *need_xdg_desktops 
EINA_UNUSED, Eina_Bool *need_xdg_icons EINA_UNUSED)
@@ -36,7 +36,9 @@ wizard_page_show(E_Wizard_Page *pg EINA_UNUSED)
elm_box_pack_end(o, ob);
elm_object_text_set(ob,
  _("A taskbar can be added to"
-   "show open windows and applications."
+   "show open windows and applications."
+   "The IBar launcher already can do this,"
+   "so this is in addition to that."
)
  );
 

-- 




[EGIT] [core/enlightenment] master 02/02: everything- ensure we dont skip over past end of string for fuzzy match

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c29dd0f5cfd976cea6a38e4f036fd684d54e6212
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 20 23:55:17 2019 +0100

everything- ensure we dont skip over past end of string for fuzzy match
---
 src/modules/everything/evry_util.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/modules/everything/evry_util.c 
b/src/modules/everything/evry_util.c
index 057b4ff00..7817c7ff6 100644
--- a/src/modules/everything/evry_util.c
+++ b/src/modules/everything/evry_util.c
@@ -139,7 +139,10 @@ evry_fuzzy_match(const char *str, const char *match)
ii = 0;
/* go to next word */
for (; (*p != 0) && ((isspace(*p) || (ip && 
ispunct(*p; p += ii)
- if (!_evry_utf8_next(p, )) break;
+ {
+ii = 0;
+if (!_evry_utf8_next(p, )) break;
+ }
cnt++;
next = p;
m_cnt = 0;

-- 




[EGIT] [core/efl] master 01/01: efl_ui : add efl.extra part as layout swallow part list.

2019-09-15 Thread SangHyeon Jade Lee
sanghyeonlee pushed a commit to branch master.

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

commit 14f9782a81d1e1ef5c6275805b4d704061ce082b
Author: SangHyeon Jade Lee 
Date:   Thu Aug 29 10:18:35 2019 +0900

efl_ui : add efl.extra part as layout swallow part list.

Summary:
efl.extra part is extra part of the layout swallow,
which can be generally used on overall layout object.
To be supported layout part infrastructures,
add efl.extra on layout_swallow_part[] list.

Depends on D9233

Reviewers: cedric, bu5hm4n, zmike, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: #reviewers, #committers

Tags: #efl

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

diff --git a/src/lib/elementary/efl_ui_layout.c 
b/src/lib/elementary/efl_ui_layout.c
index 5ae0403331..33ccdc2209 100644
--- a/src/lib/elementary/efl_ui_layout.c
+++ b/src/lib/elementary/efl_ui_layout.c
@@ -67,6 +67,7 @@ static const char *_efl_ui_layout_swallow_parts[] = {
"efl.icon",
"efl.end",
"efl.background",
+   "efl.extra",
NULL
 };
 

-- 




[EGIT] [core/efl] master 04/09: efl_ui/text: handle disabled text

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit 067d65361e3b2c6d992b59fddb373569839ddc60
Author: Mike Blumenkrantz 
Date:   Mon Aug 5 13:03:21 2019 -0400

efl_ui/text: handle disabled text

no idea what's going on here with new styling but this makes it look
like it should

ref T6649

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9502
---
 data/elementary/themes/edc/efl/text.edc |  1 +
 src/lib/elementary/efl_ui_text.c| 17 ++---
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/data/elementary/themes/edc/efl/text.edc 
b/data/elementary/themes/edc/efl/text.edc
index 90d260a784..bdae8ff733 100644
--- a/data/elementary/themes/edc/efl/text.edc
+++ b/data/elementary/themes/edc/efl/text.edc
@@ -522,6 +522,7 @@ group { "efl/text";
   item: "font.name" "Sans";
   item: "font.size" "10";
   item: "style.color" "#fff";
+  item: "style.color_disabled" "#151515";
 
   item: "guide.font.name" "Sans";
   item: "guide.font.size" "10";
diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c
index 3adfade9c3..6c8a24d36a 100644
--- a/src/lib/elementary/efl_ui_text.c
+++ b/src/lib/elementary/efl_ui_text.c
@@ -249,6 +249,7 @@ static void _clear_text_selection(Efl_Ui_Text_Data *sd);
 static void _anchors_free(Efl_Ui_Text_Data *sd);
 static void _selection_defer(Eo *obj, Efl_Ui_Text_Data *sd);
 static Eina_Position2D _decoration_calc_offset(Efl_Ui_Text_Data *sd);
+static void _update_text_theme(Eo *obj, Efl_Ui_Text_Data *sd);
 
 static char *
 _file_load(Eo *obj)
@@ -729,6 +730,7 @@ _efl_ui_text_efl_ui_widget_disabled_set(Eo *obj, 
Efl_Ui_Text_Data *sd, Eina_Bool
 _dnd_pos_cb, NULL,
 _dnd_drop_cb, NULL);
  }
+   _update_text_theme(obj, sd);
 }
 
 /* we can't issue the layout's theming code here, cause it assumes an
@@ -2054,12 +2056,14 @@ _update_text_theme(Eo *obj, Efl_Ui_Text_Data *sd)
 {
const char *font_name;
const char *font_size;
-   const char *colorcode;
+   const char *colorcode = NULL;
+   Eina_Bool disabled;
 
int font_size_n;
unsigned char r, g, b, a;
 
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
+   disabled = efl_ui_widget_disabled_get(obj);
 
// Main Text
// font_set
@@ -2069,7 +2073,10 @@ _update_text_theme(Eo *obj, Efl_Ui_Text_Data *sd)
efl_text_font_set(sd->text_obj, font_name, font_size_n);
 
// color
-   colorcode = edje_object_data_get(wd->resize_obj, "style.color");
+   if (disabled)
+ colorcode = edje_object_data_get(wd->resize_obj, "style.color_disabled");
+   if (!colorcode)
+ colorcode = edje_object_data_get(wd->resize_obj, "style.color");
if (colorcode && _format_color_parse(colorcode, strlen(colorcode), , , 
, ))
  {
 efl_text_normal_color_set(sd->text_obj, r, g, b, a);
@@ -2081,8 +2088,12 @@ _update_text_theme(Eo *obj, Efl_Ui_Text_Data *sd)
font_size_n = font_size ? atoi(font_size) : 0;
efl_text_font_set(sd->text_guide_obj, font_name, font_size_n);
 
+   colorcode = NULL;
// color
-   colorcode = edje_object_data_get(wd->resize_obj, "guide.style.color");
+   if (disabled)
+ colorcode = edje_object_data_get(wd->resize_obj, 
"guide.style.color_disabled");
+   if (!colorcode)
+ colorcode = edje_object_data_get(wd->resize_obj, "guide.style.color");
if (colorcode && _format_color_parse(colorcode, strlen(colorcode), , , 
, ))
  {
 efl_text_normal_color_set(sd->text_guide_obj, r, g, b, a);

-- 




[EGIT] [core/efl] master 01/06: tests/elm: add test for ctxpopup sizing

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit b9648605e8f6623283ec960deac302685909f3c5
Author: Mike Blumenkrantz 
Date:   Thu Jul 25 11:49:55 2019 -0400

tests/elm: add test for ctxpopup sizing

verify that size hints of content are being respected

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9404
---
 src/tests/elementary/elm_test_ctxpopup.c | 36 
 1 file changed, 36 insertions(+)

diff --git a/src/tests/elementary/elm_test_ctxpopup.c 
b/src/tests/elementary/elm_test_ctxpopup.c
index fb462364aa..a6f74de676 100644
--- a/src/tests/elementary/elm_test_ctxpopup.c
+++ b/src/tests/elementary/elm_test_ctxpopup.c
@@ -41,8 +41,44 @@ EFL_START_TEST(elm_atspi_role_get)
 }
 EFL_END_TEST
 
+static void
+_geometry_update(void *data, Evas_Object *obj EINA_UNUSED, void *event_info)
+{
+   Eina_Rectangle *geom = event_info;
+   int *set = data;
+   if ((geom->w >= 150) && (geom->h >= 150))
+ *set = 1;
+   else
+ *set = 0;
+}
+
+EFL_START_TEST(elm_ctxpopup_test_sizing)
+{
+   Eo *win, *bt, *ctx;
+   int pass = 0;
+
+   win = win_add();
+   bt = elm_button_add(win);
+   ctx = elm_ctxpopup_add(win);
+   evas_object_smart_callback_add(ctx, "geometry,update", _geometry_update, 
);
+   elm_object_text_set(bt, "test");
+   evas_object_size_hint_min_set(bt, 150, 150);
+   elm_object_content_set(ctx, bt);
+   evas_object_show(win);
+
+   evas_object_resize(bt, 200, 200);
+   evas_object_resize(win, 200, 200);
+
+   evas_object_show(ctx);
+   get_me_to_those_events(win);
+
+   ck_assert_int_eq(pass, 1);
+}
+EFL_END_TEST
+
 void elm_test_ctxpopup(TCase *tc)
 {
tcase_add_test(tc, elm_ctxpopup_legacy_type_check);
tcase_add_test(tc, elm_atspi_role_get);
+   tcase_add_test(tc, elm_ctxpopup_test_sizing);
 }

-- 




[EGIT] [core/enlightenment] master 01/01: efm: ensure progress popup is visible with min calc and hint set

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b7d89167011306f1130243805390260b782f240d
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Aug 15 09:55:12 2019 +0100

efm: ensure progress popup is visible with min calc and hint set

we never calc'd min size and set min size hint - fix that and set it...
@fix
---
 src/modules/fileman/e_fwin.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/modules/fileman/e_fwin.c b/src/modules/fileman/e_fwin.c
index 25fabd2e2..21e5629a7 100644
--- a/src/modules/fileman/e_fwin.c
+++ b/src/modules/fileman/e_fwin.c
@@ -3179,6 +3179,7 @@ _e_fwin_op_registry_entry_add_cb(void *data,
E_Fm2_Op_Registry_Entry *ere = (E_Fm2_Op_Registry_Entry *)event;
E_Fwin_Page *page = data;
Evas_Object *o;
+   Evas_Coord mw, mh;
 
if ((ere->op != E_FM_OP_COPY) && (ere->op != E_FM_OP_MOVE) &&
(ere->op != E_FM_OP_REMOVE) && (ere->op != E_FM_OP_SECURE_REMOVE))
@@ -3187,7 +3188,8 @@ _e_fwin_op_registry_entry_add_cb(void *data,
o = edje_object_add(evas_object_evas_get(page->scrollframe_obj));
e_theme_edje_object_set(o, "base/theme/fileman",
"e/fileman/default/progress");
-
+   edje_object_size_min_calc(o, , );
+   evas_object_size_hint_min_set(o, mw, mh);
// Append the element to the box
edje_object_part_box_append(e_scrollframe_edje_object_get(page->scr),
"e.box.operations", o);

-- 




[EGIT] [core/efl] master 09/10: efl_ui/tags: use user size hints for internal objects

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit b89e7b35009c7fafffdf62a0e625fefc2d44b3b7
Author: Mike Blumenkrantz 
Date:   Thu Aug 1 09:20:34 2019 -0400

efl_ui/tags: use user size hints for internal objects

restricted min size hint should only be set by an object's own group_calc
function. all other cases should use regular min size hint

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9477
---
 src/lib/elementary/efl_ui_tags.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_ui_tags.c b/src/lib/elementary/efl_ui_tags.c
index eb30e4ddca..daecd0b1c1 100644
--- a/src/lib/elementary/efl_ui_tags.c
+++ b/src/lib/elementary/efl_ui_tags.c
@@ -119,7 +119,7 @@ _shrink_mode_set(Eo *obj,
 
   edje_object_size_min_calc(sd->end, _label_count, );
   elm_coords_finger_size_adjust(1, _label_count, 1, );
-  efl_gfx_hint_size_restricted_min_set(sd->end, 
EINA_SIZE2D(w_label_count, h));
+  efl_gfx_hint_size_min_set(sd->end, 
EINA_SIZE2D(w_label_count, h));
   efl_pack(sd->box, sd->end);
   evas_object_show(sd->end);
 
@@ -425,7 +425,7 @@ _item_new(Efl_Ui_Tags_Data *sd,
if (sd->w_box && min.w > r.w)
  {
 elm_coords_finger_size_adjust(1, , 1, );
-efl_gfx_hint_size_restricted_min_set(layout, EINA_SIZE2D(r.w, min.h));
+efl_gfx_hint_size_min_set(layout, EINA_SIZE2D(r.w, min.h));
 efl_gfx_entity_size_set(layout, EINA_SIZE2D(r.w, min.h));
  }
 
@@ -514,7 +514,7 @@ _box_resize_cb(void *data,
  if (min.w > r.w - hpad)
{
   min.w = r.w - hpad;
-  efl_gfx_hint_size_restricted_min_set(layout, 
EINA_SIZE2D(min.w, min.h));
+  efl_gfx_hint_size_min_set(layout, EINA_SIZE2D(min.w, min.h));
   efl_gfx_entity_size_set(layout, EINA_SIZE2D(min.w, min.h));
}
   }
@@ -762,7 +762,7 @@ _view_init(Evas_Object *obj, Efl_Ui_Tags_Data *sd)
efl_text_interactive_editable_set(efl_added, EINA_TRUE),
efl_composite_attach(obj, efl_added));
 
-   efl_gfx_hint_size_restricted_min_set(sd->entry, EINA_SIZE2D(MIN_W_ENTRY, 
0));
+   efl_gfx_hint_size_min_set(sd->entry, EINA_SIZE2D(MIN_W_ENTRY, 0));
efl_gfx_hint_weight_set(sd->entry, EFL_GFX_HINT_EXPAND, 0);
efl_gfx_hint_fill_set(sd->entry, EINA_TRUE, EINA_FALSE);
 
@@ -779,7 +779,7 @@ _view_init(Evas_Object *obj, Efl_Ui_Tags_Data *sd)
 
 edje_object_size_min_calc(sd->end, _min_width, 
_min_height);
 elm_coords_finger_size_adjust(1, _min_width, 1, 
_min_height);
-efl_gfx_hint_size_restricted_min_set(sd->end, 
EINA_SIZE2D(button_min_width, button_min_height));
+efl_gfx_hint_size_min_set(sd->end, EINA_SIZE2D(button_min_width, 
button_min_height));
 elm_widget_sub_object_add(obj, sd->end);
  }
 }

-- 




[EGIT] [core/efl] master 01/01: canvas svg: fix to apply premultipled color.

2019-09-15 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit 5c39e68d2bcd0ccd3dff21e378f2638509b81a39
Author: Hermet Park 
Date:   Tue Aug 20 11:23:59 2019 +0900

canvas svg: fix to apply premultipled color.

fill colors should be premultiplied with fill opcaity.
---
 src/static_libs/vg_common/vg_common_svg.c | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/static_libs/vg_common/vg_common_svg.c 
b/src/static_libs/vg_common/vg_common_svg.c
index 5f8398d44b..d15e753cc0 100644
--- a/src/static_libs/vg_common/vg_common_svg.c
+++ b/src/static_libs/vg_common/vg_common_svg.c
@@ -710,17 +710,16 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
Svg_Style_Property *style = node->style;
 
// update the vg name
-   if (node->id)
- efl_name_set(vg, node->id);
+   if (node->id) efl_name_set(vg, node->id);
 
// apply the transformation
-   if (node->transform)
- efl_canvas_vg_node_transformation_set(vg, node->transform);
+   if (node->transform) efl_canvas_vg_node_transformation_set(vg, 
node->transform);
 
if ((node->type == SVG_NODE_G) || (node->type == SVG_NODE_DOC)) return;
 
// apply the fill style property
efl_gfx_shape_fill_rule_set(vg, style->fill.fill_rule);
+
// if fill property is NULL then do nothing
if (style->fill.paint.none)
  {
@@ -734,14 +733,16 @@ _apply_vg_property(Svg_Node *node, Efl_VG *vg, Efl_VG 
*parent, Vg_File_Data *vg_
else if (style->fill.paint.cur_color)
  {
 // apply the current style color
-efl_gfx_color_set(vg, style->r, style->g,
-  style->b, style->fill.opacity);
+float fa = ((float) style->fill.opacity / 255);
+efl_gfx_color_set(vg, ((float) style->r) * fa, ((float) style->g) * 
fa, ((float) style->b) * fa,
+  style->fill.opacity);
  }
else
  {
 // apply the fill color
-efl_gfx_color_set(vg, style->fill.paint.r, style->fill.paint.g,
-  style->fill.paint.b, style->fill.opacity);
+float fa = ((float) style->fill.opacity / 255);
+efl_gfx_color_set(vg, ((float) style->fill.paint.r) * fa, ((float) 
style->fill.paint.g) * fa,
+  ((float) style->fill.paint.b) * fa, 
style->fill.opacity);
  }
 
//apply node opacity

-- 




[EGIT] [apps/rage] master 01/01: video - handle null file sets nicely

2019-09-15 Thread Carsten Haitzler (Rasterman)
raster pushed a commit to branch master.

http://git.enlightenment.org/apps/rage.git/commit/?id=b24a22ba6f9861ae296d7b528110bc35c2bade08

commit b24a22ba6f9861ae296d7b528110bc35c2bade08
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 6 10:25:17 2019 +0100

video - handle null file sets nicely

makes coverity happy
---
 src/bin/video.c | 62 -
 1 file changed, 35 insertions(+), 27 deletions(-)

diff --git a/src/bin/video.c b/src/bin/video.c
index eb4a056..35d5a63 100644
--- a/src/bin/video.c
+++ b/src/bin/video.c
@@ -634,41 +634,49 @@ video_file_set(Evas_Object *obj, const char *file)
evas_object_hide(sd->o_vid);
evas_object_hide(sd->clip);
eina_stringshare_replace(&(sd->file), file);
-   if (!strncasecmp(sd->file, "file:/", 6))
+   if (sd->file)
  {
-Efreet_Uri *uri = efreet_uri_decode(sd->file);
-if (uri)
+if (!strncasecmp(sd->file, "file:/", 6))
   {
- realfile = ecore_file_realpath(uri->path);
- efreet_uri_free(uri);
+ Efreet_Uri *uri = efreet_uri_decode(sd->file);
+ if (uri)
+   {
+  realfile = ecore_file_realpath(uri->path);
+  efreet_uri_free(uri);
+   }
   }
- }
-   else if ((!strncasecmp(sd->file, "http:/", 6)) ||
-(!strncasecmp(sd->file, "https:/", 7)))
- realfile = strdup(sd->file);
-   else
- realfile = ecore_file_realpath(sd->file);
-   eina_stringshare_replace(&(sd->realfile), realfile);
-   free(realfile);
-   eina_stringshare_replace(&(sd->artfile), NULL);
-   emotion_object_file_set(sd->o_vid, sd->file);
-   video_position_set(obj, 0.0);
-   if ((sd->file) && (sd->doart))
- {
-const char *extn = strchr(sd->file, '.');
-if (extn)
+else if ((!strncasecmp(sd->file, "http:/", 6)) ||
+ (!strncasecmp(sd->file, "https:/", 7)))
+  realfile = strdup(sd->file);
+else
+  realfile = ecore_file_realpath(sd->file);
+eina_stringshare_replace(&(sd->realfile), realfile);
+free(realfile);
+eina_stringshare_replace(&(sd->artfile), NULL);
+emotion_object_file_set(sd->o_vid, sd->file);
+video_position_set(obj, 0.0);
+if (sd->doart)
   {
- if ((!strcasecmp(extn, ".mp3")) ||
- (!strcasecmp(extn, ".m4a")) ||
- (!strcasecmp(extn, ".oga")) ||
- (!strcasecmp(extn, ".aac")) ||
- (!strcasecmp(extn, ".flac")) ||
- (!strcasecmp(extn, ".wav")))
+ const char *extn = strchr(sd->file, '.');
+ if (extn)
{
-  _art_check(obj);
+  if ((!strcasecmp(extn, ".mp3")) ||
+  (!strcasecmp(extn, ".m4a")) ||
+  (!strcasecmp(extn, ".oga")) ||
+  (!strcasecmp(extn, ".aac")) ||
+  (!strcasecmp(extn, ".flac")) ||
+  (!strcasecmp(extn, ".wav")))
+{
+   _art_check(obj);
+}
}
   }
  }
+   else
+ {
+eina_stringshare_replace(&(sd->realfile), NULL);
+eina_stringshare_replace(&(sd->artfile), NULL);
+ }
 }
 
 const char *

-- 




[EGIT] [core/efl] master 12/14: elm ctxpopup - be consistent with scope data checks

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b0ad81d927cfc9d2866f061c2d017b99ecc4505f
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 23:30:28 2019 +0100

elm ctxpopup - be consistent with scope data checks

makes coverity happy.

CID 1403898
---
 src/lib/elementary/elc_ctxpopup.c | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/lib/elementary/elc_ctxpopup.c 
b/src/lib/elementary/elc_ctxpopup.c
index c391573c0c..a9721ea0c0 100644
--- a/src/lib/elementary/elc_ctxpopup.c
+++ b/src/lib/elementary/elc_ctxpopup.c
@@ -863,9 +863,12 @@ _elm_ctxpopup_item_elm_widget_item_del_pre(Eo 
*eo_ctxpopup_it EINA_UNUSED,
if (ctxpopup_it->list_item)
  {
 Elm_Ctxpopup_Data *sd = efl_data_scope_safe_get(WIDGET(ctxpopup_it), 
MY_CLASS);
-if (sd->list)
-  elm_object_item_del(ctxpopup_it->list_item);
-ctxpopup_it->list_item = NULL;
+if (sd)
+  {
+ if (sd->list)
+   elm_object_item_del(ctxpopup_it->list_item);
+ ctxpopup_it->list_item = NULL;
+  }
  }
 }
 

-- 




[EGIT] [core/efl] master 04/10: efl_ui_spin_button: rename circulate to wraparound

2019-09-15 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit fd860eb6e80d3e54efc3e25a2861424c1fea6959
Author: Marcel Hollerbach 
Date:   Wed Jul 31 18:06:43 2019 +0200

efl_ui_spin_button: rename circulate to wraparound

ref T8097

Reviewed-by: Xavi Artigas 
Differential Revision: https://phab.enlightenment.org/D9461
---
 src/bin/elementary/test_ui_spin_button.c|  2 +-
 src/lib/elementary/efl_ui_datepicker.c  |  6 +++---
 src/lib/elementary/efl_ui_spin_button.c | 10 +-
 src/lib/elementary/efl_ui_spin_button.eo|  2 +-
 src/lib/elementary/efl_ui_spin_button_private.h |  2 +-
 src/lib/elementary/efl_ui_timepicker.c  |  4 ++--
 6 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/bin/elementary/test_ui_spin_button.c 
b/src/bin/elementary/test_ui_spin_button.c
index 2bfb7b2aa0..e6b31353da 100644
--- a/src/bin/elementary/test_ui_spin_button.c
+++ b/src/bin/elementary/test_ui_spin_button.c
@@ -41,7 +41,7 @@ test_ui_spin_button(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *
efl_ui_range_limits_set(efl_added, 0, 10),
efl_ui_range_value_set(efl_added, 6),
efl_ui_range_step_set(efl_added, 2),
-   efl_ui_spin_button_circulate_set(efl_added, EINA_TRUE),
+   efl_ui_spin_button_wraparound_set(efl_added, EINA_TRUE),
efl_ui_spin_button_editable_set(efl_added, EINA_TRUE),
efl_event_callback_add(efl_added, 
EFL_UI_RANGE_EVENT_STEADY,_spin_delay_changed_cb, NULL),
efl_event_callback_add(efl_added, EFL_UI_RANGE_EVENT_CHANGED, 
_spin_changed_cb, NULL),
diff --git a/src/lib/elementary/efl_ui_datepicker.c 
b/src/lib/elementary/efl_ui_datepicker.c
index 1aa472df6e..0a4a39b171 100644
--- a/src/lib/elementary/efl_ui_datepicker.c
+++ b/src/lib/elementary/efl_ui_datepicker.c
@@ -161,21 +161,21 @@ _fields_init(Eo *obj)
//Field create.
pd->year = efl_add(EFL_UI_SPIN_BUTTON_CLASS, obj,
   efl_ui_range_limits_set(efl_added, 1900, 2037),
-  efl_ui_spin_button_circulate_set(efl_added, EINA_TRUE),
+  efl_ui_spin_button_wraparound_set(efl_added, EINA_TRUE),
   efl_ui_spin_button_editable_set(efl_added, EINA_TRUE),
   efl_ui_layout_orientation_set(efl_added, 
EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
   efl_event_callback_add(efl_added, 
EFL_UI_RANGE_EVENT_CHANGED,_field_changed_cb, obj));
 
pd->month = efl_add(EFL_UI_SPIN_BUTTON_CLASS, obj,
efl_ui_range_limits_set(efl_added, 1, 12),
-   efl_ui_spin_button_circulate_set(efl_added, EINA_TRUE),
+   efl_ui_spin_button_wraparound_set(efl_added, EINA_TRUE),
efl_ui_spin_button_editable_set(efl_added, EINA_TRUE),
efl_ui_layout_orientation_set(efl_added, 
EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
efl_event_callback_add(efl_added, 
EFL_UI_RANGE_EVENT_CHANGED,_field_changed_cb, obj));
 
pd->day = efl_add(EFL_UI_SPIN_BUTTON_CLASS, obj,
  efl_ui_range_limits_set(efl_added, 1, 31),
- efl_ui_spin_button_circulate_set(efl_added, EINA_TRUE),
+ efl_ui_spin_button_wraparound_set(efl_added, EINA_TRUE),
  efl_ui_spin_button_editable_set(efl_added, EINA_TRUE),
  efl_ui_layout_orientation_set(efl_added, 
EFL_UI_LAYOUT_ORIENTATION_VERTICAL),
  efl_event_callback_add(efl_added, 
EFL_UI_RANGE_EVENT_CHANGED,_field_changed_cb, obj));
diff --git a/src/lib/elementary/efl_ui_spin_button.c 
b/src/lib/elementary/efl_ui_spin_button.c
index 553c363680..cfd13cfcc4 100644
--- a/src/lib/elementary/efl_ui_spin_button.c
+++ b/src/lib/elementary/efl_ui_spin_button.c
@@ -137,7 +137,7 @@ _value_set(Evas_Object *obj,
Efl_Ui_Spin_Data *pd = efl_data_scope_get(obj, EFL_UI_SPIN_CLASS);
Eina_Future *f;
 
-   if (sd->circulate)
+   if (sd->wraparound)
  {
 if (new_val < pd->val_min)
   new_val = pd->val_max;
@@ -732,15 +732,15 @@ _efl_ui_spin_button_editable_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Spin_Button_D
 }
 
 EOLIAN static void
-_efl_ui_spin_button_circulate_set(Eo *obj EINA_UNUSED, Efl_Ui_Spin_Button_Data 
*sd, Eina_Bool circulate)
+_efl_ui_spin_button_wraparound_set(Eo *obj EINA_UNUSED, 
Efl_Ui_Spin_Button_Data *sd, Eina_Bool wraparound)
 {
-   sd->circulate = circulate;
+   sd->wraparound = wraparound;
 }
 
 EOLIAN static Eina_Bool
-_efl_ui_spin_button_circulate_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Spin_Button_Data *sd)
+_efl_ui_spin_button_wraparound_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Spin_Button_Data *sd)
 {
-   return sd->circulate;
+   return sd->wraparound;
 }
 
 EOLIAN static const Efl_Access_Action_Data *
diff --git 

[EGIT] [core/efl] master 01/01: eolian: attempt to silence coverity overlapping assignment errors

2019-09-15 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit ede2db5f1b2bd8707c0cbb8a3024cf1a416863bb
Author: Daniel Kolesa 
Date:   Mon Aug 5 15:32:15 2019 +0200

eolian: attempt to silence coverity overlapping assignment errors

While the previous code was I believe correct, coverity still
complains about it. Split it into two statements also to declare
intent.

CID 1402603..1402724
---
 src/lib/eolian/database_expr.c | 7 +--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c
index 14af0cfb08..c2b6030db1 100644
--- a/src/lib/eolian/database_expr.c
+++ b/src/lib/eolian/database_expr.c
@@ -120,8 +120,11 @@ static Eina_Bool
 promote(Eolian_Expression *a, Eolian_Expression *b)
 {
 #define CONVERT_CASE(id, dtp, expr, field, fnm) \
-   case EOLIAN_EXPR_##id: \
- expr->value.field = (dtp)(expr->value.fnm); break;
+   case EOLIAN_EXPR_##id: { \
+  dtp nv = (dtp)(expr->value.fnm); \
+  expr->value.field = nv; \
+  break; \
+   }
 
 #define CONVERT(dtp, expr, field) \
switch (expr->type) \

-- 




[EGIT] [core/efl] master 03/10: eio/poll: avoid ever dereferencing the backend's parent in a thread

2019-09-15 Thread Mike Blumenkrantz
zmike pushed a commit to branch master.

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

commit 42704eccc782d460d997630e9ab774833704c741
Author: Mike Blumenkrantz 
Date:   Fri Aug 23 13:22:04 2019 -0400

eio/poll: avoid ever dereferencing the backend's parent in a thread

Summary:
when a monitor is destroyed, it unconditionally and immediately deletes
the monitor struct. this means that as soon as the monitor is dead, the
backend must never access the parent pointer again if its lifetime exceeds
the lifetime of the monitor (such as in threads)

the only member of the monitor data used by the fallback monitor is the
monitor path, so we can just copy it to the fallback data to avoid ever
needing to dereference this pointer

fixes reliability issues with efl sentry unit tests

@fix

Depends on D9708

Reviewers: cedric

Reviewed By: cedric

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9709
---
 src/lib/eio/eio_monitor_poll.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/lib/eio/eio_monitor_poll.c b/src/lib/eio/eio_monitor_poll.c
index 55cdff6fbf..2a35b6f07a 100644
--- a/src/lib/eio/eio_monitor_poll.c
+++ b/src/lib/eio/eio_monitor_poll.c
@@ -39,6 +39,7 @@ struct _Eio_Monitor_Stat
 struct _Eio_Monitor_Backend
 {
Eio_Monitor *parent;
+   Eina_Stringshare *path;
 
Eina_Stat self;
Eina_Hash *children;
@@ -74,17 +75,14 @@ _eio_monitor_fallback_heavy_cb(void *data, Ecore_Thread 
*thread)
else
  est = alloca(sizeof (Eina_Stat));
 
-   if (!backend->parent)
- return;
-
-   if (_eio_stat(backend->parent->path, ))
+   if (_eio_stat(backend->path, ))
  {
 if (backend->initialised && !backend->destroyed)
   {
  ecore_thread_main_loop_begin();
  deleted = backend->delete_me;
  if (!deleted)
-   _eio_monitor_send(backend->parent, backend->parent->path, 
EIO_MONITOR_SELF_DELETED);
+   _eio_monitor_send(backend->parent, backend->path, 
EIO_MONITOR_SELF_DELETED);
  ecore_thread_main_loop_end();
  backend->destroyed = EINA_TRUE;
   }
@@ -137,12 +135,12 @@ _eio_monitor_fallback_heavy_cb(void *data, Ecore_Thread 
*thread)
 ecore_thread_main_loop_begin();
 deleted = backend->delete_me;
 if (!deleted)
-  _eio_monitor_send(backend->parent, backend->parent->path, event);
+  _eio_monitor_send(backend->parent, backend->path, event);
 ecore_thread_main_loop_end();
 if (deleted) return;
  }
 
-   it = eina_file_direct_ls(backend->parent->path);
+   it = eina_file_direct_ls(backend->path);
EINA_ITERATOR_FOREACH(it, info)
  {
 Eio_Monitor_Stat *cmp;
@@ -344,6 +342,7 @@ eio_monitor_fallback_add(Eio_Monitor *monitor)
 
backend->children = eina_hash_string_superfast_new(free);
backend->parent = monitor;
+   backend->path = eina_stringshare_ref(monitor->path);
monitor->backend = backend;
monitor->fallback = EINA_TRUE;
 
@@ -370,6 +369,7 @@ eio_monitor_fallback_del(Eio_Monitor *monitor)
if (backend->timer) ecore_timer_del(backend->timer);
eina_hash_set(timer_hash, , NULL);
backend->timer = NULL;
+   backend->parent = NULL;
 
if (backend->work)
  {
@@ -377,7 +377,7 @@ eio_monitor_fallback_del(Eio_Monitor *monitor)
 return;
  }
 
-   backend->parent = NULL;
+   eina_stringshare_del(backend->path);
eina_hash_free(backend->children);
free(backend);
 }

-- 




[EGIT] [core/enlightenment] enlightenment-0.23 02/02: e - fix up resize/move by kbd to work again

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch enlightenment-0.23.

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

commit c97ea9f1c03ed57066d2574e9f6d5f177e0575cc
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Sep 4 19:17:12 2019 +0100

e - fix up resize/move by kbd to work again

this used to work years ago ... it seems tihave broken. this fixes it
all up to work again so you can bind a move/resize of a window tothe
kbd and then use arrow keys etc. like you used to

@fix
---
 src/bin/e_actions.c |  41 ++--
 src/bin/e_client.c  | 124 ++--
 src/bin/e_comp_object.c |  16 +--
 src/bin/e_utils.c   |  34 +
 src/bin/e_utils.h   |  10 
 5 files changed, 139 insertions(+), 86 deletions(-)

diff --git a/src/bin/e_actions.c b/src/bin/e_actions.c
index bdf823172..f0b954007 100644
--- a/src/bin/e_actions.c
+++ b/src/bin/e_actions.c
@@ -103,7 +103,8 @@ ACT_FN_GO(window_move, EINA_UNUSED)
 
 ACT_FN_GO_MOUSE(window_move, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return EINA_FALSE;
if (obj->type != E_CLIENT_TYPE) return EINA_FALSE;
e_client_act_move_begin((E_Client *)(void *)obj, ev);
@@ -112,7 +113,8 @@ ACT_FN_GO_MOUSE(window_move, EINA_UNUSED)
 
 ACT_FN_GO_SIGNAL(window_move, )
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (obj->type != E_CLIENT_TYPE) return;
if (!((E_Client *)(void *)obj)->lock_user_location)
@@ -129,7 +131,8 @@ ACT_FN_GO_SIGNAL(window_move, )
 
 ACT_FN_END(window_move, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (obj->type != E_CLIENT_TYPE) return;
e_client_act_move_end((E_Client *)(void *)obj, NULL);
@@ -137,7 +140,8 @@ ACT_FN_END(window_move, EINA_UNUSED)
 
 ACT_FN_END_MOUSE(window_move, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return EINA_FALSE;
if (obj->type != E_CLIENT_TYPE) return EINA_FALSE;
e_client_act_move_end((E_Client *)(void *)obj, ev);
@@ -146,7 +150,8 @@ ACT_FN_END_MOUSE(window_move, EINA_UNUSED)
 
 ACT_FN_GO_KEY(window_move, EINA_UNUSED, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (!((E_Client *)(void *)obj)->lock_user_location)
  e_client_act_move_keyboard((E_Client *)(void *)obj);
@@ -164,7 +169,8 @@ ACT_FN_GO(window_resize, EINA_UNUSED)
 
 ACT_FN_GO_MOUSE(window_resize, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return EINA_FALSE;
if (obj->type != E_CLIENT_TYPE) return EINA_FALSE;
if (!((E_Client *)(void *)obj)->lock_user_size)
@@ -174,7 +180,8 @@ ACT_FN_GO_MOUSE(window_resize, EINA_UNUSED)
 
 ACT_FN_GO_SIGNAL(window_resize, )
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (obj->type != E_CLIENT_TYPE) return;
if (!((E_Client *)(void *)obj)->lock_user_size)
@@ -194,7 +201,8 @@ ACT_FN_GO_SIGNAL(window_resize, )
 
 ACT_FN_END(window_resize, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (obj->type != E_CLIENT_TYPE) return;
e_client_act_resize_end((E_Client *)(void *)obj, NULL);
@@ -202,7 +210,8 @@ ACT_FN_END(window_resize, EINA_UNUSED)
 
 ACT_FN_END_MOUSE(window_resize, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return EINA_FALSE;
if (obj->type != E_CLIENT_TYPE) return EINA_FALSE;
e_client_act_resize_end((E_Client *)(void *)obj, ev);
@@ -211,7 +220,8 @@ ACT_FN_END_MOUSE(window_resize, EINA_UNUSED)
 
 ACT_FN_GO_KEY(window_resize, EINA_UNUSED, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) || (obj->type != E_CLIENT_TYPE))
+ obj = E_OBJECT(e_client_focused_get());
if (!obj) return;
if (obj->type != E_CLIENT_TYPE)
  {
@@ -233,7 +243,8 @@ ACT_FN_GO(window_menu, EINA_UNUSED)
 
 ACT_FN_GO_MOUSE(window_menu, EINA_UNUSED)
 {
-   if (!obj) obj = E_OBJECT(e_client_focused_get());
+   if ((!obj) 

[EGIT] [core/enlightenment] master 01/01: freeze/that - use a bit more to cut out unwanted events

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b7d2ac57b00ee8dc84d3e9f8eec80e5bee3c6153
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 20 08:42:55 2019 +0100

freeze/that - use a bit more to cut out unwanted events
---
 src/bin/e_menu.c   | 1 +
 src/modules/clock/e_mod_main.c | 5 -
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index 5070d1cc7..130df2f08 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -1680,6 +1680,7 @@ _e_menu_realize(E_Menu *m)
 
 
evas_event_thaw(m->evas);
+   evas_event_thaw_eval(m->evas);
m->realized = 1;
 }
 
diff --git a/src/modules/clock/e_mod_main.c b/src/modules/clock/e_mod_main.c
index 48a2bd486..5d396c711 100644
--- a/src/modules/clock/e_mod_main.c
+++ b/src/modules/clock/e_mod_main.c
@@ -309,6 +309,8 @@ _clock_popup_new(Instance *inst)
 
if (inst->popup) return;
 
+   evas = e_comp->evas;
+   evas_event_freeze(evas);
_todaystr_eval(inst, todaystr, sizeof(todaystr) - 1);
 
inst->madj = 0;
@@ -316,7 +318,6 @@ _clock_popup_new(Instance *inst)
_time_eval(inst);
 
inst->popup = e_gadcon_popup_new(inst->gcc, 0);
-   evas = e_comp->evas;
 
inst->o_table = elm_table_add(e_comp->elm);
 
@@ -377,6 +378,8 @@ _clock_popup_new(Instance *inst)
 
evas_smart_objects_calculate(evas);
e_gadcon_popup_content_set(inst->popup, inst->o_table);
+   evas_event_thaw(evas);
+   evas_event_thaw_eval(evas);
e_gadcon_popup_show(inst->popup);
 }
 

-- 




[EGIT] [core/efl] master 01/01: Revert "efl/scroll manager: stop clearing animators on every wheel event"

2019-09-15 Thread Hermet Park
hermet pushed a commit to branch master.

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

commit a836c73ef61f5557746c5e4d944b01a77bc3a8de
Author: Hermet Park 
Date:   Wed Jul 24 20:47:20 2019 +0900

Revert "efl/scroll manager: stop clearing animators on every wheel event"

This reverts commit e6393393ccafe59d4e434a78c79952601d93956a.

This totally break popup control in Tizen,

Please consider necessity of this patch,
further potential side effects possibilities.
---
 src/lib/elementary/efl_ui_scroll_manager.c | 9 -
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_ui_scroll_manager.c 
b/src/lib/elementary/efl_ui_scroll_manager.c
index 63654f3eba..53232883cc 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.c
+++ b/src/lib/elementary/efl_ui_scroll_manager.c
@@ -1558,11 +1558,10 @@ 
_scroll_manager_scrollto_y_animator_del(Efl_Ui_Scroll_Manager_Data *sd)
 static void
 _scroll_manager_scrollto_animator_add(Efl_Ui_Scroll_Manager_Data *sd, 
Evas_Coord sx, Evas_Coord sy, Evas_Coord x, Evas_Coord y, double tx, double ty, 
InterpType interp)
 {
-   if (!sd->pan_obj || sd->freeze)
- {
-_scroll_manager_scrollto_animator_del(sd);
-return;
- }
+   _scroll_manager_scrollto_animator_del(sd);
+
+   if (!sd->pan_obj) return;
+   if (sd->freeze) return;
_scroll_manager_scrollto_x_animator_add(sd, sx, x, tx, interp);
_scroll_manager_scrollto_y_animator_add(sd, sy, y, ty, interp);
 }

-- 




[EGIT] [core/efl] master 01/01: efl_ui_tab_*: enhance documentation

2019-09-15 Thread Marcel Hollerbach
xartigas pushed a commit to branch master.

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

commit a0bd73f2e0c62a198c1e36b9bfe410b22d0d6c85
Author: Marcel Hollerbach 
Date:   Fri Sep 6 16:25:57 2019 +0200

efl_ui_tab_*: enhance documentation

Summary: just a commit bringing more information.

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9864
---
 src/lib/elementary/efl_ui_tab_bar.eo  | 5 -
 src/lib/elementary/efl_ui_tab_bar_default_item.eo | 5 -
 src/lib/elementary/efl_ui_tab_page.eo | 6 +-
 src/lib/elementary/efl_ui_tab_pager.eo| 9 +++--
 4 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_ui_tab_bar.eo 
b/src/lib/elementary/efl_ui_tab_bar.eo
index b4aabe1197..996a897b98 100644
--- a/src/lib/elementary/efl_ui_tab_bar.eo
+++ b/src/lib/elementary/efl_ui_tab_bar.eo
@@ -2,7 +2,10 @@ class @beta Efl.Ui.Tab_Bar extends Efl.Ui.Layout_Base
implements Efl.Ui.Single_Selectable, Efl.Pack_Linear
composite Efl.Pack_Linear, Efl.Pack
 {
-   [[Tab Bar class]]
+   [[A selectable box of items.
+
+ Within one object only one @Efl.Ui.Tab_Bar_Default_Item can be selected 
at the same time.
+   ]]
methods {
 
}
diff --git a/src/lib/elementary/efl_ui_tab_bar_default_item.eo 
b/src/lib/elementary/efl_ui_tab_bar_default_item.eo
index 22034d8957..7feb31d981 100644
--- a/src/lib/elementary/efl_ui_tab_bar_default_item.eo
+++ b/src/lib/elementary/efl_ui_tab_bar_default_item.eo
@@ -1,6 +1,9 @@
 class @beta Efl.Ui.Tab_Bar_Default_Item extends Efl.Ui.Default_Item
 {
-   [[ A icon that represents the default parts in the appearance of the tab 
bar. ]]
+   [[ A icon that represents the default parts in the appearance of the tab 
bar.
+
+ Setting the icon again after there was a previous one, will trigger an 
animation.
+   ]]
methods {
   @property icon {
 [[Set the content of the default item as a image.
diff --git a/src/lib/elementary/efl_ui_tab_page.eo 
b/src/lib/elementary/efl_ui_tab_page.eo
index d13dde7ac6..4b21dc6241 100644
--- a/src/lib/elementary/efl_ui_tab_page.eo
+++ b/src/lib/elementary/efl_ui_tab_page.eo
@@ -1,6 +1,10 @@
 class @beta Efl.Ui.Tab_Page extends Efl.Ui.Layout_Base implements Efl.Content
 {
-   [[Tab Page class]]
+   [[A holder class for setting up a page in the pager.
+
+ The item assosiated with this page can be used to setup a item which will 
later be displayed in the @Efl.Ui.Tab_Bar
+ of the @Efl.Ui.Tab_Pager where this page was added to.
+   ]]
methods {
   @property tab_bar_item {
  [[Get this page represented as a @Efl.Ui.Tab_Bar_Default_Item
diff --git a/src/lib/elementary/efl_ui_tab_pager.eo 
b/src/lib/elementary/efl_ui_tab_pager.eo
index 9efb40c753..9f4bb42d4f 100644
--- a/src/lib/elementary/efl_ui_tab_pager.eo
+++ b/src/lib/elementary/efl_ui_tab_pager.eo
@@ -1,13 +1,18 @@
 class @beta Efl.Ui.Tab_Pager extends Efl.Ui.Spotlight.Container
 {
-   [[Tab Pager class]]
+   [[Container for @Efl.Ui.Tab_Page
+
+ This container consists out of a Efl.Ui.Tab_Bar and a place to display 
the content of the pages.
+ The items that are generated out of the pages will be displayed in the 
tab bar of this pager.
+   ]]
methods {
   @property tab_bar {
+ [[Tab bar where to add items of the @Efl.Ui.Tab_Page into.]]
  get {
 
  }
  values {
-tab_bar: Efl.Canvas.Object;
+tab_bar: Efl.Ui.Tab_Bar; [[Tab bar for the items of the 
@Efl.Ui.Tab_Page]]
  }
   }
}

-- 




[EGIT] [core/efl] master 05/10: spinner_example: migrate it to efl::ui::spin_button

2019-09-15 Thread Marcel Hollerbach
cedric pushed a commit to branch master.

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

commit 1c916714f0be4a40b6eaa2103912a3d8f7edfeb3
Author: Marcel Hollerbach 
Date:   Thu Aug 1 09:55:05 2019 +0200

spinner_example: migrate it to efl::ui::spin_button

we should do that more often, that shows issues.
Right now there seems to be an issue with accessors in cxx, something is
freeing the accessor twice. So this feature is disabled right now.

ref T8100

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9471
---
 src/examples/elementary/spinner_cxx_example.cc | 91 ++
 1 file changed, 49 insertions(+), 42 deletions(-)

diff --git a/src/examples/elementary/spinner_cxx_example.cc 
b/src/examples/elementary/spinner_cxx_example.cc
index 98319c091d..78e1ba381e 100644
--- a/src/examples/elementary/spinner_cxx_example.cc
+++ b/src/examples/elementary/spinner_cxx_example.cc
@@ -1,19 +1,20 @@
 // g++ -g `pkg-config --cflags --libs elementary-cxx efl-cxx eina-cxx eo-cxx 
ecore-cxx evas-cxx edje-cxx` spinner_cxx_example.cc -o spinner_cxx_example
 
-#define ELM_WIDGET_PROTECTED
-
+#define EFL_CXXPERIMENTAL
+#ifndef EFL_BETA_API_SUPPORT
+#define EFL_BETA_API_SUPPORT
+#endif
 #include 
 #include 
 
-#warning FIXME: This example requires proper EO API usage (not legacy spinner)
-
+using namespace std::placeholders;
 using efl::eo::instantiate;
 
+static efl::ui::Win win;
+
 static void
 efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED)
 {
-#if 0
-
efl::ui::Win win(instantiate);
win.text_set("Spinner Example");
win.autohide_set(true);
@@ -22,67 +23,73 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev 
EINA_UNUSED)
efl::ui::Box bx(instantiate, win);
win.content_set(bx);
 
-   elm::Spinner sp(instantiate, win);
+   efl::ui::Spin_Button sp(instantiate, win);
sp.hint_fill_set(true, false);
+   sp.range_step_set(1.0);
+   sp.range_limits_set(0.0, 10.0);
+   sp.wraparound_set(true);
bx.pack_end(sp);
 
-   elm::Spinner sp2(instantiate, win);
-   sp2.label_format_set("Percentage %%%1.2f something");
+   efl::ui::Spin_Button sp2(instantiate, win);
+   sp2.format_string_set("Percentage %%%1.2f something", 
EFL_UI_FORMAT_STRING_TYPE_SIMPLE);
sp2.hint_fill_set(true, false);
bx.pack_end(sp2);
 
-   elm::Spinner sp3(instantiate, win);
-   sp3.label_format_set("%1.1f units");
-   sp3.step_set(1.5);
-   sp3.wrap_set(true);
-   sp3.min_max_set(-50.0, 250.0);
+   efl::ui::Spin_Button sp3(instantiate, win);
+   sp3.format_string_set("%1.1f units", EFL_UI_FORMAT_STRING_TYPE_SIMPLE);
+   sp3.range_step_set(1.5);
+   sp3.range_limits_set(-50.0, 250.0);
sp3.hint_fill_set(true, false);
bx.pack_end(sp3);
 
-   elm::Spinner sp4(instantiate, win);
-   sp4.style_set("vertical");
-   sp4.interval_set(0.2);
+   efl::ui::Spin_Button sp4(instantiate, win);
+   //FIXME setting the style is propetected...
+   //sp4.style_set("vertical");
+   sp4.range_step_set(0.2);
sp4.hint_fill_set(true, false);
bx.pack_end(sp4);
 
-   elm::Spinner sp5(instantiate, win);
+   efl::ui::Spin_Button sp5(instantiate, win);
sp5.editable_set(false);
sp5.hint_fill_set(true, false);
bx.pack_end(sp5);
 
-   elm::Spinner sp6(instantiate, win);
+   Efl_Ui_Format_Value values[] = {
+ {1, "January"},
+ {2, "February"},
+ {3, "March"},
+ {4, "April"},
+ {5, "May"},
+ {6, "June"},
+ {7, "July"},
+ {8, "August"},
+ {9, "September"},
+ {10, "October"},
+ {11, "November"},
+ {12, "December"}
+   };
+   efl::eina::accessor 
values_acc(EINA_C_ARRAY_ACCESSOR_NEW(values));
+   efl::ui::Spin_Button sp6(instantiate, win);
sp6.editable_set(false);
-   sp6.min_max_set(1, 12);
-   sp6.special_value_add(1, "January");
-   sp6.special_value_add(2, "February");
-   sp6.special_value_add(3, "March");
-   sp6.special_value_add(4, "April");
-   sp6.special_value_add(5, "May");
-   sp6.special_value_add(6, "June");
-   sp6.special_value_add(7, "July");
-   sp6.special_value_add(8, "August");
-   sp6.special_value_add(9, "September");
-   sp6.special_value_add(10, "October");
-   sp6.special_value_add(11, "November");
-   sp6.special_value_add(12, "December");
+   sp6.range_limits_set(1, 12);
+   //sp6.format_values_set(values_acc);
sp6.hint_fill_set(true, false);
bx.pack_end(sp6);
 
-   elm::Spinner sp7(instantiate, win);
+   efl::ui::Spin_Button sp7(instantiate, win);
sp7.hint_fill_set(true, false);
bx.pack_end(sp7);
sp7.editable_set(true);
 
-   auto changed = std::bind([] (elm::Spinner )
-   { std::cout << "Value changed to " << spinner.value_get() << std::endl; },
- std::placeholders::_1);
-   efl::eolian::event_add(elm::Spinner::changed_event, sp7, changed);
+   auto changed = std::bind ( [] (efl::ui::Range_Display obj)
+   { std::cout << "Changed to " << obj.range_value_get() << std::endl; }
+ 

[EGIT] [core/efl] master 01/01: edje: fix warning for returning wrong type.

2019-09-15 Thread Cedric BAIL
zmike pushed a commit to branch master.

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

commit 7248812a5155281cfcc3ea9a807734fa5129c63f
Author: Cedric BAIL 
Date:   Fri Aug 9 08:43:18 2019 -0400

edje: fix warning for returning wrong type.

Reviewers: zmike

Reviewed By: zmike

Subscribers: segfaultxavi, #reviewers, #committers

Tags: #efl

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

diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c
index 4e3cdba15d..ec6b841985 100644
--- a/src/lib/edje/edje_util.c
+++ b/src/lib/edje/edje_util.c
@@ -3612,7 +3612,7 @@ _efl_canvas_layout_efl_layout_calc_calc_force(Eo *obj 
EINA_UNUSED, Edje *ed)
_edje_util_freeze_val = pf2;
 }
 
-EOLIAN Eina_Rectangle
+EOLIAN Eina_Rect
 _efl_canvas_layout_efl_layout_calc_calc_parts_extends(Eo *obj EINA_UNUSED, 
Edje *ed)
 {
Evas_Coord xx1 = INT_MAX, yy1 = INT_MAX;
@@ -3649,7 +3649,7 @@ _efl_canvas_layout_efl_layout_calc_calc_parts_extends(Eo 
*obj EINA_UNUSED, Edje
if ((xx2 - xx1) > 0) w = xx2 - xx1;
if ((yy2 - yy1) > 0) h = yy2 - yy1;
 
-   return (Eina_Rectangle) { xx1, yy1, w, h };
+   return (Eina_Rect) { (Eina_Rectangle) { xx1, yy1, w, h } };
 }
 
 EOLIAN Eina_Size2D

-- 




[EGIT] [core/enlightenment] master 18/19: wl input - use eina mkstemp to handle umask right

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c1f73110acc1c13fd8e9117f4d9b965d73d13c09
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 6 19:58:26 2019 +0100

wl input - use eina mkstemp to handle umask right

fix CID 1403927
---
 src/bin/e_comp_wl_input.c | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c
index 1f4a9ede9..8f89f6d14 100644
--- a/src/bin/e_comp_wl_input.c
+++ b/src/bin/e_comp_wl_input.c
@@ -324,6 +324,7 @@ _e_comp_wl_input_keymap_fd_get(void)
char tmp[PATH_MAX];
long flags;
void *mm;
+   Eina_Tmpstr *tmpstr = NULL;
 
blen = sizeof(tmp) - 1;
 
@@ -339,28 +340,33 @@ _e_comp_wl_input_keymap_fd_get(void)
else
  return -1;
 
-   if ((fd = mkstemp(tmp)) < 0) return -1;
+   if ((fd = eina_file_mkstemp(tmp, )) < 0) return -1;
 
flags = fcntl(fd, F_GETFD);
if (flags < 0)
  {
+eina_tmpstr_del(tmpstr);
 close(fd);
 return -1;
  }
 
if (fcntl(fd, F_SETFD, (flags | FD_CLOEXEC)) == -1)
  {
+eina_tmpstr_del(tmpstr);
 close(fd);
 return -1;
  }
 
if (ftruncate(fd, e_comp_wl->xkb.map_size) < 0)
  {
+eina_tmpstr_del(tmpstr);
 close(fd);
 return -1;
  }
 
-   unlink(tmp);
+   unlink(tmpstr);
+   eina_tmpstr_del(tmpstr);
+
mm = mmap(NULL, e_comp_wl->xkb.map_size, (PROT_READ | PROT_WRITE),
  MAP_SHARED, fd, 0);
if (mm == MAP_FAILED)

-- 




[EGIT] [core/efl] master 05/09: tests/elm: add helper function for clicking at specified coords

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit f8dcb7dc2b8dad636989e988d53f81e705a1718c
Author: Mike Blumenkrantz 
Date:   Mon Aug 5 13:53:03 2019 -0400

tests/elm: add helper function for clicking at specified coords

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9505
---
 src/tests/elementary/suite_helpers.c | 9 +
 src/tests/elementary/suite_helpers.h | 1 +
 2 files changed, 10 insertions(+)

diff --git a/src/tests/elementary/suite_helpers.c 
b/src/tests/elementary/suite_helpers.c
index e4d7e1b45f..ff5530a93f 100644
--- a/src/tests/elementary/suite_helpers.c
+++ b/src/tests/elementary/suite_helpers.c
@@ -465,3 +465,12 @@ 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointe
ck_assert_int_eq(*called, 0);
*called = 1;
 }
+
+void
+click_object_at(Eo *obj, int x, int y)
+{
+   Evas *e = evas_object_evas_get(obj);
+   evas_event_feed_mouse_move(e, x, y, 0, NULL);
+   evas_event_feed_mouse_down(e, 1, 0, 0, NULL);
+   evas_event_feed_mouse_up(e, 1, 0, 0, NULL);
+}
diff --git a/src/tests/elementary/suite_helpers.h 
b/src/tests/elementary/suite_helpers.h
index f1e01d70db..0dc3944173 100644
--- a/src/tests/elementary/suite_helpers.h
+++ b/src/tests/elementary/suite_helpers.h
@@ -13,5 +13,6 @@ void fail_on_errors_setup(void);
 void get_me_to_those_events(Eo *obj);
 void click_object(Eo *obj);
 void click_part(Eo *obj, const char *part);
+void click_object_at(Eo *obj, int x, int y);
 void 
event_callback_that_is_called_exactly_one_time_and_sets_a_single_int_data_pointer_when_called(void
 *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED);
 #endif

-- 




[EGIT] [core/efl] master 02/06: tests/elm: move efl_config tests to efl_ui_suite

2019-09-15 Thread Mike Blumenkrantz
bu5hm4n pushed a commit to branch master.

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

commit b1986363dbe46202cd46216af7e013c2f26ff098
Author: Mike Blumenkrantz 
Date:   Mon Jul 22 13:00:45 2019 -0400

tests/elm: move efl_config tests to efl_ui_suite

these invoke non-legacy codepaths which should never be triggered during
legacy unit tests

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D9403
---
 src/tests/elementary/efl_ui_suite.c|   1 +
 src/tests/elementary/efl_ui_suite.h|   1 +
 .../{elm_test_config.c => efl_ui_test_config.c}|  14 +-
 src/tests/elementary/elm_test_config.c | 207 +
 src/tests/elementary/meson.build   |   1 +
 5 files changed, 12 insertions(+), 212 deletions(-)

diff --git a/src/tests/elementary/efl_ui_suite.c 
b/src/tests/elementary/efl_ui_suite.c
index 3478095936..707f450939 100644
--- a/src/tests/elementary/efl_ui_suite.c
+++ b/src/tests/elementary/efl_ui_suite.c
@@ -11,6 +11,7 @@ static const Efl_Test_Case etc[] = {
   //{ "elm_widget_focus", elm_test_widget_focus},
   { "efl_ui_atspi", efl_ui_test_atspi},
   { "efl_ui_callback", efl_ui_test_callback},
+  { "efl_ui_config", efl_ui_test_config},
   { "efl_ui_focus", efl_ui_test_focus},
   { "efl_ui_focus_sub", efl_ui_test_focus_sub},
   { "efl_ui_box", efl_ui_test_box},
diff --git a/src/tests/elementary/efl_ui_suite.h 
b/src/tests/elementary/efl_ui_suite.h
index 16170efde1..a2ad7945f7 100644
--- a/src/tests/elementary/efl_ui_suite.h
+++ b/src/tests/elementary/efl_ui_suite.h
@@ -46,6 +46,7 @@ void efl_ui_test_spin_button(TCase *tc);
 void efl_ui_test_item_container(TCase *tc);
 void efl_ui_test_list_container(TCase *tc);
 void efl_ui_test_grid_container(TCase *tc);
+void efl_ui_test_config(TCase *tc);
 
 void loop_timer_interval_set(Eo *obj, double in);
 
diff --git a/src/tests/elementary/elm_test_config.c 
b/src/tests/elementary/efl_ui_test_config.c
similarity index 96%
copy from src/tests/elementary/elm_test_config.c
copy to src/tests/elementary/efl_ui_test_config.c
index c6745c16a8..40d0415bc9 100644
--- a/src/tests/elementary/elm_test_config.c
+++ b/src/tests/elementary/efl_ui_test_config.c
@@ -10,7 +10,7 @@
 #include 
 typedef unsigned int uint;
 
-EFL_START_TEST(elm_config_eoapi)
+EFL_START_TEST(efl_config_eoapi)
 {
Eo *cfg = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
fail_if(!cfg);
@@ -145,7 +145,7 @@ EFL_START_TEST(elm_config_eoapi)
 }
 EFL_END_TEST
 
-EFL_START_TEST(elm_config_win)
+EFL_START_TEST(efl_config_win)
 {
Eo *cfg = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
fail_if(!cfg);
@@ -174,7 +174,7 @@ _eina_list_string_has(const Eina_List *list, const char 
*str)
return EINA_FALSE;
 }
 
-EFL_START_TEST(elm_config_profiles)
+EFL_START_TEST(efl_config_profiles)
 {
// this only tests some of the profile APIs. we're not going to mess with
// the global config during make check :)
@@ -222,9 +222,9 @@ EFL_START_TEST(elm_config_profiles)
 }
 EFL_END_TEST
 
-void elm_test_config(TCase *tc)
+void efl_ui_test_config(TCase *tc)
 {
-   tcase_add_test(tc, elm_config_eoapi);
-   tcase_add_test(tc, elm_config_win);
-   tcase_add_test(tc, elm_config_profiles);
+   tcase_add_test(tc, efl_config_eoapi);
+   tcase_add_test(tc, efl_config_win);
+   tcase_add_test(tc, efl_config_profiles);
 }
diff --git a/src/tests/elementary/elm_test_config.c 
b/src/tests/elementary/elm_test_config.c
index c6745c16a8..08cd12ed62 100644
--- a/src/tests/elementary/elm_test_config.c
+++ b/src/tests/elementary/elm_test_config.c
@@ -2,229 +2,26 @@
 # include "elementary_config.h"
 #endif
 
-#define EFL_ACCESS_OBJECT_PROTECTED
-#include 
 #include 
 #include "elm_suite.h"
 
-#include 
-typedef unsigned int uint;
-
-EFL_START_TEST(elm_config_eoapi)
-{
-   Eo *cfg = efl_provider_find(efl_main_loop_get(), EFL_CONFIG_INTERFACE);
-   fail_if(!cfg);
-
-#define CONFIG_CHK(opt, typ, val) do { \
-   typ old = elm_config_ ## opt ## _get(); \
-   fail_if(old != efl_config_ ## typ ## _get(cfg, #opt)); \
-   fail_if(!efl_config_ ## typ ## _set(cfg, #opt, val)); \
-   fail_if(elm_config_ ## opt ## _get() != val); \
-   fail_if(efl_config_ ## typ ## _get(cfg, #opt) != val); \
-   } while (0)
-
-#define CONFIG_CHKB(opt, val) CONFIG_CHK(opt, bool, val)
-#define CONFIG_CHKI(opt, val) CONFIG_CHK(opt, int, val)
-#define CONFIG_CHKD(opt, val) CONFIG_CHK(opt, double, val)
-
-   // note: leaks badly
-#define CONFIG_CHKS(opt, val) do { \
-   const char *old = elm_config_ ## opt ## _get(); \
-   fail_if(!eina_streq(old, efl_config_string_get(cfg, #opt))); \
-   fail_if(!efl_config_string_set(cfg, #opt, val)); \
-   fail_if(!eina_streq(elm_config_ ## opt ## _get(), val)); \
-   fail_if(!eina_streq(efl_config_string_get(cfg, #opt), val)); \
-   } while (0)
-
-#define CONFIG_CHKE(opt, ival, sval) do { \
-   elm_config_ ## opt ## 

[EGIT] [core/enlightenment] master 10/19: e sys l2ping - report errors on fcntl failure

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit e41d5e11bb85da8372970628e6da588b3d210501
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 6 18:55:28 2019 +0100

e sys l2ping - report errors on fcntl failure

fix CID 1403933
---
 src/bin/e_sys_l2ping.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_sys_l2ping.c b/src/bin/e_sys_l2ping.c
index d467424ed..4805f8171 100644
--- a/src/bin/e_sys_l2ping.c
+++ b/src/bin/e_sys_l2ping.c
@@ -49,7 +49,10 @@ e_sys_l2ping(const char *bluetooth_mac, int timeout_ms)
 return -1;
  }
 
-   fcntl(fd, F_SETFL, O_NONBLOCK);
+   if (fcntl(fd, F_SETFL, O_NONBLOCK) != 0)
+ {
+perror("Can't set socket to non-blocking... continue");
+ }
 
// Connect to remote device
memset(, 0, sizeof(addr));

-- 




[EGIT] [core/efl] master 02/02: pyolian: Update after event and binbuf keywords

2019-09-15 Thread Lauro Moura
q66 pushed a commit to branch master.

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

commit 3edffc0c73d4285c9b4d9521b3c882fbc01d1687
Author: Lauro Moura 
Date:   Wed Aug 28 10:21:18 2019 +0200

pyolian: Update after event and binbuf keywords

Reviewers: q66, DaveMDS

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9626
---
 src/scripts/pyolian/eolian.py | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/scripts/pyolian/eolian.py b/src/scripts/pyolian/eolian.py
index 8ec4716a67..22e84e556f 100644
--- a/src/scripts/pyolian/eolian.py
+++ b/src/scripts/pyolian/eolian.py
@@ -131,14 +131,16 @@ class Eolian_Type_Builtin_Type(IntEnum):
 
 ANY_VALUE = 40
 ANY_VALUE_PTR = 41
+BINBUF = 42
+EVENT = 43
 
-MSTRING = 42
-STRING = 43
-STRINGSHARE = 44
-STRBUF = 45
+MSTRING = 44
+STRING = 45
+STRINGSHARE = 46
+STRBUF = 47
 
-VOID_PTR = 46
-FREE_CB = 47
+VOID_PTR = 48
+FREE_CB = 49
 
 class Eolian_C_Type_Type(IntEnum):
 DEFAULT = 0

-- 




[EGIT] [core/efl] master 03/08: elm_test: add option for running all tests on startup

2019-09-15 Thread Mike Blumenkrantz
cedric pushed a commit to branch master.

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

commit 7f2ce2f99a345d4b3b667755db1d73f7db213f03
Author: Mike Blumenkrantz 
Date:   Wed Jul 24 16:19:26 2019 -0400

elm_test: add option for running all tests on startup

this is useful for doing quick testing when making invasive changes that
affect a large number of widgets, such as rewriting all sizing calc code

Reviewed-by: Cedric BAIL 
Differential Revision: https://phab.enlightenment.org/D9407
---
 src/bin/elementary/test.c | 4 
 1 file changed, 4 insertions(+)

diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index adae27b52c..f4400695e5 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -409,6 +409,7 @@ static void *tt;
 static Eina_List *tests, *cur_test;;
 static Eina_Bool hide_legacy = EINA_FALSE;
 static Eina_Bool hide_beta = EINA_FALSE;
+static Eina_Bool all_tests = EINA_FALSE;
 
 struct elm_test
 {
@@ -580,6 +581,7 @@ _menu_create(const char *option_str)
   }
 pcat = t->category;
 if (t == tt) tt = cfr;
+if (all_tests) t->cb(NULL, NULL, NULL);
  }
 }
 
@@ -1444,6 +1446,8 @@ efl_main(void *data EINA_UNUSED,
{
   test_win_only = EINA_TRUE;
}
+ else if (eina_streq(arg, "--all") || eina_streq(arg, "-a"))
+   all_tests = EINA_TRUE;
  else if ((i == eina_array_count(arge->argv) - 1) && (arg[0] != 
'-'))
autorun = arg;
 

-- 




[EGIT] [core/enlightenment] master 03/04: every - ensure all structs are zeroed out

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit b88138cacb87a4508aa73c73f834684d171fddce
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Jul 31 11:48:03 2019 +0100

every - ensure all structs are zeroed out

valgrind spotted this, so fix.
---
 src/modules/everything/evry.c   | 2 +-
 src/modules/everything/evry_plug_apps.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c
index 80eecdcdd..b1a516a21 100644
--- a/src/modules/everything/evry.c
+++ b/src/modules/everything/evry.c
@@ -1512,7 +1512,7 @@ _evry_state_new(Evry_Selector *sel, Eina_List *plugins)
 
if (!s) return NULL;
 
-   s->inp = malloc(INPUTLEN);
+   s->inp = calloc(1, INPUTLEN);
s->inp[0] = 0;
s->input = s->inp;
s->plugins = plugins;
diff --git a/src/modules/everything/evry_plug_apps.c 
b/src/modules/everything/evry_plug_apps.c
index 0ab6dc2b3..3130a034c 100644
--- a/src/modules/everything/evry_plug_apps.c
+++ b/src/modules/everything/evry_plug_apps.c
@@ -1548,7 +1548,7 @@ _scan_idler(void *data EINA_UNUSED)
 
  EINA_LIST_FREE(exe_files, s)
{
-  ee = malloc(sizeof(E_Exe));
+  ee = calloc(1, sizeof(E_Exe));
   if (!ee) continue ;
 
   ee->path = s;

-- 




[EGIT] [core/efl] master 11/14: eina file - don't double unlock a lock

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 807c8e735761a950774fe70611778bcd97b655e3
Author: Carsten Haitzler (Rasterman) 
Date:   Sat Aug 10 23:27:24 2019 +0100

eina file - don't double unlock a lock

thanks to coverity - found this double unlock path in case of error.

fix CID 1403899
---
 src/lib/eina/eina_file.c | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/lib/eina/eina_file.c b/src/lib/eina/eina_file.c
index e334beaf21..f4d0e7221c 100644
--- a/src/lib/eina/eina_file.c
+++ b/src/lib/eina/eina_file.c
@@ -846,10 +846,7 @@ eina_file_open(const char *path, Eina_Bool shared)
  {
 n = malloc(sizeof(Eina_File));
 if (!n)
- {
- eina_lock_release(&_eina_file_lock_cache);
- goto on_error;
- }
+  goto on_error;
 
 memset(n, 0, sizeof(Eina_File));
 n->filename = filename;

-- 




[EGIT] [core/efl] master 01/02: tests/ecore_wl2: Add test for ecore_wl2_input_keymap_get

2019-09-15 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 2c4b26ef4eb1afef114d461361e6ef767286e70e
Author: Christopher Michael 
Date:   Thu Aug 1 08:59:26 2019 -0400

tests/ecore_wl2: Add test for ecore_wl2_input_keymap_get

ref T8016
---
 src/tests/ecore_wl2/ecore_wl2_test_input.c | 22 ++
 1 file changed, 22 insertions(+)

diff --git a/src/tests/ecore_wl2/ecore_wl2_test_input.c 
b/src/tests/ecore_wl2/ecore_wl2_test_input.c
index 479b1d385c..fd422e09e5 100644
--- a/src/tests/ecore_wl2/ecore_wl2_test_input.c
+++ b/src/tests/ecore_wl2/ecore_wl2_test_input.c
@@ -88,6 +88,27 @@ EFL_START_TEST(wl2_input_display_get)
 }
 EFL_END_TEST
 
+EFL_START_TEST(wl2_input_keymap_get)
+{
+   Ecore_Wl2_Display *disp;
+   Ecore_Wl2_Input *input;
+   Eina_Iterator *itr;
+
+   disp = _display_connect();
+   ck_assert(disp != NULL);
+
+   itr = ecore_wl2_display_inputs_get(disp);
+   ck_assert(itr != NULL);
+
+   EINA_ITERATOR_FOREACH(itr, input)
+ {
+ck_assert(ecore_wl2_input_keymap_get(input) != NULL);
+ }
+
+   eina_iterator_free(itr);
+}
+EFL_END_TEST
+
 void
 ecore_wl2_test_input(TCase *tc)
 {
@@ -96,5 +117,6 @@ ecore_wl2_test_input(TCase *tc)
 tcase_add_test(tc, wl2_input_seat_get);
 tcase_add_test(tc, wl2_input_seat_id_get);
 tcase_add_test(tc, wl2_input_display_get);
+tcase_add_test(tc, wl2_input_keymap_get);
  }
 }

-- 




[EGIT] [core/efl] master 01/01: elm/config: avoid unnecessary elm cache flush

2019-09-15 Thread subhransu mohanty
zmike pushed a commit to branch master.

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

commit 10b2f65e606594616abc1acf2dd9db1277ed145c
Author: subhransu mohanty 
Date:   Thu Aug 22 08:14:13 2019 -0400

elm/config: avoid unnecessary elm cache flush

Summary:
in config_apply() we load the deafult theme and then
elm_recache() just throws it away.

so just move it before config_apply for time being.
We need to revisit to check if we really need that elm_recache() in that
function or not.

Reviewers: Hermet, raster, cedric, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

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

diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index 5344f6681a..5624f0b125 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -2033,6 +2033,7 @@ _config_flush_get(void)
_elm_config->is_mirrored = is_mirrored;
_elm_config->translate = translate;
 
+   _elm_recache();
_config_apply();
_config_sub_apply();
evas_font_reinit();
@@ -2040,7 +2041,6 @@ _config_flush_get(void)
_elm_config_color_overlay_apply();
if (pre_scale != _elm_config->scale)
  _elm_rescale();
-   _elm_recache();
_elm_old_clouseau_reload();
_elm_config_key_binding_hash();
_elm_win_access(_elm_config->access_mode);
@@ -4218,10 +4218,10 @@ _elm_config_init(void)
ELM_SAFE_FREE(_elm_accel_preference, eina_stringshare_del);
ELM_SAFE_FREE(_elm_gl_preference, eina_stringshare_del);
_translation_init();
+   _elm_recache();
_config_apply();
_elm_config_font_overlay_apply();
_elm_config_color_overlay_apply();
-   _elm_recache();
_elm_old_clouseau_reload();
_elm_config_key_binding_hash();
 }
@@ -4402,6 +4402,7 @@ _elm_config_reload(void)
_elm_config->is_mirrored = is_mirrored;
_elm_config->translate = translate;
 
+   _elm_recache();
_config_apply();
_elm_config_font_overlay_apply();
_elm_config_color_overlay_apply();
@@ -4426,7 +4427,6 @@ _elm_config_reload(void)
   )
  _elm_rescale();
 #undef CMP
-   _elm_recache();
_elm_old_clouseau_reload();
_elm_config_key_binding_hash();
ecore_event_add(ELM_EVENT_CONFIG_ALL_CHANGED, NULL, NULL, NULL);
@@ -4703,11 +4703,11 @@ _elm_config_profile_set(const char *profile)
_elm_config->is_mirrored = is_mirrored;
_elm_config->translate = translate;
 
+   _elm_recache();
_config_apply();
_elm_config_font_overlay_apply();
_elm_config_color_overlay_apply();
_elm_rescale();
-   _elm_recache();
_elm_old_clouseau_reload();
_elm_config_key_binding_hash();
 }

-- 




[EGIT] [core/enlightenment] master 13/19: wl drag start - check source ptr consistently

2019-09-15 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit c9356a3f8c7bbf674cb25f721d2082586b56077a
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Aug 6 19:11:24 2019 +0100

wl drag start - check source ptr consistently

fix CID 1403926
---
 src/bin/e_comp_wl_data.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/bin/e_comp_wl_data.c b/src/bin/e_comp_wl_data.c
index bb430a81e..370d92a88 100644
--- a/src/bin/e_comp_wl_data.c
+++ b/src/bin/e_comp_wl_data.c
@@ -488,10 +488,11 @@ _e_comp_wl_data_device_selection_set(void *data 
EINA_UNUSED, E_Comp_Wl_Data_Sour
sel_source = (E_Comp_Wl_Data_Source *)e_comp_wl->selection.data_source;
if (sel_source && (e_comp_wl->selection.serial - serial < UINT32_MAX / 2))
  {
-if (!serial)
+if ((source) && (!serial))
   {
  /* drm canvas will always have serial 0 */
  pid_t pid;
+
  
wl_client_get_credentials(wl_resource_get_client(source->resource), , NULL, 
NULL);
  if (pid != getpid()) return;
   }
@@ -509,7 +510,8 @@ _e_comp_wl_data_device_selection_set(void *data 
EINA_UNUSED, E_Comp_Wl_Data_Sour
 
e_comp_wl->selection.data_source = sel_source = source;
e_comp_wl->clipboard.xwl_owner = 0;
-   source->serial = e_comp_wl->selection.serial = serial;
+   e_comp_wl->selection.serial = serial;
+   if (source) source->serial = serial;
 
if (e_comp_wl->kbd.enabled)
  focus = e_comp_wl->kbd.focus;

-- 




  1   2   3   4   5   6   7   8   9   >