[EGIT] [core/efl] master 04/04: efl.ui.slider: rename data members related to interval apis

2017-06-14 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 73651cef71abe47792def4794607505ab7f01adb
Author: Amitesh Singh 
Date:   Thu Jun 15 13:52:54 2017 +0900

efl.ui.slider: rename data members related to interval apis

no change in functionality. It improves the code readbility.

ref T5361
---
 src/lib/elementary/efl_ui_slider.c | 58 +++---
 src/lib/elementary/efl_ui_slider_private.h |  4 +--
 2 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/src/lib/elementary/efl_ui_slider.c 
b/src/lib/elementary/efl_ui_slider.c
index 39bf900639..427e9cb2e0 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -146,7 +146,7 @@ _val_fetch(Evas_Object *obj, Eina_Bool user_event)
if (fabs(val - sd->val) > DBL_EPSILON)
  {
 sd->val = val;
-sd->range_from = val;
+sd->intvl_from = val;
 if (user_event)
   {
  efl_event_callback_legacy_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, 
NULL);
@@ -154,9 +154,9 @@ _val_fetch(Evas_Object *obj, Eina_Bool user_event)
  sd->delay = ecore_timer_add(SLIDER_DELAY_CHANGED_INTERVAL, 
_delay_change, obj);
   }
  }
-   if (fabs(val2 - sd->range_to) > DBL_EPSILON)
+   if (fabs(val2 - sd->intvl_to) > DBL_EPSILON)
  {
-sd->range_to = val2;
+sd->intvl_to = val2;
 if (user_event)
   {
  efl_event_callback_legacy_call(obj, EFL_UI_SLIDER_EVENT_CHANGED, 
NULL);
@@ -177,7 +177,7 @@ _val_set(Evas_Object *obj)
if (sd->val_max > sd->val_min)
  {
 pos = (sd->val - sd->val_min) / (sd->val_max - sd->val_min);
-pos2 = (sd->range_to - sd->val_min) / (sd->val_max - sd->val_min);
+pos2 = (sd->intvl_to - sd->val_min) / (sd->val_max - sd->val_min);
  }
else
  {
@@ -205,7 +205,7 @@ _val_set(Evas_Object *obj)
edje_object_part_drag_value_set
  (wd->resize_obj, "elm.dragable.slider", pos, pos);
 
-   if (sd->range_enable)
+   if (sd->intvl_enable)
  edje_object_part_drag_value_set
 (wd->resize_obj, "elm.dragable2.slider", pos2, pos2);
 
@@ -248,7 +248,7 @@ _units_set(Evas_Object *obj)
  {
 char buf[1024];
 
-if (!sd->range_enable)
+if (!sd->intvl_enable)
   snprintf(buf, sizeof(buf), sd->units, sd->val);
 else
   {
@@ -293,7 +293,7 @@ _indicator_set(Evas_Object *obj)
 if (sd->popup2)
   {
  if (sd->indicator_format_free) sd->indicator_format_free(buf);
- buf = sd->indicator_format_func(sd->range_to);
+ buf = sd->indicator_format_func(sd->intvl_to);
  elm_layout_text_set(obj, "elm.dragable2.slider:elm.indicator", 
buf);
  edje_object_part_text_set(sd->popup2, "elm.indicator", buf);
   }
@@ -312,7 +312,7 @@ _indicator_set(Evas_Object *obj)
 if (sd->popup2)
   {
  memset(buf, 0, 1024);
- snprintf(buf, sizeof(buf), sd->indicator, sd->range_to);
+ snprintf(buf, sizeof(buf), sd->indicator, sd->intvl_to);
  elm_layout_text_set(obj, "elm.dragable2.slider:elm.indicator", 
buf);
  edje_object_part_text_set(sd->popup2, "elm.indicator", buf);
   }
@@ -748,7 +748,7 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
 
if (_is_horizontal(sd->orientation))
  {
-if (!sd->range_enable)
+if (!sd->intvl_enable)
   eina_stringshare_replace(>group, "horizontal");
 else
   eina_stringshare_replace(>group, "range/horizontal");
@@ -763,7 +763,7 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
  }
else
  {
-if (!sd->range_enable)
+if (!sd->intvl_enable)
   eina_stringshare_replace(>group, "vertical");
 else
   eina_stringshare_replace(>group, "range/vertical");
@@ -785,16 +785,16 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data *sd)
  {
 edje_object_scale_set(sd->popup, efl_ui_scale_get(obj) *
   elm_config_scale_get());
-if (sd->range_enable && sd->popup2)
+if (sd->intvl_enable && sd->popup2)
   edje_object_scale_set(sd->popup2, efl_ui_scale_get(obj) *
 elm_config_scale_get());
-else if (sd->range_enable && !sd->popup2)
+else if (sd->intvl_enable && !sd->popup2)
   _popup_add(sd, obj, >popup2, >track2, EINA_TRUE);
  }
else
  {
 _popup_add(sd, obj, >popup, >track, EINA_FALSE);
-if (sd->range_enable && !sd->popup2)
+if (sd->intvl_enable && !sd->popup2)
   _popup_add(sd, obj, >popup2, >track2, EINA_TRUE);
  }
 
@@ -807,7 +807,7 @@ _efl_ui_slider_elm_widget_theme_apply(Eo *obj, 
Efl_Ui_Slider_Data 

[EGIT] [core/efl] master 03/04: intf: range: rename unit_format to range_unit_format

2017-06-14 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit a7b49f212944988ba7b3aaefd490a534594820fb
Author: Amitesh Singh 
Date:   Thu Jun 15 13:29:51 2017 +0900

intf: range: rename unit_format to range_unit_format

ref T5361
---
 src/lib/efl/interfaces/efl_ui_range.eo   | 2 +-
 src/lib/elementary/efl_ui_progressbar.c  | 4 ++--
 src/lib/elementary/efl_ui_progressbar.eo | 2 +-
 src/lib/elementary/efl_ui_slider.c   | 4 ++--
 src/lib/elementary/efl_ui_slider.eo  | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_ui_range.eo 
b/src/lib/efl/interfaces/efl_ui_range.eo
index 42731aca2e..e147b843f3 100644
--- a/src/lib/efl/interfaces/efl_ui_range.eo
+++ b/src/lib/efl/interfaces/efl_ui_range.eo
@@ -67,7 +67,7 @@ interface Efl.Ui.Range
 max: double; [[The maximum value.]]
  }
   }
-  @property unit_format {
+  @property range_unit_format {
  [[Control the format string for a given range widget's units label
 
If $NULL is passed on $format, it will make $obj's units
diff --git a/src/lib/elementary/efl_ui_progressbar.c 
b/src/lib/elementary/efl_ui_progressbar.c
index 85d1dd51d2..dac11a5346 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -487,7 +487,7 @@ _efl_ui_progressbar_efl_ui_range_range_value_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Pro
 }
 
 EOLIAN static void
-_efl_ui_progressbar_efl_ui_range_unit_format_set(Eo *obj, 
Efl_Ui_Progressbar_Data *sd, const char *units)
+_efl_ui_progressbar_efl_ui_range_range_unit_format_set(Eo *obj, 
Efl_Ui_Progressbar_Data *sd, const char *units)
 {
const char *sig;
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
@@ -502,7 +502,7 @@ _efl_ui_progressbar_efl_ui_range_unit_format_set(Eo *obj, 
Efl_Ui_Progressbar_Dat
 }
 
 EOLIAN static const char *
-_efl_ui_progressbar_efl_ui_range_unit_format_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Progressbar_Data *sd)
+_efl_ui_progressbar_efl_ui_range_range_unit_format_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Progressbar_Data *sd)
 {
return sd->units;
 }
diff --git a/src/lib/elementary/efl_ui_progressbar.eo 
b/src/lib/elementary/efl_ui_progressbar.eo
index 9086e6e82a..e2e1127285 100644
--- a/src/lib/elementary/efl_ui_progressbar.eo
+++ b/src/lib/elementary/efl_ui_progressbar.eo
@@ -59,7 +59,7 @@ class Efl.Ui.Progressbar (Elm.Layout, Efl.Ui.Range,
   Elm.Layout.sizing_eval;
   Efl.Ui.Range.span_size { get; set; }
   Efl.Ui.Range.range_value { get; set; }
-  Efl.Ui.Range.unit_format { get; set; }
+  Efl.Ui.Range.range_unit_format { get; set; }
   Efl.Orientation.orientation { get; set; }
   Efl.Part.part;
}
diff --git a/src/lib/elementary/efl_ui_slider.c 
b/src/lib/elementary/efl_ui_slider.c
index 6fe851a20e..39bf900639 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -1427,7 +1427,7 @@ _efl_ui_slider_efl_ui_range_span_size_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Slider_Dat
 }
 
 EOLIAN static void
-_efl_ui_slider_efl_ui_range_unit_format_set(Eo *obj, Efl_Ui_Slider_Data *sd, 
const char *units)
+_efl_ui_slider_efl_ui_range_range_unit_format_set(Eo *obj, Efl_Ui_Slider_Data 
*sd, const char *units)
 {
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
 
@@ -1454,7 +1454,7 @@ _efl_ui_slider_efl_ui_range_unit_format_set(Eo *obj, 
Efl_Ui_Slider_Data *sd, con
 }
 
 EOLIAN static const char *
-_efl_ui_slider_efl_ui_range_unit_format_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Slider_Data *sd)
+_efl_ui_slider_efl_ui_range_range_unit_format_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Slider_Data *sd)
 {
return sd->units;
 }
diff --git a/src/lib/elementary/efl_ui_slider.eo 
b/src/lib/elementary/efl_ui_slider.eo
index 4d9154f45f..2afea2e7c6 100644
--- a/src/lib/elementary/efl_ui_slider.eo
+++ b/src/lib/elementary/efl_ui_slider.eo
@@ -127,7 +127,7 @@ class Efl.Ui.Slider (Elm.Layout, Efl.Ui.Range,
   Elm.Layout.sizing_eval;
   Efl.Ui.Range.span_size { get; set; }
   Efl.Ui.Range.range_value { get; set; }
-  Efl.Ui.Range.unit_format { get; set; }
+  Efl.Ui.Range.range_unit_format { get; set; }
   Efl.Ui.Range.range_min_max {get; set; }
   Efl.Ui.Range.range_interval_enabled { get; set; }
   Efl.Ui.Range.range_interval { get; set; }

-- 




[EGIT] [core/efl] master 01/04: intf: rename progress to range

2017-06-14 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 0911375d5106161b54226299cc0e64980b3f3bd0
Author: Amitesh Singh 
Date:   Thu Jun 15 10:31:25 2017 +0900

intf: rename progress to range

This is more appropriate name especially on slider widget.

ref T5361
---
 src/Makefile_Efl.am|  2 +-
 src/bin/elementary/test_external.c |  4 +--
 src/lib/efl/CMakeLists.txt |  2 +-
 src/lib/efl/Efl.h  |  2 +-
 src/lib/efl/interfaces/efl_interfaces_main.c   |  2 +-
 .../{efl_ui_progress.eo => efl_ui_range.eo}| 32 ++--
 src/lib/elementary/efl_ui_progressbar.c| 34 +++---
 src/lib/elementary/efl_ui_progressbar.eo   |  8 ++---
 .../elementary/efl_ui_progressbar_internal_part.eo |  4 +--
 src/lib/elementary/efl_ui_slider.c | 32 ++--
 src/lib/elementary/efl_ui_slider.eo| 10 +++
 11 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am
index b584ca3892..d615e27595 100644
--- a/src/Makefile_Efl.am
+++ b/src/Makefile_Efl.am
@@ -49,7 +49,7 @@ efl_eolian_files = \
   lib/efl/interfaces/efl_ui_base.eo \
   lib/efl/interfaces/efl_ui_drag.eo \
   lib/efl/interfaces/efl_ui_spin.eo \
-  lib/efl/interfaces/efl_ui_progress.eo \
+  lib/efl/interfaces/efl_ui_range.eo \
   lib/efl/interfaces/efl_ui_view.eo \
   lib/efl/interfaces/efl_ui_model_connect.eo \
   lib/efl/interfaces/efl_ui_factory.eo \
diff --git a/src/bin/elementary/test_external.c 
b/src/bin/elementary/test_external.c
index c8a41c2592..2bb55a0bae 100644
--- a/src/bin/elementary/test_external.c
+++ b/src/bin/elementary/test_external.c
@@ -101,7 +101,7 @@ _timer_cb(void *data)
edje_object_part_external_param_set(edje, "ext_pbar7", );
 
/* Test EO API for direct function calls */
-   efl_ui_progress_value_set(efl_part(edje, "ext_pbar3"), progress);
+   efl_ui_range_value_set(efl_part(edje, "ext_pbar3"), progress);
 
if (progress < 1.0)
  return ECORE_CALLBACK_RENEW;
@@ -176,7 +176,7 @@ _bt_clicked(void *data, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUS
edje_object_part_external_param_set(edje, "ext_pbar7", );
 
/* Test EO API for direct function calls */
-   efl_ui_progress_value_set(efl_part(edje, "ext_pbar3"), 0.0);
+   efl_ui_range_value_set(efl_part(edje, "ext_pbar3"), 0.0);
 
t = ecore_timer_add(0.1, _timer_cb, edje);
efl_key_data_set(edje, "timer", t);
diff --git a/src/lib/efl/CMakeLists.txt b/src/lib/efl/CMakeLists.txt
index b0391072dd..1b0500a00a 100644
--- a/src/lib/efl/CMakeLists.txt
+++ b/src/lib/efl/CMakeLists.txt
@@ -52,7 +52,7 @@ set(PUBLIC_EO_FILES
   interfaces/efl_types.eot
   interfaces/efl_ui_item.eo
   interfaces/efl_ui_menu.eo
-  interfaces/efl_ui_progress.eo
+  interfaces/efl_ui_range.eo
   interfaces/efl_ui_spin.eo
   interfaces/efl_ui_autorepeat.eo
   interfaces/efl_vpath.eo
diff --git a/src/lib/efl/Efl.h b/src/lib/efl/Efl.h
index 840f6eae89..4e7fbd6810 100644
--- a/src/lib/efl/Efl.h
+++ b/src/lib/efl/Efl.h
@@ -86,7 +86,7 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
 #include "interfaces/efl_ui_base.eo.h"
 #include "interfaces/efl_ui_drag.eo.h"
 #include "interfaces/efl_ui_spin.eo.h"
-#include "interfaces/efl_ui_progress.eo.h"
+#include "interfaces/efl_ui_range.eo.h"
 #include "interfaces/efl_ui_item.eo.h"
 #include "interfaces/efl_ui_menu.eo.h"
 #include "interfaces/efl_ui_autorepeat.eo.h"
diff --git a/src/lib/efl/interfaces/efl_interfaces_main.c 
b/src/lib/efl/interfaces/efl_interfaces_main.c
index 9ea0cd2dd5..202be589c7 100644
--- a/src/lib/efl/interfaces/efl_interfaces_main.c
+++ b/src/lib/efl/interfaces/efl_interfaces_main.c
@@ -53,7 +53,7 @@
 #include "interfaces/efl_ui_base.eo.c"
 #include "interfaces/efl_ui_drag.eo.c"
 #include "interfaces/efl_ui_spin.eo.c"
-#include "interfaces/efl_ui_progress.eo.c"
+#include "interfaces/efl_ui_range.eo.c"
 #include "interfaces/efl_ui_menu.eo.c"
 #include "interfaces/efl_ui_autorepeat.eo.c"
 #include "interfaces/efl_ui_item.eo.c"
diff --git a/src/lib/efl/interfaces/efl_ui_progress.eo 
b/src/lib/efl/interfaces/efl_ui_range.eo
similarity index 73%
rename from src/lib/efl/interfaces/efl_ui_progress.eo
rename to src/lib/efl/interfaces/efl_ui_range.eo
index 9f12301831..b9eb9d5113 100644
--- a/src/lib/efl/interfaces/efl_ui_progress.eo
+++ b/src/lib/efl/interfaces/efl_ui_range.eo
@@ -1,12 +1,12 @@
-interface Efl.Ui.Progress
+interface Efl.Ui.Range
 {
[[Efl UI progress interface]]
methods {
   @property span_size {
- [[Control the (exact) length of the bar region of a given progress 
widget
+ [[Control the (exact) length of the bar region of a given range widget
 
This sets the minimum width (when 

[EGIT] [core/efl] master 02/04: slider: remove range APIs

2017-06-14 Thread Amitesh Singh
ami pushed a commit to branch master.

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

commit 4e79dd0f02811a013b461d4839f14a48ee9b1c2f
Author: Amitesh Singh 
Date:   Thu Jun 15 12:00:45 2017 +0900

slider: remove range APIs

move this api into range intf and rename it
to interval

ref T5361
---
 src/bin/elementary/test_slider.c   | 36 +-
 src/lib/efl/interfaces/efl_ui_range.eo | 19 ++
 src/lib/elementary/efl_ui_slider.c | 10 +-
 src/lib/elementary/efl_ui_slider.eo| 21 ++--
 4 files changed, 44 insertions(+), 42 deletions(-)

diff --git a/src/bin/elementary/test_slider.c b/src/bin/elementary/test_slider.c
index 9956a9be78..17c028932a 100644
--- a/src/bin/elementary/test_slider.c
+++ b/src/bin/elementary/test_slider.c
@@ -63,7 +63,7 @@ _change_range_print_cb(void *data EINA_UNUSED, Evas_Object 
*obj, void *event_inf
 {
double from, to;
 
-   elm_slider_range_get(obj, , );
+   efl_ui_range_interval_get(obj, , );
 
printf("range values:- from: %f, to: %f\n", from, to);
 }
@@ -332,8 +332,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
elm_object_disabled_set(sl, EINA_TRUE);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
-   elm_slider_range_set(sl, 20, 100);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_set(sl, 20, 100);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -345,8 +345,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_unit_format_set(sl, "%1.5f units");
elm_slider_indicator_format_set(sl, "%1.5f");
elm_slider_span_size_set(sl, 160);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
-   elm_slider_range_set(sl, 0.4, 0.9);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_set(sl, 0.4, 0.9);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -360,7 +360,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_step_set(sl, step);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -375,7 +375,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_indicator_show_on_focus_set(sl, EINA_TRUE);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -393,7 +393,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_span_size_set(sl, 120);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, 0.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -412,7 +412,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_inverted_set(sl, EINA_TRUE);
evas_object_size_hint_align_set(sl, 0.5, 0.5);
evas_object_size_hint_weight_set(sl, 0.0, 0.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -431,7 +431,7 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_object_disabled_set(sl, EINA_TRUE);
evas_object_size_hint_align_set(sl, 0.5, 0.5);
evas_object_size_hint_weight_set(sl, 0.0, 0.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
elm_slider_inverted_set(sl, EINA_TRUE);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
@@ -446,8 +446,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
elm_slider_indicator_format_set(sl, "%3.0f");
elm_slider_min_max_set(sl, 50, 150);
elm_object_scale_set(sl, 2.0);
-   elm_slider_range_enabled_set(sl, EINA_TRUE);
-   elm_slider_range_set(sl, 100, 145);
+   efl_ui_range_interval_enabled_set(sl, EINA_TRUE);
+   efl_ui_range_interval_set(sl, 100, 145);
elm_box_pack_end(bx3, sl);
evas_object_show(sl);
 
@@ -460,8 +460,8 @@ test_slider(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
evas_object_show(bx4);
 
sl = elm_slider_add(bx4);
-   

[EGIT] [core/efl] master 01/01: examples: fix ecore_exe_child example to work properly on Windows

2017-06-14 Thread Andrii Kroitor
raster pushed a commit to branch master.

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

commit c099ede159a55198949c50606eac1b7b9609476f
Author: Andrii Kroitor 
Date:   Thu Jun 15 12:17:39 2017 +0900

examples: fix ecore_exe_child example to work properly on Windows

Summary: ecore_main_fd_handler_add is not working on Windows

Reviewers: vtorri, raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4470
---
 src/examples/ecore/ecore_exe_example_child.c | 20 +++-
 1 file changed, 19 insertions(+), 1 deletion(-)

diff --git a/src/examples/ecore/ecore_exe_example_child.c 
b/src/examples/ecore/ecore_exe_example_child.c
index c22a7e5034..b59ff815ee 100644
--- a/src/examples/ecore/ecore_exe_example_child.c
+++ b/src/examples/ecore/ecore_exe_example_child.c
@@ -8,8 +8,14 @@
 
 #define BUFFER_SIZE 1024
 
+#ifdef _WIN32
+#define HANDLER_TYPE Ecore_Win32_Handler
+#else
+#define HANDLER_TYPE Ecore_Fd_Handler
+#endif
+
 static Eina_Bool
-_fd_handler_cb(void *data EINA_UNUSED, Ecore_Fd_Handler *fd_handler 
EINA_UNUSED)
+_fd_handler_cb(void *data EINA_UNUSED, HANDLER_TYPE *fd_handler EINA_UNUSED)
 {
static int numberOfMessages = 0;
char message[BUFFER_SIZE];
@@ -40,10 +46,22 @@ main(void)
if (!ecore_init())
  goto error;
 
+#ifdef _WIN32
+   /* note that stdin fd's on windows don't work the same
+* as on unixes. this uses stdin just as a quick
+* example that's simple instead of a more complex
+* one, so this won't actually work on windows unless
+* you use a fd that comes from somewhere that is
+* select()able. */
+   ecore_main_win32_handler_add(GetStdHandle(STD_INPUT_HANDLE),
+_fd_handler_cb,
+NULL);
+#else
ecore_main_fd_handler_add(STDIN_FILENO,
  ECORE_FD_READ,
  _fd_handler_cb,
  NULL, NULL, NULL);
+#endif
ecore_main_loop_begin();
 
ecore_shutdown();

-- 




[EGIT] [core/efl] master 02/04: evas: Disable calls to evas_device_class_set

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4eb13031eef17f3359fa27eed3dd3c27ca439f95
Author: Jean-Philippe Andre 
Date:   Thu Jun 15 09:56:59 2017 +0900

evas: Disable calls to evas_device_class_set

After finalize, the type of an input device can not be changed.
So, deprecate the function and prevent anything from happening
unless we're inside efl_add().

Ref T5515
---
 src/lib/evas/Evas_Common.h| 4 +++-
 src/lib/evas/canvas/evas_device.c | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/Evas_Common.h b/src/lib/evas/Evas_Common.h
index 789e3f3242..80e36587e5 100644
--- a/src/lib/evas/Evas_Common.h
+++ b/src/lib/evas/Evas_Common.h
@@ -1153,9 +1153,11 @@ EAPI const Evas_Device *evas_device_parent_get(const 
Evas_Device *dev);
  * This sets the "primary" class of device (a broad thing like mouse, keyboard,
  * touch, pen etc.).
  *
+ * @deprecated The class of a device can not be changed after creation.
+ *
  * @since 1.8
  */
-EAPI void evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas);
+EAPI void evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas) 
EINA_DEPRECATED;
 
 /**
  * Get the major class of a device
diff --git a/src/lib/evas/canvas/evas_device.c 
b/src/lib/evas/canvas/evas_device.c
index 783497ad98..87f4f47a03 100644
--- a/src/lib/evas/canvas/evas_device.c
+++ b/src/lib/evas/canvas/evas_device.c
@@ -350,6 +350,7 @@ EAPI void
 evas_device_class_set(Evas_Device *dev, Evas_Device_Class clas)
 {
SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(dev));
 
Efl_Input_Device_Data *d = efl_data_scope_get(dev, EFL_INPUT_DEVICE_CLASS);
Evas_Public_Data *edata = efl_data_scope_get(d->evas, EVAS_CANVAS_CLASS);

-- 




[EGIT] [core/efl] master 01/04: widget: Make cursor_add/del internal

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit ece8980e52cc5a8a0445d80aaf6a7a88ab1b
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 20:17:29 2017 +0900

widget: Make cursor_add/del internal

This API is meant to be used internally to elm, not from outside.
The public API only exposes part_cursor_set on layout, and a series
of cursor EAPIs.
---
 src/lib/elementary/elm_widget.c  | 14 ++
 src/lib/elementary/elm_widget.eo | 13 -
 src/lib/elementary/elm_widget.h  |  3 +++
 3 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index f0a932469d..b3b88d23c7 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -4030,15 +4030,21 @@ _elm_widget_tooltip_del(Eo *obj EINA_UNUSED, 
Elm_Widget_Smart_Data *sd, Elm_Tool
sd->tooltips = eina_list_remove(sd->tooltips, tt);
 }
 
-EOLIAN static void
-_elm_widget_cursor_add(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, 
Elm_Cursor *cur)
+EAPI void
+elm_widget_cursor_add(Eo *obj, Elm_Cursor *cur)
 {
+   Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
+
sd->cursors = eina_list_append(sd->cursors, cur);
 }
 
-EOLIAN static void
-_elm_widget_cursor_del(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd, 
Elm_Cursor *cur)
+EAPI void
+elm_widget_cursor_del(Eo *obj, Elm_Cursor *cur)
 {
+   Elm_Widget_Smart_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
+
sd->cursors = eina_list_remove(sd->cursors, cur);
 }
 
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index 1b0674f4dd..c1348c35bc 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -27,7 +27,6 @@ enum Elm.Theme.Apply
 }
 
 struct Elm.Tooltip; [[Elementary tooltip]]
-struct Elm.Cursor; [[Elementary cursor]]
 struct @extern Elm.Theme; [[Elementary theme]]
 
 abstract Elm.Widget (Efl.Canvas.Group, Elm.Interface.Atspi_Accessible,
@@ -401,12 +400,6 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
   scroll_hold_push {
  [[Push scroll hold]]
   }
-  cursor_add {
-[[Add cursor]]
- params {
-@in cur: ptr(Elm.Cursor); [[Cursor to be added]]
- }
-  }
   focus_next_object_set {
  [[Set the next object with specific focus direction.
 
@@ -512,12 +505,6 @@ abstract Elm.Widget (Efl.Canvas.Group, 
Elm.Interface.Atspi_Accessible,
  }
  legacy: null;
   }
-  cursor_del {
-[[Delete cursor]]
- params {
-@in cur: ptr(Elm.Cursor); [[Cursor to be deleted]]
- }
-  }
   on_focus {
  [['Virtual' function handling focus in/out events on the widget]]
  params {
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index b4c38e1371..953718508d 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -487,6 +487,9 @@ typedef struct _Elm_Access_Item Elm_Access_Item;
 
 typedef struct _Elm_Action Elm_Action;
 
+/** Internal type for mouse cursors */
+typedef struct _Elm_Cursor Elm_Cursor;
+
 #define ELM_ACCESS_DONE  -1   /* sentence done - send done event here 
*/
 #define ELM_ACCESS_CANCEL-2   /* stop reading immediately */
 

-- 




[EGIT] [core/efl] master 04/04: elm: Fix make check (change in atspi role of MBE)

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit fdc70f138fa6efad673d75effcfd41f2e909b405
Author: Jean-Philippe Andre 
Date:   Thu Jun 15 10:16:53 2017 +0900

elm: Fix make check (change in atspi role of MBE)

See da5ba14664b71f19afc3359f36ff11442012d19a
Ref D4925
---
 src/tests/elementary/elm_test_multibuttonentry.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/elementary/elm_test_multibuttonentry.c 
b/src/tests/elementary/elm_test_multibuttonentry.c
index 9a8a34a26f..f476c25ee7 100644
--- a/src/tests/elementary/elm_test_multibuttonentry.c
+++ b/src/tests/elementary/elm_test_multibuttonentry.c
@@ -18,7 +18,7 @@ START_TEST (elm_atspi_role_get)
multibuttonentry = elm_multibuttonentry_add(win);
role = elm_interface_atspi_accessible_role_get(multibuttonentry);
 
-   ck_assert(role == ELM_ATSPI_ROLE_ENTRY);
+   ck_assert_int_eq(role, ELM_ATSPI_ROLE_PANEL);
 
elm_shutdown();
 }

-- 




[EGIT] [core/efl] master 03/04: ecore_evas: Document the drm and gl drm window constructors

2017-06-14 Thread Bryce Harrington
jpeg pushed a commit to branch master.

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

commit 79e8444c916c472090d91ee63c848ab564f54648
Author: Bryce Harrington 
Date:   Thu Jun 15 10:09:30 2017 +0900

ecore_evas: Document the drm and gl drm window constructors

Reviewers: cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4965
---
 src/lib/ecore_evas/Ecore_Evas.h | 36 
 1 file changed, 36 insertions(+)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index 8481ccc203..3041877d7a 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -1577,7 +1577,43 @@ EAPI Ecore_Wl_Window 
*ecore_evas_wayland_window_get(const Ecore_Evas *ee);
 EAPI Ecore_Wl2_Window *ecore_evas_wayland2_window_get(const Ecore_Evas *ee); 
/** @since 1.17 */
 EAPI Ecore_Cocoa_Window *ecore_evas_cocoa_window_get(const Ecore_Evas *ee); 
/** @since 1.17 */
 
+/**
+ * @brief Create an Ecore_Evas window using the drm engine.
+ *
+ * @param disp_name Name of the Wayland display to connect to.
+ * @param parent (Unused)
+ * @param x Horizontal position of the Ecore_Evas window.
+ * @param y Vertical position of the Ecore_Evas window.
+ * @param w Width of the Ecore_Evas window to be created.
+ * @param h Height of the Ecore_Evas window to be created.
+ * @return Ecore_Evas instance or @c NULL if creation failed.
+ *
+ * Creates an Ecore_Evas window using the Direct Rendering Manager (DRM)
+ * backend.  DRM is a kernel-level module providing direct graphic
+ * hardware access, bypassing the GL stack entirely.
+ *
+ * @see ecore_evas_new()
+ * @see ecore_evas_gl_drm_new()
+ */
 EAPI Ecore_Evas *ecore_evas_drm_new(const char *device, unsigned int 
parent, int x, int y, int w, int h);
+
+/**
+ * @brief Create an Ecore_Evas window using the drm engine with GL support.
+ *
+ * @param disp_name Name of the Wayland display to connect to.
+ * @param parent (Unused)
+ * @param x Horizontal position of the Ecore_Evas window.
+ * @param y Vertical position of the Ecore_Evas window.
+ * @param w Width of the Ecore_Evas window to be created.
+ * @param h Height of the Ecore_Evas window to be created.
+ * @return Ecore_Evas instance or @c NULL if creation failed.
+ *
+ * This creates a drm backend backed Ecore_Evas window, that also includes
+ * gl support using libglapi.
+ *
+ * @see ecore_evas_new()
+ * @see ecore_evas_drm_new()
+ */
 EAPI Ecore_Evas *ecore_evas_gl_drm_new(const char *device, unsigned int 
parent, int x, int y, int w, int h); /** @since 1.12 */
 
 /**

-- 




[EGIT] [core/efl] master 02/03: ecore_evas: document client leader routines

2017-06-14 Thread Bryce Harrington
cedric pushed a commit to branch master.

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

commit 60e0e3d1d596ad98cae9936f0e52f61825354607
Author: Bryce Harrington 
Date:   Wed Jun 14 14:26:26 2017 -0700

ecore_evas: document client leader routines

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL 
---
 src/lib/ecore_evas/Ecore_Evas.h | 28 +++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index e148a421a9..8481ccc203 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -2862,9 +2862,35 @@ EAPI Eina_List   *ecore_evas_ecore_evas_list_get(void);
  */
 EAPI Eina_List   *ecore_evas_sub_ecore_evas_list_get(const Ecore_Evas *ee);
 
-/* specific calls to an x11 environment ecore_evas */
+/**
+ * @brief Set the window's client leader.
+ *
+ * @param ee Ecore_Evas for the window.
+ * @param win The window.
+ *
+ * Sets the client leader X atom property for the given window.  All
+ * non-transient top-level windows created by an app other than the main
+ * window must have this property set to the app's main window.
+ */
 EAPI void   ecore_evas_x11_leader_set(Ecore_Evas *ee, Ecore_X_Window 
win);
+
+/**
+ * @brief Get the client leader.
+ *
+ * @param ee Ecore_Evas for the window.
+ * @return the current client leader.
+ *
+ * @see ecore_evas_x11_leader_set()
+ */
 EAPI Ecore_X_Window ecore_evas_x11_leader_get(Ecore_Evas *ee);
+
+/**
+ * @brief Reset the client leader to default.
+ *
+ * @param ee Ecore_Evas for the window.
+ *
+ * @see ecore_evas_x11_leader_set()
+ */
 EAPI void   ecore_evas_x11_leader_default_set(Ecore_Evas *ee);
 
 /**

-- 




[EGIT] [core/efl] master 03/03: ector: document ector_glsym_set

2017-06-14 Thread Bryce Harrington
cedric pushed a commit to branch master.

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

commit 19b704b70068cf340a148442441514ba16447d83
Author: Bryce Harrington 
Date:   Wed Jun 14 14:27:15 2017 -0700

ector: document ector_glsym_set

Reviewers: cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL 
---
 src/lib/ector/Ector.h | 13 +
 1 file changed, 13 insertions(+)

diff --git a/src/lib/ector/Ector.h b/src/lib/ector/Ector.h
index 2891073fe4..2f479e131e 100644
--- a/src/lib/ector/Ector.h
+++ b/src/lib/ector/Ector.h
@@ -151,6 +151,19 @@ EAPI int ector_init(void);
  */
 EAPI int ector_shutdown(void);
 
+/**
+ * @brief Registers OpenGL API calls with the internal Ector_GL_API.
+ *
+ * @param glsym Function to use for looking up dynamically loaded symbols
+ * @param lib Dynamically loaded shared object, or RTLD_DEFAULT or RTLD_NEXT
+ * @return EINA_TRUE if call succeeded, EINA_FALSE if glsym was undefined or 
an error occurred
+ *
+ * The RTLD_DEFAULT and RTLD_NEXT pseudo-handles can be passed as lib to
+ * look up the first or next occurance of the desired symbol in the dynamic
+ * library search order.
+ *
+ * @see dlsym()
+ */
 EAPI Eina_Bool ector_glsym_set(void *(*glsym)(void *lib, const char *name), 
void *lib);
 
 /* Avoid redefinition of types */

-- 




[EGIT] [core/efl] master 01/03: edje: add efl_version property

2017-06-14 Thread Youngbok Shin
cedric pushed a commit to branch master.

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

commit 638ee888d9a503e40d18689ac534efdedad9c738
Author: Youngbok Shin 
Date:   Wed Jun 14 14:24:04 2017 -0700

edje: add efl_version property

Summary:
efl_version will be used to figure out which version of EFL lib
is used to develop a edje file.
If there is no property of efl_version, it will be 1.19 as default.
This feature is needed to fix T5548.

Example:
  efl_version: 1 20

@feature

Test Plan: N/A

Reviewers: cedric, jpeg, herdsman, zmike, raster

Reviewed By: cedric

Maniphest Tasks: T5548

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

Signed-off-by: Cedric BAIL 
---
 src/bin/edje/edje_cc.c  |  9 +
 src/bin/edje/edje_cc_handlers.c | 25 +
 src/lib/edje/edje_cache.c   |  7 +++
 src/lib/edje/edje_convert.c |  2 ++
 src/lib/edje/edje_data.c|  2 ++
 src/lib/edje/edje_private.h |  5 +
 6 files changed, 50 insertions(+)

diff --git a/src/bin/edje/edje_cc.c b/src/bin/edje/edje_cc.c
index 63a62b117c..9c0ce0187b 100644
--- a/src/bin/edje/edje_cc.c
+++ b/src/bin/edje/edje_cc.c
@@ -398,6 +398,15 @@ main(int argc, char **argv)
* does not load nicely as a NULL or 0 value
* and needs a special fallback initialization
*/
+   /* efl_version is used for specify efl's version
+* which was used for developing a edje file.
+* It is useful if Edje(or other EFL libs) need to keep
+* backward compatibility.
+* efl_version was added just after EFL 1.19.
+* Thus, 1.19 will be default.
+*/
+   edje_file->efl_version.major = 1;
+   edje_file->efl_version.minor = 19;
edje_file->base_scale = FROM_INT(1);
 
source_edd();
diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index 765e0a6da0..8908ec69c8 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -199,6 +199,7 @@ static void _program_free(Edje_Program *pr);
 
 static void check_has_anchors(void);
 
+static void st_efl_version(void);
 static void st_externals_external(void);
 
 static void st_images_image(void);
@@ -695,6 +696,7 @@ static void _handle_vector_image(void);
 
 New_Statement_Handler statement_handlers[] =
 {
+ {"efl_version", st_efl_version},
  {"externals.external", st_externals_external},
  IMAGE_STATEMENTS("")
  FONT_STYLE_CC_STATEMENTS("")
@@ -2141,6 +2143,29 @@ _edje_program_copy(Edje_Program *ep, Edje_Program *ep2)
 
 /** @edcsection{toplevel,Top-Level blocks} */
 
+/** @edcsubsection{toplevel_efl_version,
+ * Efl_version} */
+
+/**
+@page edcref
+
+@property
+efl_version
+@parameters
+[major] [minor]
+@effect
+Used to show which version of EFL is used for developing a edje file.
+@endproperty
+ */
+static void
+st_efl_version(void)
+{
+   check_arg_count(2);
+
+   edje_file->efl_version.major = parse_int(0);
+   edje_file->efl_version.minor = parse_int(1);
+}
+
 /** @edcsubsection{toplevel_externals,
  * Externals} */
 
diff --git a/src/lib/edje/edje_cache.c b/src/lib/edje/edje_cache.c
index c38e9433eb..7607156c32 100644
--- a/src/lib/edje/edje_cache.c
+++ b/src/lib/edje/edje_cache.c
@@ -354,6 +354,13 @@ _edje_file_open(const Eina_File *f, int *error_ret, time_t 
mtime, Eina_Bool coll
 WRN("The base_scale can not be a 0.0. It is changed the default 
value(1.0)");
  }
 
+   /* Set default efl_version if there is no version information */
+   if ((edf->efl_version.major == 0) && (edf->efl_version.minor == 0))
+ {
+edf->efl_version.major = 1;
+edf->efl_version.minor = 19;
+ }
+
edf->path = eina_stringshare_add(eina_file_filename_get(f));
edf->references = 1;
 
diff --git a/src/lib/edje/edje_convert.c b/src/lib/edje/edje_convert.c
index c8f0f1bda1..8a904aa29b 100644
--- a/src/lib/edje/edje_convert.c
+++ b/src/lib/edje/edje_convert.c
@@ -216,6 +216,8 @@ _edje_file_convert(Eet_File *file, Old_Edje_File *oedf)
edf->size_classes = oedf->size_classes;
edf->version = oedf->version;
edf->feature_ver = oedf->feature_ver;
+   edf->efl_version.major = oedf->efl_version.major;
+   edf->efl_version.minor = oedf->efl_version.minor;
edf->compiler = oedf->compiler;
 
edf->dangling = EINA_FALSE;
diff --git a/src/lib/edje/edje_data.c b/src/lib/edje/edje_data.c
index 5e3ffe5bb4..a11fd07df6 100644
--- a/src/lib/edje/edje_data.c
+++ b/src/lib/edje/edje_data.c
@@ -1034,6 +1034,8 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "version", 
version, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_file, Edje_File, "minor", 
minor, 

[E-devel] Project gone missing from gitweb interface

2017-06-14 Thread Kai Huuhko
https://git.enlightenment.org/misc/polkit-efl.git/

no longer listed in

https://git.enlightenment.org/

raster did you find out what's causing them to disappear?

--
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: forgotten unecessary initialization.

2017-06-14 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 8c11685b5e94aed366701c48844124a4ef018d5c
Author: Cedric BAIL 
Date:   Wed Jun 14 14:17:18 2017 -0700

evas: forgotten unecessary initialization.
---
 src/lib/evas/canvas/evas_object_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index 8dbd554182..8aafb0d96c 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -36,7 +36,7 @@ static const Evas_Object_Mask_Data default_mask = {
   NULL, 0, 0, EINA_FALSE, EINA_FALSE, EINA_FALSE, EINA_FALSE
 };
 static const Evas_Object_Events_Data default_events = {
-  NULL, NULL, NULL, { NULL, { 0 } }
+  NULL, NULL, NULL, NULL
 };
 
 Eina_Cow *evas_object_proxy_cow = NULL;

-- 




[EGIT] [tools/edi] master 01/01: popups/focus: add improvment to popup visuals. Also select items in settings panel to improve behaviour.

2017-06-14 Thread Al Poole
ajwillia-ms pushed a commit to branch master.

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

commit d75cbafda2927695545e41b23102ede28cb0d7f5
Author: Al Poole 
Date:   Wed Jun 14 21:00:23 2017 +0100

popups/focus: add improvment to popup visuals. Also select items in 
settings panel to improve behaviour.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4958
---
 src/bin/mainview/edi_mainview.c| 2 ++
 src/bin/screens/edi_file_screens.c | 3 +++
 src/bin/screens/edi_settings.c | 6 ++
 3 files changed, 11 insertions(+)

diff --git a/src/bin/mainview/edi_mainview.c b/src/bin/mainview/edi_mainview.c
index 7fc88c1..12c3f35 100644
--- a/src/bin/mainview/edi_mainview.c
+++ b/src/bin/mainview/edi_mainview.c
@@ -813,6 +813,7 @@ edi_mainview_goto_popup_show()
 
input = elm_entry_add(box);
elm_entry_single_line_set(input, EINA_TRUE);
+   elm_entry_scrollable_set(input, EINA_TRUE);
evas_object_event_callback_add(input, EVAS_CALLBACK_KEY_UP, 
_edi_mainview_goto_popup_key_up_cb, NULL);
evas_object_size_hint_weight_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_align_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -874,6 +875,7 @@ edi_mainview_project_search_popup_show(void)
 
input = elm_entry_add(box);
elm_entry_single_line_set(input, EINA_TRUE);
+   elm_entry_scrollable_set(input, EINA_TRUE);
evas_object_event_callback_add(input, EVAS_CALLBACK_KEY_UP, 
_edi_mainview_goto_popup_key_up_cb, NULL);
evas_object_size_hint_weight_set(input, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
diff --git a/src/bin/screens/edi_file_screens.c 
b/src/bin/screens/edi_file_screens.c
index 609ec12..110b20a 100644
--- a/src/bin/screens/edi_file_screens.c
+++ b/src/bin/screens/edi_file_screens.c
@@ -187,6 +187,7 @@ edi_file_screens_rename(Evas_Object *parent, const char 
*path)
input = elm_entry_add(box);
elm_entry_single_line_set(input, EINA_TRUE);
elm_entry_editable_set(input, EINA_TRUE);
+   elm_entry_scrollable_set(input, EINA_TRUE);
elm_object_text_set(input, leaf);
evas_object_size_hint_weight_set(input, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -227,6 +228,7 @@ edi_file_screens_create_file(Evas_Object *parent, const 
char *directory)
 
input = elm_entry_add(box);
elm_entry_single_line_set(input, EINA_TRUE);
+   elm_entry_scrollable_set(input, EINA_TRUE);
evas_object_size_hint_weight_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_align_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(input);
@@ -266,6 +268,7 @@ edi_file_screens_create_dir(Evas_Object *parent, const char 
*directory)
 
input = elm_entry_add(box);
elm_entry_single_line_set(input, EINA_TRUE);
+   elm_entry_scrollable_set(input, EINA_TRUE);
evas_object_size_hint_weight_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_align_set(input, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(input);
diff --git a/src/bin/screens/edi_settings.c b/src/bin/screens/edi_settings.c
index 584ca1b..95a73f4 100644
--- a/src/bin/screens/edi_settings.c
+++ b/src/bin/screens/edi_settings.c
@@ -172,6 +172,8 @@ _edi_settings_display_create(Evas_Object *parent)
evas_object_smart_callback_add(button, "clicked",
   _edi_settings_font_choose_cb, parent);
 
+   elm_object_focus_set(button, EINA_TRUE);
+
check = elm_check_add(box);
elm_object_text_set(check, "Display whitespace");
elm_check_state_set(check, _edi_project_config->gui.show_whitespace);
@@ -325,6 +327,8 @@ _edi_settings_builds_create(Evas_Object *parent)
elm_box_pack_end(hbox, selector);
evas_object_show(selector);
 
+   elm_object_focus_set(selector, EINA_TRUE);
+
file = elm_label_add(hbox);
elm_object_text_set(file, _edi_project_config->launch.path);
evas_object_size_hint_weight_set(file, 0.75, 0.0);
@@ -561,6 +565,8 @@ _edi_settings_behaviour_create(Evas_Object *parent)
   _edi_settings_behaviour_autosave_cb, NULL);
evas_object_show(check);
 
+   elm_object_focus_set(check, EINA_TRUE);
+
check = elm_check_add(box);
elm_object_text_set(check, "Trim trailing whitespace");
elm_check_state_set(check, _edi_config->trim_whitespace);

-- 




[EGIT] [core/efl] master 02/02: evas: use Eina_List instead of Eina_CList for event grabber.

2017-06-14 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 0516cdc0f9dc0969ac96df6984af2413680cad01
Author: Cedric BAIL 
Date:   Wed Jun 14 12:42:25 2017 -0700

evas: use Eina_List instead of Eina_CList for event grabber.

Eina_Clist can actually change the pointer in the cell next bypassing
the CoW infrastructure leading to trouble. Considering the case here,
using the optimization of Eina_Clist is not necessary and if performance
issue arise, can be fixed by using a dichotomic search when removing
data. I don't think it is necessary to add this complexity without
a real life case.
---
 .../evas/canvas/efl_canvas_object_event_grabber.c  | 150 +
 src/lib/evas/canvas/evas_callbacks.c   |   4 +-
 src/lib/evas/canvas/evas_events.c  |  56 +++-
 src/lib/evas/include/evas_private.h|  13 +-
 4 files changed, 90 insertions(+), 133 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c 
b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
index 30d3f88521..0292de0f9d 100644
--- a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
+++ b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
@@ -10,7 +10,8 @@
 struct _Efl_Object_Event_Grabber_Data
 {
Eo *rect;
-   Eina_Clist contained;
+   Eina_List *contained;
+
Eina_Bool vis : 1;
 };
 
@@ -18,35 +19,25 @@ typedef struct Efl_Object_Event_Grabber_Iterator
 {
Eina_Iterator iterator;
 
-   Eina_Clist *head;
-   Eina_Clist *current;
+   Eina_Iterator *itl;
Eo *parent;
 } Efl_Object_Event_Grabber_Iterator;
 
 
 static Eina_Bool
-_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_next(Efl_Object_Event_Grabber_Iterator
 *it, void **data)
+_efl_canvas_group_group_iterator_next(Efl_Object_Event_Grabber_Iterator *it, 
void **data)
 {
-   Evas_Object_Protected_Data *obj;
-
-   if (!eina_clist_next(it->head, it->current)) return EINA_FALSE;
-
-   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current), 
Evas_Object_Protected_Data, events->event.member);
-   if (data) *data = obj->object;
-
-   it->current = eina_clist_next(it->head, it->current);
-
-   return EINA_TRUE;
+   return eina_iterator_next(it->itl, data);
 }
 
 static Evas_Object *
-_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_get_container(Efl_Object_Event_Grabber_Iterator
 *it)
+_efl_canvas_group_group_iterator_get_container(Efl_Object_Event_Grabber_Iterator
 *it)
 {
return it->parent;
 }
 
 static void
-_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_free(Efl_Object_Event_Grabber_Iterator
 *it)
+_efl_canvas_group_group_iterator_free(Efl_Object_Event_Grabber_Iterator *it)
 {
efl_unref(it->parent);
free(it);
@@ -57,18 +48,18 @@ 
_efl_canvas_object_event_grabber_efl_canvas_group_group_children_iterate(const E
 {
Efl_Object_Event_Grabber_Iterator *it;
 
-   if (eina_clist_empty(>contained)) return NULL;
+   if (!pd->contained) return NULL;
 
it = calloc(1, sizeof(Efl_Object_Event_Grabber_Iterator));
if (!it) return NULL;
 
EINA_MAGIC_SET(>iterator, EINA_MAGIC_ITERATOR);
it->parent = efl_ref(eo_obj);
-   it->head = it->current = >contained;
+   it->itl = eina_list_iterator_new(pd->contained);
 
-   it->iterator.next = 
FUNC_ITERATOR_NEXT(_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_next);
-   it->iterator.get_container = 
FUNC_ITERATOR_GET_CONTAINER(_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_get_container);
-   it->iterator.free = 
FUNC_ITERATOR_FREE(_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_free);
+   it->iterator.next = 
FUNC_ITERATOR_NEXT(_efl_canvas_group_group_iterator_next);
+   it->iterator.get_container = 
FUNC_ITERATOR_GET_CONTAINER(_efl_canvas_group_group_iterator_get_container);
+   it->iterator.free = 
FUNC_ITERATOR_FREE(_efl_canvas_group_group_iterator_free);
 
return >iterator;
 }
@@ -100,59 +91,41 @@ _stacking_verify(Efl_Object_Event_Grabber_Data *pd, 
Evas_Object_Protected_Data *
 }
 
 static void
-_child_add_after(Evas_Object_Protected_Data *a, Evas_Object_Events_Data 
*events)
-{
-   EINA_COW_WRITE_BEGIN(evas_object_events_cow, a->events, 
Evas_Object_Events_Data, evs)
- eina_clist_add_after(>event.member, >event.member);
-   EINA_COW_WRITE_END(evas_object_events_cow, a->events, evs);
-}
-
-static void
 _child_insert(Efl_Object_Event_Grabber_Data *pd, Evas_Object_Protected_Data 
*obj)
 {
Evas_Object_Protected_Data *a, *i;
-
-   if (eina_clist_empty(>contained))
- {
-/* pd->rect case */
-EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, 
Evas_Object_Events_Data, events)
-  eina_clist_add_head(>contained, >event.member);
-EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
-return;
- }
+   Eina_List *l;
+   Eina_Bool found = 

[EGIT] [core/efl] master 01/02: evas: allow list for _evas_event_object_list_in_get utility function.

2017-06-14 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit b3127291095b93d5f140064996849c2e5074c6c1
Author: Cedric BAIL 
Date:   Wed Jun 14 12:20:36 2017 -0700

evas: allow list for _evas_event_object_list_in_get utility function.
---
 src/lib/evas/canvas/evas_events.c | 62 +++
 1 file changed, 43 insertions(+), 19 deletions(-)

diff --git a/src/lib/evas/canvas/evas_events.c 
b/src/lib/evas/canvas/evas_events.c
index 222169ba89..12f0665690 100644
--- a/src/lib/evas/canvas/evas_events.c
+++ b/src/lib/evas/canvas/evas_events.c
@@ -10,7 +10,10 @@ int _evas_event_counter = 0;
 
 static Eina_List *
 _evas_event_object_list_in_get(Evas *eo_e, Eina_List *in,
-   const Eina_Inlist *list, const Eina_Clist 
*clist, Evas_Object *stop,
+   const Eina_Inlist *list,
+   const Eina_Clist *clist,
+   const Eina_List *list,
+   Evas_Object *stop,
int x, int y, int *no_rep, Eina_Bool source);
 
 /* FIXME: use eina_list_clone */
@@ -260,6 +263,7 @@ _evas_event_object_list_raw_in_get_single(Evas *eo_e, 
Evas_Object_Protected_Data
(eo_e, in,
 evas_object_smart_members_get_direct(eo_obj),
 NULL,
+NULL,
 stop,
 obj->cur->geometry.x + obj->map->cur.map->mx,
 obj->cur->geometry.y + obj->map->cur.map->my,
@@ -286,7 +290,7 @@ _evas_event_object_list_raw_in_get_single(Evas *eo_e, 
Evas_Object_Protected_Data
obj->cur->geometry.y <= y &&
obj->cur->geometry.y + obj->cur->geometry.h >= y))
 in = _evas_event_object_list_in_get
-   (eo_e, in, 
evas_object_smart_members_get_direct(eo_obj), NULL,
+  (eo_e, in, evas_object_smart_members_get_direct(eo_obj), 
NULL, NULL,
stop, x, y, , source);
}
  if (norep)
@@ -306,7 +310,7 @@ _evas_event_object_list_raw_in_get_single(Evas *eo_e, 
Evas_Object_Protected_Data
   {
  int norep = 0;
  in = _evas_event_object_list_in_get(eo_e, in,
-   NULL, evas_object_event_grabber_members_list(eo_obj),
+   NULL, evas_object_event_grabber_members_list(eo_obj), NULL,
stop, x, y, , source);
  if (norep)
{
@@ -367,7 +371,10 @@ _evas_event_object_list_raw_in_get_single(Evas *eo_e, 
Evas_Object_Protected_Data
 
 static Eina_List *
 _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in,
-   const Eina_Inlist *list, const Eina_Clist 
*clist, Evas_Object *stop,
+   const Eina_Inlist *ilist,
+   const Eina_Clist *clist,
+   const Eina_List *list,
+   Evas_Object *stop,
int x, int y, int *no_rep, Eina_Bool source)
 {
Evas_Object_Protected_Data *obj = NULL;
@@ -377,13 +384,13 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List 
*in,
static int spaces = 0;
 #endif
 
-   if ((!list) && (!clist)) return in;
+   if ((!ilist) && (!clist) && (!list)) return in;
 #ifdef DDD_DO
spaces++;
 #endif
-   if (list)
+   if (ilist)
  {
-for (obj = _EINA_INLIST_CONTAINER(obj, eina_inlist_last(list));
+for (obj = _EINA_INLIST_CONTAINER(obj, eina_inlist_last(ilist));
  obj;
  obj = _EINA_INLIST_CONTAINER(obj, EINA_INLIST_GET(obj)->prev))
   {
@@ -396,7 +403,7 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List 
*in,
  if (*no_rep) return in;
   }
  }
-   else
+   else if (clist)
  {
 EINA_CLIST_FOR_EACH_ENTRY_SAFE_REV(obj, nobj, clist, 
Evas_Object_Protected_Data, events->event.member)
   {
@@ -408,6 +415,20 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List 
*in,
  if (*no_rep) return in;
   }
  }
+   else
+ {
+Eina_List *l;
+
+EINA_LIST_REVERSE_FOREACH(list, l, obj)
+  {
+ in = _evas_event_object_list_raw_in_get_single(eo_e, obj, in, 
stop, x, y, no_rep, source
+#ifdef DDD_DO
+,
+#endif
+);
+ if (*no_rep) return in;
+  }
+ }
*no_rep = 0;
 #ifdef DDD_DO
spaces--;
@@ -491,14 +512,14 @@ _evas_event_source_mouse_down_events(Evas_Object *eo_obj, 
Evas *eo_e,
   {
  proxy_write->src_event_in = 

[EGIT] [core/efl] master 01/01: elm_code: Fix make check

2017-06-14 Thread Andy Williams
ajwillia-ms pushed a commit to branch master.

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

commit 37aa0855e604e9567b92016370793b442d8c240e
Author: Andy Williams 
Date:   Wed Jun 14 19:38:43 2017 +0100

elm_code: Fix make check

The tests were using some code that became somewhat invalid, adjusting tests
---
 src/tests/elementary/elm_code_test_widget_selection.c | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/tests/elementary/elm_code_test_widget_selection.c 
b/src/tests/elementary/elm_code_test_widget_selection.c
index db046a0155..59c1565be1 100644
--- a/src/tests/elementary/elm_code_test_widget_selection.c
+++ b/src/tests/elementary/elm_code_test_widget_selection.c
@@ -365,12 +365,12 @@ START_TEST (elm_code_test_widget_selection_delete_twoline)
ck_assert_int_eq(2, elm_code_file_lines_get(file));
 
elm_code_widget_selection_start(widget, 1, 5);
-   elm_code_widget_selection_end(widget, 2, 0);
+   elm_code_widget_selection_end(widget, 2, 1);
elm_code_widget_selection_delete(widget);
 
line = elm_code_file_line_get(file, 1);
text = elm_code_line_text_get(line, );
-   ck_assert_strn_eq("teXTremove", text, length);
+   ck_assert_strn_eq("teXTemove", text, length);
ck_assert_int_eq(1, elm_code_file_lines_get(file));
 
elm_code_free(code);
@@ -411,13 +411,13 @@ START_TEST 
(elm_code_test_widget_selection_reverse_delete_twoline)
ck_assert_strn_eq("teXT", text, length);
ck_assert_int_eq(2, elm_code_file_lines_get(file));
 
-   elm_code_widget_selection_start(widget, 2, 0);
+   elm_code_widget_selection_start(widget, 2, 1);
elm_code_widget_selection_end(widget, 1, 5);
elm_code_widget_selection_delete(widget);
 
line = elm_code_file_line_get(file, 1);
text = elm_code_line_text_get(line, );
-   ck_assert_strn_eq("teXTremove", text, length);
+   ck_assert_strn_eq("teXTemove", text, length);
ck_assert_int_eq(1, elm_code_file_lines_get(file));
 
elm_code_free(code);
@@ -461,12 +461,12 @@ START_TEST 
(elm_code_test_widget_selection_delete_multiline)
ck_assert_int_eq(3, elm_code_file_lines_get(file));
 
elm_code_widget_selection_start(widget, 1, 5);
-   elm_code_widget_selection_end(widget, 3, 0);
+   elm_code_widget_selection_end(widget, 3, 1);
elm_code_widget_selection_delete(widget);
 
line = elm_code_file_line_get(file, 1);
text = elm_code_line_text_get(line, );
-   ck_assert_strn_eq("teXTREMOVE", text, length);
+   ck_assert_strn_eq("teXTEMOVE", text, length);
ck_assert_int_eq(1, elm_code_file_lines_get(file));
 
elm_code_free(code);
@@ -509,13 +509,13 @@ START_TEST 
(elm_code_test_widget_selection_reverse_delete_multiline)
ck_assert_strn_eq("teXT", text, length);
ck_assert_int_eq(3, elm_code_file_lines_get(file));
 
-   elm_code_widget_selection_start(widget, 3, 0);
+   elm_code_widget_selection_start(widget, 3, 1);
elm_code_widget_selection_end(widget, 1, 5);
elm_code_widget_selection_delete(widget);
 
line = elm_code_file_line_get(file, 1);
text = elm_code_line_text_get(line, );
-   ck_assert_strn_eq("teXTREMOVE", text, length);
+   ck_assert_strn_eq("teXTEMOVE", text, length);
ck_assert_int_eq(1, elm_code_file_lines_get(file));
 
elm_code_free(code);

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/02: Revert "Revert "evas: put events related pointer into a cow to reduce evas_object fat.""

2017-06-14 Thread Cedric BAIL
On Wed, Jun 14, 2017 at 10:04 AM, Mike Blumenkrantz
 wrote:
> This should not be reverted. It crashes for me as well.

With the commit fix that come after it ?

> On Wed, Jun 14, 2017 at 1:00 PM Cedric BAIL  wrote:
>
>> cedric pushed a commit to branch master.
>>
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=cbfad5760d7768816403f3daaba7cda06eb30439
>>
>> commit cbfad5760d7768816403f3daaba7cda06eb30439
>> Author: Cedric BAIL 
>> Date:   Tue Jun 13 09:36:33 2017 -0700
>>
>> Revert "Revert "evas: put events related pointer into a cow to reduce
>> evas_object fat.""
>>
>> This reverts commit f9d3219c1739d7abea16fecd92fcc0981ddf801c.
>> ---
>>  .../evas/canvas/efl_canvas_object_event_grabber.c  | 85
>> ++
>>  src/lib/evas/canvas/evas_callbacks.c   |  4 +-
>>  src/lib/evas/canvas/evas_events.c  |  4 +-
>>  src/lib/evas/canvas/evas_focus.c   | 18 +++--
>>  src/lib/evas/canvas/evas_object_main.c | 84
>> ++---
>>  src/lib/evas/include/evas_private.h| 32 +---
>>  6 files changed, 147 insertions(+), 80 deletions(-)
>>
>> diff --git a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
>> b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
>> index 12d882dcd2..30d3f88521 100644
>> --- a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
>> +++ b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
>> @@ -31,7 +31,7 @@
>> _efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_next(Efl_Object
>>
>> if (!eina_clist_next(it->head, it->current)) return EINA_FALSE;
>>
>> -   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current),
>> Evas_Object_Protected_Data, event.member);
>> +   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current),
>> Evas_Object_Protected_Data, events->event.member);
>> if (data) *data = obj->object;
>>
>> it->current = eina_clist_next(it->head, it->current);
>> @@ -100,6 +100,14 @@ _stacking_verify(Efl_Object_Event_Grabber_Data *pd,
>> Evas_Object_Protected_Data *
>>  }
>>
>>  static void
>> +_child_add_after(Evas_Object_Protected_Data *a, Evas_Object_Events_Data
>> *events)
>> +{
>> +   EINA_COW_WRITE_BEGIN(evas_object_events_cow, a->events,
>> Evas_Object_Events_Data, evs)
>> + eina_clist_add_after(>event.member, >event.member);
>> +   EINA_COW_WRITE_END(evas_object_events_cow, a->events, evs);
>> +}
>> +
>> +static void
>>  _child_insert(Efl_Object_Event_Grabber_Data *pd,
>> Evas_Object_Protected_Data *obj)
>>  {
>> Evas_Object_Protected_Data *a, *i;
>> @@ -107,38 +115,44 @@ _child_insert(Efl_Object_Event_Grabber_Data *pd,
>> Evas_Object_Protected_Data *obj
>> if (eina_clist_empty(>contained))
>>   {
>>  /* pd->rect case */
>> -eina_clist_add_head(>contained, >event.member);
>> +EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events,
>> Evas_Object_Events_Data, events)
>> +  eina_clist_add_head(>contained, >event.member);
>> +EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
>>  return;
>>   }
>>
>> if (pd->vis) _stacking_verify(pd, obj);
>> -   EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained,
>> Evas_Object_Protected_Data, event.member)
>> +   EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events,
>> Evas_Object_Events_Data, events)
>>   {
>> -if (a->object == pd->rect)
>> -  {
>> - eina_clist_add_after(>event.member, >event.member);
>> - return;
>> -  }
>> -if (a->layer->layer > obj->layer->layer) continue;
>> -if (a->layer->layer < obj->layer->layer)
>> -  {
>> - eina_clist_add_after(>event.member, >event.member);
>> - return;
>> -  }
>> -EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
>> +EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained,
>> Evas_Object_Protected_Data, events->event.member)
>>{
>> - if (a == i)
>> + if (a->object == pd->rect)
>> {
>> -  eina_clist_add_after(>event.member,
>> >event.member);
>> +  _child_add_after(a, events);
>>return;
>> }
>> - if (obj == i)
>> + if (a->layer->layer > obj->layer->layer) continue;
>> + if (a->layer->layer < obj->layer->layer)
>> {
>> -  eina_clist_add_before(>event.member,
>> >event.member);
>> +  _child_add_after(a, events);
>>return;
>> }
>> + EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
>> +   {
>> +  if (a == i)
>> +{
>> +   _child_add_after(a, events);
>> +   return;
>> +}
>> +  if (obj == i)
>> +

Re: [E-devel] [EGIT] [core/efl] master 01/02: Revert "Revert "evas: put events related pointer into a cow to reduce evas_object fat.""

2017-06-14 Thread Mike Blumenkrantz
This should not be reverted. It crashes for me as well.

On Wed, Jun 14, 2017 at 1:00 PM Cedric BAIL  wrote:

> cedric pushed a commit to branch master.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=cbfad5760d7768816403f3daaba7cda06eb30439
>
> commit cbfad5760d7768816403f3daaba7cda06eb30439
> Author: Cedric BAIL 
> Date:   Tue Jun 13 09:36:33 2017 -0700
>
> Revert "Revert "evas: put events related pointer into a cow to reduce
> evas_object fat.""
>
> This reverts commit f9d3219c1739d7abea16fecd92fcc0981ddf801c.
> ---
>  .../evas/canvas/efl_canvas_object_event_grabber.c  | 85
> ++
>  src/lib/evas/canvas/evas_callbacks.c   |  4 +-
>  src/lib/evas/canvas/evas_events.c  |  4 +-
>  src/lib/evas/canvas/evas_focus.c   | 18 +++--
>  src/lib/evas/canvas/evas_object_main.c | 84
> ++---
>  src/lib/evas/include/evas_private.h| 32 +---
>  6 files changed, 147 insertions(+), 80 deletions(-)
>
> diff --git a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
> b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
> index 12d882dcd2..30d3f88521 100644
> --- a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
> +++ b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
> @@ -31,7 +31,7 @@
> _efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_next(Efl_Object
>
> if (!eina_clist_next(it->head, it->current)) return EINA_FALSE;
>
> -   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current),
> Evas_Object_Protected_Data, event.member);
> +   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current),
> Evas_Object_Protected_Data, events->event.member);
> if (data) *data = obj->object;
>
> it->current = eina_clist_next(it->head, it->current);
> @@ -100,6 +100,14 @@ _stacking_verify(Efl_Object_Event_Grabber_Data *pd,
> Evas_Object_Protected_Data *
>  }
>
>  static void
> +_child_add_after(Evas_Object_Protected_Data *a, Evas_Object_Events_Data
> *events)
> +{
> +   EINA_COW_WRITE_BEGIN(evas_object_events_cow, a->events,
> Evas_Object_Events_Data, evs)
> + eina_clist_add_after(>event.member, >event.member);
> +   EINA_COW_WRITE_END(evas_object_events_cow, a->events, evs);
> +}
> +
> +static void
>  _child_insert(Efl_Object_Event_Grabber_Data *pd,
> Evas_Object_Protected_Data *obj)
>  {
> Evas_Object_Protected_Data *a, *i;
> @@ -107,38 +115,44 @@ _child_insert(Efl_Object_Event_Grabber_Data *pd,
> Evas_Object_Protected_Data *obj
> if (eina_clist_empty(>contained))
>   {
>  /* pd->rect case */
> -eina_clist_add_head(>contained, >event.member);
> +EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events,
> Evas_Object_Events_Data, events)
> +  eina_clist_add_head(>contained, >event.member);
> +EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
>  return;
>   }
>
> if (pd->vis) _stacking_verify(pd, obj);
> -   EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained,
> Evas_Object_Protected_Data, event.member)
> +   EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events,
> Evas_Object_Events_Data, events)
>   {
> -if (a->object == pd->rect)
> -  {
> - eina_clist_add_after(>event.member, >event.member);
> - return;
> -  }
> -if (a->layer->layer > obj->layer->layer) continue;
> -if (a->layer->layer < obj->layer->layer)
> -  {
> - eina_clist_add_after(>event.member, >event.member);
> - return;
> -  }
> -EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
> +EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained,
> Evas_Object_Protected_Data, events->event.member)
>{
> - if (a == i)
> + if (a->object == pd->rect)
> {
> -  eina_clist_add_after(>event.member,
> >event.member);
> +  _child_add_after(a, events);
>return;
> }
> - if (obj == i)
> + if (a->layer->layer > obj->layer->layer) continue;
> + if (a->layer->layer < obj->layer->layer)
> {
> -  eina_clist_add_before(>event.member,
> >event.member);
> +  _child_add_after(a, events);
>return;
> }
> + EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
> +   {
> +  if (a == i)
> +{
> +   _child_add_after(a, events);
> +   return;
> +}
> +  if (obj == i)
> +{
> +   _child_add_after(a, events);
> +   return;
> +}
> +   }
>}
>   }
> +   EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
>  }
>
>  static void

[EGIT] [core/efl] master 01/02: Revert "Revert "evas: put events related pointer into a cow to reduce evas_object fat.""

2017-06-14 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit cbfad5760d7768816403f3daaba7cda06eb30439
Author: Cedric BAIL 
Date:   Tue Jun 13 09:36:33 2017 -0700

Revert "Revert "evas: put events related pointer into a cow to reduce 
evas_object fat.""

This reverts commit f9d3219c1739d7abea16fecd92fcc0981ddf801c.
---
 .../evas/canvas/efl_canvas_object_event_grabber.c  | 85 ++
 src/lib/evas/canvas/evas_callbacks.c   |  4 +-
 src/lib/evas/canvas/evas_events.c  |  4 +-
 src/lib/evas/canvas/evas_focus.c   | 18 +++--
 src/lib/evas/canvas/evas_object_main.c | 84 ++---
 src/lib/evas/include/evas_private.h| 32 +---
 6 files changed, 147 insertions(+), 80 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c 
b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
index 12d882dcd2..30d3f88521 100644
--- a/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
+++ b/src/lib/evas/canvas/efl_canvas_object_event_grabber.c
@@ -31,7 +31,7 @@ 
_efl_canvas_object_event_grabber_efl_canvas_group_group_iterator_next(Efl_Object
 
if (!eina_clist_next(it->head, it->current)) return EINA_FALSE;
 
-   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current), 
Evas_Object_Protected_Data, event.member);
+   obj = EINA_CLIST_ENTRY(eina_clist_head(it->current), 
Evas_Object_Protected_Data, events->event.member);
if (data) *data = obj->object;
 
it->current = eina_clist_next(it->head, it->current);
@@ -100,6 +100,14 @@ _stacking_verify(Efl_Object_Event_Grabber_Data *pd, 
Evas_Object_Protected_Data *
 }
 
 static void
+_child_add_after(Evas_Object_Protected_Data *a, Evas_Object_Events_Data 
*events)
+{
+   EINA_COW_WRITE_BEGIN(evas_object_events_cow, a->events, 
Evas_Object_Events_Data, evs)
+ eina_clist_add_after(>event.member, >event.member);
+   EINA_COW_WRITE_END(evas_object_events_cow, a->events, evs);
+}
+
+static void
 _child_insert(Efl_Object_Event_Grabber_Data *pd, Evas_Object_Protected_Data 
*obj)
 {
Evas_Object_Protected_Data *a, *i;
@@ -107,38 +115,44 @@ _child_insert(Efl_Object_Event_Grabber_Data *pd, 
Evas_Object_Protected_Data *obj
if (eina_clist_empty(>contained))
  {
 /* pd->rect case */
-eina_clist_add_head(>contained, >event.member);
+EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, 
Evas_Object_Events_Data, events)
+  eina_clist_add_head(>contained, >event.member);
+EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
 return;
  }
 
if (pd->vis) _stacking_verify(pd, obj);
-   EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained, 
Evas_Object_Protected_Data, event.member)
+   EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, 
Evas_Object_Events_Data, events)
  {
-if (a->object == pd->rect)
-  {
- eina_clist_add_after(>event.member, >event.member);
- return;
-  }
-if (a->layer->layer > obj->layer->layer) continue;
-if (a->layer->layer < obj->layer->layer)
-  {
- eina_clist_add_after(>event.member, >event.member);
- return;
-  }
-EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
+EINA_CLIST_FOR_EACH_ENTRY_REV(a, >contained, 
Evas_Object_Protected_Data, events->event.member)
   {
- if (a == i)
+ if (a->object == pd->rect)
{
-  eina_clist_add_after(>event.member, >event.member);
+  _child_add_after(a, events);
   return;
}
- if (obj == i)
+ if (a->layer->layer > obj->layer->layer) continue;
+ if (a->layer->layer < obj->layer->layer)
{
-  eina_clist_add_before(>event.member, >event.member);
+  _child_add_after(a, events);
   return;
}
+ EINA_INLIST_FOREACH(EINA_INLIST_GET(a->layer->objects), i)
+   {
+  if (a == i)
+{
+   _child_add_after(a, events);
+   return;
+}
+  if (obj == i)
+{
+   _child_add_after(a, events);
+   return;
+}
+   }
   }
  }
+   EINA_COW_WRITE_END(evas_object_events_cow, obj->events, events);
 }
 
 static void
@@ -147,7 +161,10 @@ _efl_canvas_object_event_grabber_child_restack(void *data, 
const Efl_Event *even
Efl_Object_Event_Grabber_Data *pd = data;
Evas_Object_Protected_Data *obj = efl_data_scope_get(event->object, 
EFL_CANVAS_OBJECT_CLASS);
 
-   eina_clist_remove(>event.member);
+   EINA_COW_WRITE_BEGIN(evas_object_events_cow, obj->events, 

[EGIT] [core/efl] master 02/02: evas: actually free the cow allocated memory.

2017-06-14 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 880500f966d3c30bc8c5c83a002f5b9823819654
Author: Cedric BAIL 
Date:   Wed Jun 14 10:00:04 2017 -0700

evas: actually free the cow allocated memory.
---
 src/lib/evas/canvas/evas_object_main.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/evas_object_main.c 
b/src/lib/evas/canvas/evas_object_main.c
index b1547b68c2..8dbd554182 100644
--- a/src/lib/evas/canvas/evas_object_main.c
+++ b/src/lib/evas/canvas/evas_object_main.c
@@ -472,6 +472,7 @@ evas_object_free(Evas_Object *eo_obj, Eina_Bool clean_layer)
eina_cow_free(evas_object_state_cow, (const Eina_Cow_Data**) >prev);
eina_cow_free(evas_object_3d_cow, (const Eina_Cow_Data**) >data_3d);
eina_cow_free(evas_object_mask_cow, (const Eina_Cow_Data**) >mask);
+   eina_cow_free(evas_object_events_cow, (const Eina_Cow_Data**) >events);
efl_data_unref(eo_obj, obj->private_data);
obj->private_data = NULL;
 

-- 




[EGIT] [core/efl] master 01/03: test suite - evas - fix xpm ref image - it was badly broken...

2017-06-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit e71e8bd30bbc3117469703353dc41740d6019146
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Jun 14 15:13:18 2017 +0900

test suite - evas - fix xpm ref image - it was badly broken...

since rgb.txt has seemingly disappeared from systems we didnt parse
colornames (missing the colorname db entirely) and the test image was
generated using a broken missing rgb.txt thus colors were wrong. a
recent fix made evas find colornames again...
---
 src/tests/evas/images/Pic4-xpm.png | Bin 76577 -> 28141 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/src/tests/evas/images/Pic4-xpm.png 
b/src/tests/evas/images/Pic4-xpm.png
index adb298cf6a..37c56159a4 100644
Binary files a/src/tests/evas/images/Pic4-xpm.png and 
b/src/tests/evas/images/Pic4-xpm.png differ

-- 




[EGIT] [core/efl] master 02/03: evas xpm loader - remove the rgb txt file db loading and compile in

2017-06-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 4a9f28a6772b478d06c4b33a6bf122083b8be782
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Jun 14 16:51:08 2017 +0900

evas xpm loader - remove the rgb txt file db loading and compile in

so modern systems seem to have abandoned rgb.txt files. this leads to
us breaking the loading of xpm files tha use color names ... i added
the rgbt.txt from vim but that didn't seem to help... odd... so to just
stop adding path after path to load... ship our own. we could ship the
file... but then we'd still have to load and parse it... every time we
look up a color. so i munged the data with awk and now we compile it
in. it should consume the same space the rgb.txt does in the shared lib
binary. if not read it shouldn't be paged in. it should end up cheaper
than our floaing of the file and mmaping it when xpm module is
loaded/initted... so either way more efficient, uses a little less ram
(12306 bytes vs 17780 for the rgb.txt) ... and bonus - dont have
an extenral out-of-code data blob to find, manage install etc...

this means we should load xpms with colornames correctly again on
systems without an rgb.txt provided by x11 ... which seems to be the
common case now. :(

@fix
---
 .../evas/image_loaders/xpm/evas_image_load_xpm.c   | 1634 +++-
 1 file changed, 1587 insertions(+), 47 deletions(-)

diff --git a/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c 
b/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
index e219982e98..66e5e1998b 100644
--- a/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
+++ b/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
@@ -16,8 +16,1581 @@ static int _evas_loader_xpm_log_dom = -1;
 #endif
 #define ERR(...) EINA_LOG_DOM_ERR(_evas_loader_xpm_log_dom, __VA_ARGS__)
 
-static Eina_File *rgb_txt;
-static void *rgb_txt_map;
+typedef struct
+{
+   unsigned short offset;
+   unsigned char r, g, b;
+} Color_Index;
+
+static const Color_Index color_name_index[] =
+{
+{   0,  240, 248, 255},
+{  11,  240, 248, 255},
+{  21,  255, 239, 219},
+{  35,  238, 223, 204},
+{  49,  250, 235, 215},
+{  63,  250, 235, 215},
+{  76,  205, 192, 176},
+{  90,  139, 131, 120},
+{ 104,0, 255, 255},
+{ 109,  127, 255, 212},
+{ 121,  127, 255, 212},
+{ 132,  118, 238, 198},
+{ 144,  102, 205, 170},
+{ 156,   69, 139, 116},
+{ 168,  240, 255, 255},
+{ 175,  224, 238, 238},
+{ 182,  240, 255, 255},
+{ 188,  193, 205, 205},
+{ 195,  131, 139, 139},
+{ 202,  245, 245, 220},
+{ 208,  255, 228, 196},
+{ 216,  238, 213, 183},
+{ 224,  255, 228, 196},
+{ 231,  205, 183, 158},
+{ 239,  139, 125, 107},
+{ 247,0,   0,   0},
+{ 253,  255, 235, 205},
+{ 269,  255, 235, 205},
+{ 284,0,   0, 255},
+{ 289,0,   0, 255},
+{ 295,0,   0, 238},
+{ 301,0,   0, 205},
+{ 307,0,   0, 139},
+{ 313,  138,  43, 226},
+{ 325,  138,  43, 226},
+{ 336,  255,  64,  64},
+{ 343,  165,  42,  42},
+{ 349,  238,  59,  59},
+{ 356,  205,  51,  51},
+{ 363,  139,  35,  35},
+{ 370,  255, 211, 155},
+{ 381,  222, 184, 135},
+{ 391,  238, 197, 145},
+{ 402,  205, 170, 125},
+{ 413,  139, 115,  85},
+{ 424,  152, 245, 255},
+{ 435,  142, 229, 238},
+{ 446,  122, 197, 205},
+{ 457,   83, 134, 139},
+{ 468,   95, 158, 160},
+{ 479,   95, 158, 160},
+{ 489,  127, 255,   0},
+{ 501,  127, 255,   0},
+{ 512,  118, 238,   0},
+{ 524,  102, 205,   0},
+{ 536,   69, 139,   0},
+{ 548,  255, 127,  36},
+{ 559,  210, 105,  30},
+{ 569,  238, 118,  33},
+{ 580,  205, 102,  29},
+{ 591,  139,  69,  19},
+{ 602,  255, 114,  86},
+{ 609,  238, 106,  80},
+{ 616,  255, 127,  80},
+{ 622,  205,  91,  69},
+{ 629,  139,  62,  47},
+{ 636,  100, 149, 237},
+{ 652,  100, 149, 237},
+{ 667,  255, 248, 220},
+{ 677,  238, 232, 205},
+{ 687,  255, 248, 220},
+{ 696,  205, 200, 177},
+{ 706,  139, 136, 120},
+{ 716,  220,  20,  60},
+{ 724,0, 255, 255},
+{ 729,0, 255, 255},
+{ 735,0, 238, 238},
+{ 741,0, 205, 205},
+{ 747,0, 139, 139},
+{ 753,0,   0, 139},
+{ 763,0,   0, 139},
+{ 772,0, 139, 139},
+{ 782,0, 139, 139},
+{ 791,  255, 185,  15},
+{ 806,  184, 134,  11},
+{ 821,  184, 134,  11},
+{ 835,  238, 173,  14},
+{ 850,  205, 149,  12},
+{ 865,  139, 101,   8},
+{ 880,  169, 169, 169},
+{ 890,  169, 169, 169},
+{ 899,0, 100,   0},
+{ 910,0, 100,   0},
+{ 920,  169, 169, 169},
+{ 930,  169, 169, 169},
+{ 939,  189, 183, 107},
+{ 950,  189, 183, 107},
+{ 960,  139,   0, 139},
+{ 973,  139,   0, 139},
+{ 985,  202, 255, 112},
+{1001,  188, 238, 104},
+{1017,  162, 205,  90},
+{1033,  110, 139,  61},
+{1049,   85, 107,  47},
+{1066,   85, 107,  47},
+{1081,  255, 127,   0},
+{1093,  238, 118,   0},
+{1105,  255, 140,   0},
+{1117,  255, 140,   0},
+{1128,  205, 102,   0},
+{1140,  139,  69,   0},
+{1152,  191,  62, 255},

[EGIT] [core/efl] master 03/03: evas xpm loader - remove tabs and clean up formatting

2017-06-14 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 205ef8a75607c271a043db41b6ecf66453320e4e
Author: Carsten Haitzler (Rasterman) 
Date:   Wed Jun 14 17:11:59 2017 +0900

evas xpm loader - remove tabs and clean up formatting

just non-code changes here...
---
 .../evas/image_loaders/xpm/evas_image_load_xpm.c   | 220 ++---
 1 file changed, 101 insertions(+), 119 deletions(-)

diff --git a/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c 
b/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
index 66e5e1998b..cd669d576a 100644
--- a/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
+++ b/src/modules/evas/image_loaders/xpm/evas_image_load_xpm.c
@@ -1712,7 +1712,6 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
Eina_Boolres = EINA_FALSE;
 
done = 0;
-//   transp = -1;
transp = 1;
 
/* if immediate_load is 1, then dont delay image laoding as below, or */
@@ -1721,11 +1720,7 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
length = eina_file_size_get(f);
position = 0;
*error = EVAS_LOAD_ERROR_CORRUPT_FILE;
-   if (length < 9)
- {
-//ERR("XPM ERROR: file size, %zd, is to small", length);
-goto on_error;
- }
+   if (length < 9) goto on_error;
 
map = eina_file_map_all(f, load_data ? EINA_FILE_WILLNEED : 
EINA_FILE_RANDOM);
if (!map)
@@ -1736,7 +1731,7 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
 
if (strncmp("/* XPM */", map, 9))
  {
-   *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
+*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
 goto on_error;
  }
 
@@ -1756,7 +1751,7 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
line = malloc(lsz);
if (!line)
  {
-   *error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
+*error = EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED;
 goto on_error;
  }
 
@@ -1769,10 +1764,8 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
 c = (char) map[position++];
 if (!quote)
   {
- if ((pc == '/') && (c == '*'))
-  comment = 1;
- else if ((pc == '*') && (c == '/') && (comment))
-  comment = 0;
+ if ((pc == '/') && (c == '*')) comment = 1;
+ else if ((pc == '*') && (c == '/') && (comment)) comment = 0;
   }
 if (!comment)
   {
@@ -1790,7 +1783,6 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
/* Header */
if (sscanf(line, "%i %i %i %i", , , , ) 
!= 4)
  {
-//ERR("XPM ERROR: XPM file malformed header");
 *error = EVAS_LOAD_ERROR_CORRUPT_FILE;
 goto on_error;
  }
@@ -1868,11 +1860,11 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
 strncpy(cmap[j].str, line, cpp);
 cmap[j].str[cpp] = 0;
 if (load_data) root = 
eina_rbtree_inline_insert(root, EINA_RBTREE_GET([j]), _cmap_cmp_node_cb, 
NULL);
-   for (slen = 0; slen < cpp; slen++)
- {
-/* fix the ascii of the  color string - if its 
< 32 - just limit to 32 */
-if (cmap[j].str[slen] < 32) cmap[j].str[slen] 
= 0;
- }
+for (slen = 0; slen < cpp; slen++)
+  {
+ /* fix the ascii of the  color string - if 
its < 32 - just limit to 32 */
+ if (cmap[j].str[slen] < 32) cmap[j].str[slen] 
= 0;
+  }
 cmap[j].r = -1;
 cmap[j].transp = 0;
 for (k = cpp; k < len; k++)
@@ -1887,20 +1879,19 @@ evas_image_load_file_xpm(Eina_File *f, 
Evas_Image_Property *prop, void *pixels,
   k += slen;
   if (slen == 1 && *s == 'c') iscolor = 1;
   if ((slen == 1 && ((s[0] == 'm') || 
(s[0] == 's') || (s[0] == 'g') || (s[0] == 'c'))) ||
- (slen == 2 && (s[0] == 'g') && (s[1] 
== '4')) ||
- (k >= len))
+  (slen == 2 && (s[0] == 'g') && (s[1] 
== '4')) ||
+  (k >= len))
 {
 

[EGIT] [core/efl] master 04/05: tests: Fix eina_thread_queue test case 5 & 6

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 44b6eb3e551710019eb437375b6974ecdac4e764
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 15:07:28 2017 +0900

tests: Fix eina_thread_queue test case 5 & 6

ecore_test_ecore_thread_eina_thread_queue_t6 failed often for me.
eina_thread_queue_wait() was returning NULL.

I believe this is because the test case ended abruptly without
waiting for the threads to finish. Indeed, both threads tried
hard to reach 1 messages but it didn't make sense for them
both to reach this value, only one would end there.

This patch adds an exit message sent by thread 1 to the two other
threads, and all threads are waited upon using a single semaphore.

Note: This also renames some functions to match their test case
number.

@raster
---
 .../ecore_test_ecore_thread_eina_thread_queue.c| 158 ++---
 1 file changed, 105 insertions(+), 53 deletions(-)

diff --git a/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c 
b/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c
index 5a8346d646..c96b29b3ed 100644
--- a/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c
+++ b/src/tests/ecore/ecore_test_ecore_thread_eina_thread_queue.c
@@ -113,7 +113,7 @@ typedef struct
 static volatile int msgs = 0;
 
 static void
-thspeed1_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+thspeed2_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
Msg2 *msg;
void *ref;
@@ -145,7 +145,7 @@ START_TEST(ecore_test_ecore_thread_eina_thread_queue_t2)
 
thq1 = eina_thread_queue_new();
if (!thq1) fail();
-   ecore_thread_feedback_run(thspeed1_do, NULL, NULL, NULL, NULL, EINA_TRUE);
+   ecore_thread_feedback_run(thspeed2_do, NULL, NULL, NULL, NULL, EINA_TRUE);
 
for (i = 0; i < 1000; i++)
  {
@@ -171,7 +171,7 @@ typedef struct
 } Msg3;
 
 static void
-th21_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th31_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val = 100;
 
@@ -190,7 +190,7 @@ th21_do(void *data EINA_UNUSED, Ecore_Thread *th 
EINA_UNUSED)
 }
 
 static void
-th22_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th32_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val = 100;
 
@@ -230,8 +230,8 @@ START_TEST(ecore_test_ecore_thread_eina_thread_queue_t3)
parent = eina_thread_queue_parent_get(thq2);
fail_if(parent != thqmaster);
 
-   ecore_thread_feedback_run(th21_do, NULL, NULL, NULL, NULL, EINA_TRUE);
-   ecore_thread_feedback_run(th22_do, NULL, NULL, NULL, NULL, EINA_TRUE);
+   ecore_thread_feedback_run(th31_do, NULL, NULL, NULL, NULL, EINA_TRUE);
+   ecore_thread_feedback_run(th32_do, NULL, NULL, NULL, NULL, EINA_TRUE);
for (;;)
  {
 Eina_Thread_Queue_Msg_Sub *sub;
@@ -284,7 +284,7 @@ typedef struct
 } Msg4;
 
 static void
-th31_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th41_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val = 100;
 
@@ -302,7 +302,7 @@ th31_do(void *data EINA_UNUSED, Ecore_Thread *th 
EINA_UNUSED)
 }
 
 static void
-th32_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th42_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val = 1000;
 
@@ -329,8 +329,8 @@ START_TEST(ecore_test_ecore_thread_eina_thread_queue_t4)
ecore_init();
thq1 = eina_thread_queue_new();
if (!thq1) fail();
-   ecore_thread_feedback_run(th31_do, NULL, NULL, NULL, NULL, EINA_TRUE);
-   ecore_thread_feedback_run(th32_do, NULL, NULL, NULL, NULL, EINA_TRUE);
+   ecore_thread_feedback_run(th41_do, NULL, NULL, NULL, NULL, EINA_TRUE);
+   ecore_thread_feedback_run(th42_do, NULL, NULL, NULL, NULL, EINA_TRUE);
for (;;)
  {
 Msg4 *msg;
@@ -371,8 +371,10 @@ typedef struct
char   pad[10];
 } Msg5;
 
+static Eina_Semaphore th4_sem;
+
 static void
-th41_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th51_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val = 100;
 
@@ -388,10 +390,12 @@ th41_do(void *data EINA_UNUSED, Ecore_Thread *th 
EINA_UNUSED)
 if (val == 1100) break;
 val++;
  }
+
+   eina_semaphore_release(_sem, 1);
 }
 
 static void
-th42_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
+th52_do(void *data EINA_UNUSED, Ecore_Thread *th EINA_UNUSED)
 {
int val;
 
@@ -412,6 +416,8 @@ th42_do(void *data EINA_UNUSED, Ecore_Thread *th 
EINA_UNUSED)
 eina_thread_queue_send_done(thq2, ref);
 if (val == 1100) break;
  }
+
+   eina_semaphore_release(_sem, 1);
 }
 
 
@@ -419,15 +425,15 @@ START_TEST(ecore_test_ecore_thread_eina_thread_queue_t5)
 {
int val = 99;
 
-   eina_init();
ecore_init();
+   eina_semaphore_new(_sem, 0);
 
thq1 = eina_thread_queue_new();
if (!thq1) 

[EGIT] [core/efl] master 02/05: evas: Use efl_data_scope_safe_get in evas events

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 1729930db0c5d2d1af8a0d8be916565681514517
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 14:08:25 2017 +0900

evas: Use efl_data_scope_safe_get in evas events

This removes a few NULL + efl_isa safety checks.
---
 src/lib/evas/canvas/efl_canvas_proxy.c |  2 +-
 src/lib/evas/canvas/evas_callbacks.c   | 37 +-
 src/lib/evas/include/evas_private.h|  3 +--
 3 files changed, 12 insertions(+), 30 deletions(-)

diff --git a/src/lib/evas/canvas/efl_canvas_proxy.c 
b/src/lib/evas/canvas/efl_canvas_proxy.c
index 3d9aa380b2..47e32e9d57 100644
--- a/src/lib/evas/canvas/efl_canvas_proxy.c
+++ b/src/lib/evas/canvas/efl_canvas_proxy.c
@@ -251,7 +251,7 @@ _proxy_image_get(Evas_Image_Data *o)
  return NULL;
 
if (efl_isa(o->cur->source, EFL_CANVAS_IMAGE_INTERNAL_CLASS))
- source_img = efl_data_scope_get(o->cur->source, 
EFL_CANVAS_IMAGE_INTERNAL_CLASS);
+ source_img = efl_data_scope_safe_get(o->cur->source, 
EFL_CANVAS_IMAGE_INTERNAL_CLASS);
 
if (source_img)
  return source_img->engine_data;
diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 822baa2133..faf0c483f3 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -460,9 +460,7 @@ evas_object_event_callback_add(Evas_Object *eo_obj, 
Evas_Callback_Type type, Eva
 EAPI void
 evas_object_event_callback_priority_add(Evas_Object *eo_obj, 
Evas_Callback_Type type, Evas_Callback_Priority priority, Evas_Object_Event_Cb 
func, const void *data)
 {
-   if(!eo_obj) return;
-   EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS));
-   Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
+   Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
Evas_Event_Cb_Wrapper_Info *cb_info;
const Efl_Event_Description *desc;
 
@@ -485,9 +483,7 @@ evas_object_event_callback_priority_add(Evas_Object 
*eo_obj, Evas_Callback_Type
 EAPI void *
 evas_object_event_callback_del(Evas_Object *eo_obj, Evas_Callback_Type type, 
Evas_Object_Event_Cb func)
 {
-   if(!eo_obj) return NULL;
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS), 
NULL);
-   Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
+   Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
Evas_Event_Cb_Wrapper_Info *info;
 
if (!obj) return NULL;
@@ -514,9 +510,7 @@ evas_object_event_callback_del(Evas_Object *eo_obj, 
Evas_Callback_Type type, Eva
 EAPI void *
 evas_object_event_callback_del_full(Evas_Object *eo_obj, Evas_Callback_Type 
type, Evas_Object_Event_Cb func, const void *data)
 {
-   if(!eo_obj) return NULL;
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_obj, EFL_CANVAS_OBJECT_CLASS), 
NULL);
-   Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
+   Evas_Object_Protected_Data *obj = efl_data_scope_safe_get(eo_obj, 
EFL_CANVAS_OBJECT_CLASS);
Evas_Event_Cb_Wrapper_Info *info;
 
if (!obj) return NULL;
@@ -550,12 +544,11 @@ evas_event_callback_add(Evas *eo_e, Evas_Callback_Type 
type, Evas_Event_Cb func,
 EAPI void
 evas_event_callback_priority_add(Evas *eo_e, Evas_Callback_Type type, 
Evas_Callback_Priority priority, Evas_Event_Cb func, const void *data)
 {
-   if(!eo_e) return;
-   EINA_SAFETY_ON_FALSE_RETURN(efl_isa(eo_e, EVAS_CANVAS_CLASS));
-   Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+   Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS);
Evas_Event_Cb_Wrapper_Info *cb_info;
const Efl_Event_Description *desc;
 
+   if (!e) return;
if (!func) return;
 
cb_info = calloc(1, sizeof(*cb_info));
@@ -573,9 +566,7 @@ evas_event_callback_priority_add(Evas *eo_e, 
Evas_Callback_Type type, Evas_Callb
 EAPI void *
 evas_event_callback_del(Evas *eo_e, Evas_Callback_Type type, Evas_Event_Cb 
func)
 {
-   if(!eo_e) return NULL;
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_e, EVAS_CANVAS_CLASS), NULL);
-   Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+   Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS);
Evas_Event_Cb_Wrapper_Info *info;
 
if (!e) return NULL;
@@ -602,9 +593,7 @@ evas_event_callback_del(Evas *eo_e, Evas_Callback_Type 
type, Evas_Event_Cb func)
 EAPI void *
 evas_event_callback_del_full(Evas *eo_e, Evas_Callback_Type type, 
Evas_Event_Cb func, const void *data)
 {
-   if(!eo_e) return NULL;
-   EINA_SAFETY_ON_FALSE_RETURN_VAL(efl_isa(eo_e, EVAS_CANVAS_CLASS), NULL);
-   Evas_Public_Data *e = efl_data_scope_get(eo_e, EVAS_CANVAS_CLASS);
+   Evas_Public_Data *e = efl_data_scope_safe_get(eo_e, EVAS_CANVAS_CLASS);
Evas_Event_Cb_Wrapper_Info 

[EGIT] [core/efl] master 05/05: tests: Remove invalid call to elm_run

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 4d68ec6e3d43e41def456d0397a058c6d79d9e22
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 16:47:51 2017 +0900

tests: Remove invalid call to elm_run

Nothing is supposed to happen here. Just exit after running
the checks. Don't wait for something to happen until eternity...
---
 src/tests/elementary/elm_test_image.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/tests/elementary/elm_test_image.c 
b/src/tests/elementary/elm_test_image.c
index 96ca9af305..290c23d973 100644
--- a/src/tests/elementary/elm_test_image.c
+++ b/src/tests/elementary/elm_test_image.c
@@ -199,8 +199,6 @@ START_TEST (efl_ui_image_icon)
icon_name = efl_ui_image_icon_get(image);
ck_assert(icon_name == NULL);
 
-   elm_run();
-
elm_shutdown();
 }
 END_TEST

-- 




[EGIT] [core/efl] master 03/05: win: Use efl_data_scope_safe_get instead of macros

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit f54d891b2c7ef648e8593242b771f782e4655950
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 14:23:46 2017 +0900

win: Use efl_data_scope_safe_get instead of macros

This removes macros that don't make the code easier to read
and aren't actually as safe as this safe data_get.
---
 src/lib/elementary/efl_ui_win.c | 316 +++-
 1 file changed, 151 insertions(+), 165 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 10bbc18b01..a47d5f3e5f 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -59,10 +59,6 @@ static const Elm_Win_Trap *trap = NULL;
return __VA_ARGS__;   \
 }
 
-#define ELM_WIN_CHECK(obj) \
-  if (!obj || !efl_isa(obj, MY_CLASS)) \
-return
-
 #define ENGINE_GET() (_elm_preferred_engine ? _elm_preferred_engine : 
_elm_config->engine)
 
 typedef struct _Efl_Ui_Win_Data Efl_Ui_Win_Data;
@@ -5884,8 +5880,8 @@ _efl_ui_win_efl_gfx_size_hint_hint_step_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Win_Data
 EAPI void
 elm_win_norender_push(Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj);
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
 
sd->norender++;
if (sd->norender == 1) ecore_evas_manual_render_set(sd->ee, EINA_TRUE);
@@ -5894,8 +5890,8 @@ elm_win_norender_push(Evas_Object *obj)
 EAPI void
 elm_win_norender_pop(Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj);
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
 
if (sd->norender <= 0) return;
sd->norender--;
@@ -5905,16 +5901,18 @@ elm_win_norender_pop(Evas_Object *obj)
 EAPI int
 elm_win_norender_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) - 1;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, -1);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return -1;
+
return sd->norender;
 }
 
 EAPI void
 elm_win_render(Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj);
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
+
ecore_evas_manual_render(sd->ee);
 }
 
@@ -6405,8 +6403,8 @@ elm_win_trap_set(const Elm_Win_Trap *t)
 EAPI void
 elm_win_floating_mode_set(Evas_Object *obj, Eina_Bool floating)
 {
-   ELM_WIN_CHECK(obj);
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return;
 
floating = !!floating;
if (floating == sd->floating) return;
@@ -6428,8 +6426,8 @@ elm_win_floating_mode_set(Evas_Object *obj, Eina_Bool 
floating)
 EAPI Eina_Bool
 elm_win_floating_mode_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) EINA_FALSE;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, EINA_FALSE);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return EINA_FALSE;
 
return sd->floating;
 }
@@ -6917,8 +6915,8 @@ elm_win_get(Evas_Object *obj)
 EAPI Ecore_X_Window
 elm_win_xwindow_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) 0;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, 0);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return 0;
 
 #ifdef HAVE_ELEMENTARY_X
if (sd->x.xwin) return sd->x.xwin;
@@ -6930,10 +6928,11 @@ elm_win_xwindow_get(const Evas_Object *obj)
 EAPI Ecore_Wl2_Window *
 elm_win_wl_window_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) NULL;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, NULL);
-   const char *engine_name = ecore_evas_engine_name_get(sd->ee);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   const char *engine_name;
 
+   if (!sd) return NULL;
+   engine_name = ecore_evas_engine_name_get(sd->ee);
if (!(engine_name &&
  ((!strcmp(engine_name, ELM_WAYLAND_SHM)) ||
   (!strcmp(engine_name, ELM_WAYLAND_EGL)
@@ -6956,8 +6955,8 @@ elm_win_wl_window_get(const Evas_Object *obj)
 EAPI Ecore_Cocoa_Window *
 elm_win_cocoa_window_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) NULL;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, NULL);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   if (!sd) return NULL;
 
Ecore_Evas *ee = ecore_evas_ecore_evas_get(evas_object_evas_get(obj));
return _elm_ee_cocoa_win_get(ee);
@@ -6966,11 +6965,11 @@ elm_win_cocoa_window_get(const Evas_Object *obj)
 EAPI Ecore_Win32_Window *
 elm_win_win32_window_get(const Evas_Object *obj)
 {
-   ELM_WIN_CHECK(obj) NULL;
-   ELM_WIN_DATA_GET_OR_RETURN(obj, sd, NULL);
-
-   const char *engine_name = ecore_evas_engine_name_get(sd->ee);
+   Efl_Ui_Win_Data *sd = efl_data_scope_safe_get(obj, MY_CLASS);
+   const char *engine_name;
 
+   if (!sd) 

[EGIT] [core/efl] master 01/05: eo: Add API efl_data_scope_safe_get

2017-06-14 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit b96722cfb8baf5761295c487faf7396a873a2428
Author: Jean-Philippe Andre 
Date:   Wed Jun 14 13:40:46 2017 +0900

eo: Add API efl_data_scope_safe_get

This is a safe version of efl_data_scope_get, meaning that it will
return NULL if the object is not of the required type, or if there
is no data for that class, or if the given class was used as an
interface (and isn't a mixin).

@feature
---
 src/lib/eo/Eo.h   | 29 +
 src/lib/eo/eo.c   | 23 +--
 src/tests/eo/suite/eo_test_class_simple.c | 22 +-
 src/tests/eo/suite/eo_test_class_simple.h |  4 
 src/tests/eo/suite/eo_test_general.c  | 24 
 5 files changed, 99 insertions(+), 3 deletions(-)

diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 32c132edaa..03230015bd 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -1225,18 +1225,47 @@ EAPI Eo * _efl_add_internal_start(const char *file, int 
line, const Efl_Class *k
 
 /**
  * @brief Get a pointer to the data of an object for a specific class.
+ *
  * The data reference count is not incremented. The pointer must be used only
  * in the scope of the function and its callees.
+ *
  * @param obj the object to work on.
  * @param klass the klass associated with the data.
  * @return a pointer to the data.
  *
  * @see efl_data_ref()
  * @see efl_data_unref()
+ * @see efl_data_scope_safe_get()
  */
 EAPI void *efl_data_scope_get(const Eo *obj, const Efl_Class *klass);
 
 /**
+ * @brief Safely get a pointer to the data of an object for a specific class.
+ *
+ * This call runs a dynamic check and returns NULL if there is no valid data
+ * to return.
+ *
+ * The data reference count is not incremented. The pointer must be used only
+ * in the scope of the function and its callees. This function will return NULL
+ * if there is no data for this class, or if this object is not an instance of
+ * the given class. The function will return NULL if the data size is 0.
+ * Note that objects of class A inheriting from another class C as an
+ * interface (like: class A(B, C) {} ) will have no data for class C. This
+ * means that efl_isa(a, C) will return true but there is no data for C. This
+ * function's behaviour is similar to efl_data_scope_get() when running in
+ * debug mode (but this prints less error logs).
+ *
+ * @param obj the object to work on.
+ * @param klass the klass associated with the data.
+ * @return a pointer to the data or NULL in case of error or $obj was NULL.
+ *
+ * @see efl_data_scope_get()
+ *
+ * @since 1.20
+ */
+EAPI void *efl_data_scope_safe_get(const Eo *obj, const Efl_Class *klass);
+
+/**
  * @def efl_data_xref(obj, klass, ref_obj)
  * Use this macro if you want to associate a referencer object.
  * Convenience macro around efl_data_xref_internal()
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 55f00e1006..e4f767b687 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -1102,7 +1102,6 @@ _vtable_init(Eo_Vtable *vtable, size_t size)
vtable->chain = calloc(vtable->size, sizeof(*vtable->chain));
 }
 
-#ifdef EO_DEBUG
 static Eina_Bool
 _eo_class_mro_has(const _Efl_Class *klass, const _Efl_Class *find)
 {
@@ -1116,7 +1115,6 @@ _eo_class_mro_has(const _Efl_Class *klass, const 
_Efl_Class *find)
  }
return EINA_FALSE;
 }
-#endif
 
 static Eina_List *
 _eo_class_list_remove_duplicates(Eina_List* list)
@@ -2003,6 +2001,27 @@ err_klass:
 }
 
 EAPI void *
+efl_data_scope_safe_get(const Eo *obj_id, const Efl_Class *klass_id)
+{
+#ifndef EO_DEBUG
+   void *ret = NULL;
+
+   if (!obj_id) return NULL;
+   EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, NULL);
+   EO_CLASS_POINTER_GOTO(klass_id, klass, err_klass);
+
+   if (_eo_class_mro_has(obj->klass, klass))
+ ret = _efl_data_scope_safe_get(obj, klass);
+
+err_klass:
+   EO_OBJ_DONE(obj_id);
+   return ret;
+#else
+   return efl_data_scope_get(obj_id, klass_id);
+#endif
+}
+
+EAPI void *
 efl_data_xref_internal(const char *file, int line, const Eo *obj_id, const 
Efl_Class *klass_id, const Eo *ref_obj_id)
 {
void *ret = NULL;
diff --git a/src/tests/eo/suite/eo_test_class_simple.c 
b/src/tests/eo/suite/eo_test_class_simple.c
index 56620c68a2..281549c629 100644
--- a/src/tests/eo/suite/eo_test_class_simple.c
+++ b/src/tests/eo/suite/eo_test_class_simple.c
@@ -142,7 +142,7 @@ static const Efl_Class_Description class_desc2 = {
  EO_VERSION,
  "Simple2",
  EFL_CLASS_TYPE_REGULAR,
- 0,
+ sizeof(Simple_Public_Data),
  _class_initializer2,
  NULL,
  NULL
@@ -150,6 +150,26 @@ static const Efl_Class_Description class_desc2 = {
 
 EFL_DEFINE_CLASS(simple2_class_get, _desc2, EO_CLASS, NULL)
 
+
+static Eina_Bool
+_class_initializer3(Efl_Class *klass)
+{
+   return 

[EGIT] [core/efl] master 01/01: scroller: Remove propagate_events to avoid name collision

2017-06-14 Thread Jeeyong Um
conr2d pushed a commit to branch master.

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

commit 97c10e9346837fcd354fe9144d57cd8d63654d00
Author: Jeeyong Um 
Date:   Wed Jun 14 15:20:23 2017 +0900

scroller: Remove propagate_events to avoid name collision
---
 src/lib/elementary/elm_scroller.c| 15 ++-
 src/lib/elementary/elm_scroller.eo   | 19 ---
 src/lib/elementary/elm_scroller_legacy.h | 25 +
 3 files changed, 31 insertions(+), 28 deletions(-)

diff --git a/src/lib/elementary/elm_scroller.c 
b/src/lib/elementary/elm_scroller.c
index 6703ad..12739a3839 100644
--- a/src/lib/elementary/elm_scroller.c
+++ b/src/lib/elementary/elm_scroller.c
@@ -1413,19 +1413,16 @@ elm_scroller_wheel_disabled_get(const Evas_Object *obj)
return elm_interface_scrollable_wheel_disabled_get((Eo *) obj);
 }
 
-EOLIAN static void
-_elm_scroller_propagate_events_set(Eo *obj, Elm_Scroller_Data *_pd 
EINA_UNUSED, Eina_Bool propagation)
+EAPI void
+elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool propagation)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
-
-   evas_object_propagate_events_set(wd->resize_obj, propagation);
+   evas_object_propagate_events_set(elm_layout_edje_get(obj), propagation);
 }
 
-EOLIAN static Eina_Bool
-_elm_scroller_propagate_events_get(Eo *obj, Elm_Scroller_Data *_pd EINA_UNUSED)
+EAPI Eina_Bool
+elm_scroller_propagate_events_get(const Evas_Object *obj)
 {
-   ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, EINA_FALSE);
-   return evas_object_propagate_events_get(wd->resize_obj);
+   return evas_object_propagate_events_get(elm_layout_edje_get(obj));
 }
 
 static void
diff --git a/src/lib/elementary/elm_scroller.eo 
b/src/lib/elementary/elm_scroller.eo
index e869a52e15..7f0a6cf290 100644
--- a/src/lib/elementary/elm_scroller.eo
+++ b/src/lib/elementary/elm_scroller.eo
@@ -7,25 +7,6 @@ class Elm.Scroller (Elm.Layout, Elm.Interface_Scrollable,
eo_prefix: elm_obj_scroller;
event_prefix: elm_scroller;
methods {
-  @property propagate_events {
- set {
-[[Set event propagation on a scroller
-
-  This enables or disables event propagation from the scroller
-  content to the scroller and its parent. By default event
-  propagation is enabled.
-]]
- }
- get {
-[[Get event propagation for a scroller
-
-  This gets the event propagation for a scroller.
-]]
- }
- values {
-propagation: bool; [[The propagation state]]
- }
-  }
   @property custom_widget_base_theme {
  set {
 [[Set custom theme elements for the scroller]]
diff --git a/src/lib/elementary/elm_scroller_legacy.h 
b/src/lib/elementary/elm_scroller_legacy.h
index 28e5d785e6..3b8dffad46 100644
--- a/src/lib/elementary/elm_scroller_legacy.h
+++ b/src/lib/elementary/elm_scroller_legacy.h
@@ -559,3 +559,28 @@ EAPI void  
elm_scroller_wheel_disabled_set(Evas_Object *
  * @ingroup Elm_Scroller
  */
 EAPI Eina_Bool elm_scroller_wheel_disabled_get(const 
Evas_Object *obj);
+
+/**
+ * @brief Set event propagation on a scroller
+ *
+ * This enables or disables event propagation from the scroller content to the
+ * scroller and its parent. By default event propagation is enabled.
+ *
+ * @param[in] obj The scroller object
+ * @param[in] propagation The propagation state
+ *
+ * @ingroup Elm_Scroller
+ */
+EAPI void elm_scroller_propagate_events_set(Evas_Object *obj, Eina_Bool 
propagation);
+
+/**
+ * @brief Get event propagation for a scroller
+ *
+ * This gets the event propagation for a scroller.
+ *
+ * @param[in] obj The scroller object
+ * @return The propagation state
+ *
+ * @ingroup Elm_Scroller
+ */
+EAPI Eina_Bool elm_scroller_propagate_events_get(const Evas_Object *obj);

--