[EGIT] [core/efl] master 01/04: evas: Fix legacy events output vs. canvas coords

2016-10-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 40fec5f608da4c5188a2afc7cc293d4f74a4b68d
Author: Jean-Philippe Andre 
Date:   Mon Oct 17 11:34:05 2016 +0900

evas: Fix legacy events output vs. canvas coords

In case of a mapped object (eg. when applying a map to a window
in wayland compositor), the canvas and output coordinates are
not meant to be the same.

In EO land, applications should instead use the common interface
Efl.Input.Interface.pointer_xy.get (on the canvas).

@fix
---
 src/lib/evas/canvas/evas_callbacks.c |  2 +-
 src/lib/evas/canvas/evas_events_legacy.c | 10 ++
 src/lib/evas/include/evas_private.h  |  2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 18117bf..d529399 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -167,7 +167,7 @@ _eo_evas_object_cb(void *data, const Efl_Event *event)
switch (info->efl_event_type)
  {
   case EFL_EVENT_TYPE_POINTER:
-event_info = efl_input_pointer_legacy_info_fill(efl_event_info, 
info->type, &event_flags);
+event_info = efl_input_pointer_legacy_info_fill(evas, efl_event_info, 
info->type, &event_flags);
 break;
 
   case EFL_EVENT_TYPE_KEY:
diff --git a/src/lib/evas/canvas/evas_events_legacy.c 
b/src/lib/evas/canvas/evas_events_legacy.c
index 2b4f7e5..9c57bb4 100644
--- a/src/lib/evas/canvas/evas_events_legacy.c
+++ b/src/lib/evas/canvas/evas_events_legacy.c
@@ -33,12 +33,14 @@ _event_alloc(void *old)
 }
 
 void *
-efl_input_pointer_legacy_info_fill(Efl_Input_Key *evt, Evas_Callback_Type 
type, Evas_Event_Flags **pflags)
+efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, 
Evas_Callback_Type type, Evas_Event_Flags **pflags)
 {
-   Efl_Input_Pointer_Data *ev = efl_data_scope_get(evt, 
EFL_INPUT_POINTER_CLASS);
-   if (!ev) return NULL;
+   Efl_Input_Pointer_Data *ev = efl_data_scope_get(eo_ev, 
EFL_INPUT_POINTER_CLASS);
+   Evas_Public_Data *evas = efl_data_scope_get(eo_evas, EVAS_CANVAS_CLASS);
+
+   if (!ev || !evas) return NULL;
 
-#define COORD_DUP(e) do { (e)->output.x = (e)->canvas.x; (e)->output.y = 
(e)->canvas.y; } while (0)
+#define COORD_DUP(e) do { (e)->output.x = evas->pointer.x; (e)->output.y = 
evas->pointer.y; } while (0)
 #define TYPE_CHK(typ) do { if (type != EVAS_CALLBACK_ ## typ) return NULL; } 
while (0)
 
switch (ev->action)
diff --git a/src/lib/evas/include/evas_private.h 
b/src/lib/evas/include/evas_private.h
index 1106e67..6dc037b 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -1916,7 +1916,7 @@ void _evas_device_cleanup(Evas *e);
 Evas_Device *_evas_device_top_get(const Evas *e);
 
 /* legacy/eo events */
-void *efl_input_pointer_legacy_info_fill(Efl_Input_Key *evt, 
Evas_Callback_Type type, Evas_Event_Flags **pflags);
+void *efl_input_pointer_legacy_info_fill(Evas *eo_evas, Efl_Input_Key *eo_ev, 
Evas_Callback_Type type, Evas_Event_Flags **pflags);
 void *efl_input_key_legacy_info_fill(Efl_Input_Key *evt, Evas_Event_Flags 
**pflags);
 void *efl_input_hold_legacy_info_fill(Efl_Input_Hold *evt, Evas_Event_Flags 
**pflags);
 

-- 




[EGIT] [core/efl] master 02/04: elm: Remove some eo files from installation

2016-10-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit d4929e58fc086db5fff265f5770b35399c3908f9
Author: Jean-Philippe Andre 
Date:   Tue Oct 18 19:34:12 2016 +0900

elm: Remove some eo files from installation

These are some of the EO files that shouldn't be part of the public
EO API:
- elm_access (old)
- actionslider
- bubble
- diskselector
- flipselector (a fancy spinner)
- hoversel (use combobox instead)
- icon (use image instead)
- inwin
- naviframe (unreplaced for now)
- photo (use image)
- prefs
- segment control
- separator
- slideshow
- thumb (use image)

Note: This breaks the use of the elm_widget_xxx.h headers. Those
  were internal headers anyway. Exposed because of a lack of
  a proper inheritance API.
---
 src/Makefile_Elementary.am| 56 +--
 src/lib/elementary/efl_ui_text.c  |  1 +
 src/lib/elementary/elc_hoversel.c |  2 ++
 src/lib/elementary/elc_hoversel.h |  3 --
 src/lib/elementary/elc_hoversel_eo.h  |  2 --
 src/lib/elementary/elc_naviframe.c|  2 ++
 src/lib/elementary/elc_naviframe.h|  3 --
 src/lib/elementary/elc_naviframe_eo.h | 12 ---
 src/lib/elementary/elm_actionslider.c |  2 ++
 src/lib/elementary/elm_actionslider.h |  3 --
 src/lib/elementary/elm_actionslider_eo.h  |  1 -
 src/lib/elementary/elm_bubble.c   |  1 +
 src/lib/elementary/elm_bubble.h   |  3 --
 src/lib/elementary/elm_bubble_eo.h|  1 -
 src/lib/elementary/elm_code_widget.c  |  3 ++
 src/lib/elementary/elm_dbus_menu.c|  1 +
 src/lib/elementary/elm_entry.c|  1 +
 src/lib/elementary/elm_flipselector.c |  3 ++
 src/lib/elementary/elm_flipselector.h |  3 --
 src/lib/elementary/elm_flipselector_eo.h  |  2 --
 src/lib/elementary/elm_icon.c |  1 +
 src/lib/elementary/elm_icon.h |  3 --
 src/lib/elementary/elm_icon_eo.h  |  1 -
 src/lib/elementary/elm_inwin.c|  1 +
 src/lib/elementary/elm_inwin.h|  3 --
 src/lib/elementary/elm_inwin_eo.h |  1 -
 src/lib/elementary/elm_photo.c|  2 ++
 src/lib/elementary/elm_photo.h|  3 --
 src/lib/elementary/elm_photo_eo.h | 11 --
 src/lib/elementary/elm_prefs.c|  3 +-
 src/lib/elementary/elm_prefs.h|  3 --
 src/lib/elementary/elm_prefs_eo.h | 11 --
 src/lib/elementary/elm_theme.c|  1 +
 src/lib/elementary/elm_thumb.c|  1 +
 src/lib/elementary/elm_thumb.h|  3 --
 src/lib/elementary/elm_thumb_eo.h |  1 -
 src/lib/elementary/elm_view_form.c|  2 ++
 src/lib/elementary/elm_widget_naviframe.h |  2 ++
 src/lib/elementary/elm_widget_prefs.h |  1 +
 39 files changed, 51 insertions(+), 108 deletions(-)

diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index 54239b5..5a3de81 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -2,12 +2,9 @@
 ### Library
 
 elm_public_eolian_files = \
-   lib/elementary/elm_access.eo \
-   lib/elementary/elm_actionslider.eo \
lib/elementary/elm_atspi_bridge.eo \
lib/elementary/elm_atspi_app_object.eo \
lib/elementary/elm_bg.eo \
-   lib/elementary/elm_bubble.eo \
lib/elementary/elm_button.eo \
lib/elementary/elm_calendar.eo \
lib/elementary/elm_check.eo \
@@ -18,14 +15,10 @@ elm_public_eolian_files = \
lib/elementary/elm_ctxpopup.eo \
lib/elementary/elm_datetime.eo \
lib/elementary/elm_dayselector.eo \
-   lib/elementary/elm_diskselector.eo \
lib/elementary/elm_entry.eo \
lib/elementary/elm_fileselector.eo \
-   lib/elementary/elm_fileselector_button.eo \
-   lib/elementary/elm_fileselector_entry.eo \
lib/elementary/efl_ui_flip.eo \
lib/elementary/efl_ui_flip_internal_part.eo \
-   lib/elementary/elm_flipselector.eo \
lib/elementary/efl_ui_frame.eo \
lib/elementary/elm_gengrid.eo \
lib/elementary/elm_gengrid_pan.eo \
@@ -34,8 +27,6 @@ elm_public_eolian_files = \
lib/elementary/elm_gesture_layer.eo \
lib/elementary/elm_glview.eo \
lib/elementary/elm_hover.eo \
-   lib/elementary/elm_hoversel.eo \
-   lib/elementary/elm_icon.eo \
lib/elementary/efl_ui_image.eo \
lib/elementary/elm_index.eo \
lib/elementary/elm_interface_atspi_accessible.eo \
@@ -50,7 +41,6 @@ elm_public_eolian_files = \
lib/elementary/elm_interface_atspi_window.eo \
lib/elementary/elm_interface_fileselector.eo \
lib/elementary/elm_interface_scrollable.eo \
-   lib/elementary/elm_inwin.eo \
lib/elementary/elm_label.eo \
lib/elementary/elm_layout.eo \
lib/elementary/elm_list.eo \
@

[EGIT] [core/efl] master 03/04: examples: Remove now broken cxx elm examples

2016-10-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 34e6c834ce1eeb1ebdf7316b8b301e781b23e09c
Author: Jean-Philippe Andre 
Date:   Tue Oct 18 19:34:25 2016 +0900

examples: Remove now broken cxx elm examples

Bubble, thumb and separator cxx examples rely on APIs we don't
want to expose in EO, so not available in C++ either. Those
are legacy only.
---
 src/examples/elementary/Makefile.am| 19 +--
 src/examples/elementary/bubble_cxx_example_01.cc   | 66 --
 .../elementary/separator_cxx_example_01.cc | 54 --
 src/examples/elementary/thumb_cxx_example_01.cc| 47 ---
 4 files changed, 1 insertion(+), 185 deletions(-)

diff --git a/src/examples/elementary/Makefile.am 
b/src/examples/elementary/Makefile.am
index fc279c1..0e91f9a 100644
--- a/src/examples/elementary/Makefile.am
+++ b/src/examples/elementary/Makefile.am
@@ -187,9 +187,6 @@ calendar_cxx_example_05.cc \
 clock_cxx_example.cc \
 datetime_cxx_example.cc \
 icon_cxx_example_01.cc \
-separator_cxx_example_01.cc \
-thumb_cxx_example_01.cc \
-bubble_cxx_example_01.cc \
 button_cxx_example_00.cc
 endif
 #table_cxx_example_02.cc \
@@ -413,17 +410,12 @@ calendar_cxx_example_05 \
 clock_cxx_example \
 datetime_cxx_example \
 icon_cxx_example_01 \
-thumb_cxx_example_01 \
-separator_cxx_example_01 \
-bubble_cxx_example_01 \
 button_cxx_example_00
 # examples_PROGRAMS += \
-# thumb_cxx_example_01 \
 # table_cxx_example_02 \
 # table_cxx_example_01 \
 # spinner_cxx_example \
 # slider_cxx_example \
-# separator_cxx_example_01 \
 # radio_cxx_example_01 \
 # popup_cxx_example_01 \
 # menu_cxx_example_01 \
@@ -440,7 +432,6 @@ button_cxx_example_00
 # calendar_cxx_example_01 \
 # button_cxx_example_01 \
 # button_cxx_example_00 \
-# bubble_cxx_example_01 \
 # box_cxx_example_02 \
 # bg_cxx_example_02 \
 # bg_cxx_example_01
@@ -469,15 +460,11 @@ calendar_cxx_example_02_SOURCES = 
calendar_cxx_example_02.cc
 calendar_cxx_example_01_SOURCES = calendar_cxx_example_01.cc
 bg_cxx_example_02_SOURCES = bg_cxx_example_02.cc
 bg_cxx_example_01_SOURCES = bg_cxx_example_01.cc
-thumb_cxx_example_01_SOURCES = thumb_cxx_example_01.cc
-separator_cxx_example_01_SOURCES = separator_cxx_example_01.cc
-bubble_cxx_example_01_SOURCES = bubble_cxx_example_01.cc
 button_cxx_example_00_SOURCES = button_cxx_example_00.cc
 # table_cxx_example_02_SOURCES = table_cxx_example_02.cc
 # table_cxx_example_01_SOURCES = table_cxx_example_01.cc
 # spinner_cxx_example_SOURCES = spinner_cxx_example.cc
 # slider_cxx_example_SOURCES = slider_cxx_example.cc
-# separator_cxx_example_01_SOURCES = separator_cxx_example_01.cc
 # radio_cxx_example_01_SOURCES = radio_cxx_example_01.cc
 # popup_cxx_example_01_SOURCES = popup_cxx_example_01.cc
 # menu_cxx_example_01_SOURCES = menu_cxx_example_01.cc
@@ -494,7 +481,6 @@ button_cxx_example_00_SOURCES = button_cxx_example_00.cc
 # calendar_cxx_example_01_SOURCES = calendar_cxx_example_01.cc
 # button_cxx_example_01_SOURCES = button_cxx_example_01.cc
 # button_cxx_example_00_SOURCES = button_cxx_example_00.cc
-# bubble_cxx_example_01_SOURCES = bubble_cxx_example_01.cc
 # box_cxx_example_02_SOURCES = box_cxx_example_02.cc
 # bg_cxx_example_02_SOURCES = bg_cxx_example_02.cc
 # bg_cxx_example_01_SOURCES = bg_cxx_example_01.cc
@@ -590,7 +576,6 @@ if HAVE_CXX11
 SCREENSHOTS += \
  bg_cxx_example_02:bg_cxx_example_02.png:0.0 \
  box_cxx_example_02:box_cxx_example_02.png:1.3 \
- bubble_cxx_example_01:bubble_cxx_example_01.png:0.0 \
  button_cxx_example_00:button_cxx_example_00.png:0.0 \
  button_cxx_example_01:button_cxx_example_01.png:0.0 \
  calendar_cxx_example_01:calendar_cxx_example_01.png:0.0 \
@@ -606,12 +591,10 @@ SCREENSHOTS += \
  popup_cxx_example_01:popup_cxx_example_01.png:1.0 \
  popup_cxx_example_01:popup_cxx_example_01_a.png:6.0 \
  radio_cxx_example_01:radio_cxx_example_01.png:0.0 \
- separator_cxx_example_01:separator_cxx_example_01.png:0.0 \
  slider_cxx_example:slider_cxx_example.png:0.0 \
  spinner_cxx_example:spinner_cxx_example.png:0.0 \
  table_cxx_example_01:table_cxx_example_01.png:0.0 \
- table_cxx_example_02:table_cxx_example_02.png:0.0 \
- thumb_cxx_example_01:thumb_cxx_example_01.png:0.5
+ table_cxx_example_02:table_cxx_example_02.png:0.0
 endif
 
 HTML_SS_DIR=$(top_builddir)/doc/html/screenshots
diff --git a/src/examples/elementary/bubble_cxx_example_01.cc 
b/src/examples/elementary/bubble_cxx_example_01.cc
deleted file mode 100644
index e6e0931..000
--- a/src/examples/elementary/bubble_cxx_example_01.cc
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#include "elementary_config.h"
-#endif
-
-#include 
-#include 
-
-EAPI_MAIN int
-elm_main (int argc, char *argv[])
-{
-   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
-
-   efl::ui::win::Standard win;
-   // win.title_set("Bubble");
-   win.autohide_set(true);
-

[EGIT] [core/efl] master 04/04: elm_test: Add minor hack to run test when Enter is pressed

2016-10-25 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit e9d7ca78bf06d52cd658bd36db34da2a2da5f47e
Author: Jean-Philippe Andre 
Date:   Wed Oct 26 14:01:43 2016 +0900

elm_test: Add minor hack to run test when Enter is pressed

If there's only one filtered out button in the list after
searching by name, Enter should activate the entry and run the
test case.
---
 src/bin/elementary/test.c | 19 +++
 1 file changed, 19 insertions(+)

diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index 3a9d630..0c3fa6c 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -449,6 +449,24 @@ _entry_changed_cb(void *data EINA_UNUSED, Evas_Object 
*obj, void *event_info EIN
_menu_create(str);
 }
 
+static void
+_entry_activated_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info 
EINA_UNUSED)
+{
+   const char *str = elm_entry_entry_get(obj);
+   struct elm_test *t, *found = NULL;
+   Eina_List *l;
+
+   if (!str) return;
+   EINA_LIST_FOREACH(tests, l, t)
+ {
+if (!strcasestr(t->name, str)) continue;
+if (found) return;
+found = t;
+ }
+   if (!found) return;
+   evas_object_smart_callback_call(found->btn, "clicked", NULL);
+}
+
 static char *
 _space_removed_string_get(const char *name)
 {
@@ -584,6 +602,7 @@ my_win_main(const char *autorun, Eina_Bool test_win_only)
evas_object_size_hint_weight_set(en, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(en, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_smart_callback_add(en, "changed,user", _entry_changed_cb, NULL);
+   evas_object_smart_callback_add(en, "activated", _entry_activated_cb, NULL);
elm_box_pack_end(bx1, en);
evas_object_show(en);
elm_object_focus_set(en, EINA_TRUE);

-- 




Re: [E-devel] EFL cross compilation for Windows

2016-10-25 Thread Adrien Nader
On Mon, Oct 24, 2016, Stefan Schmidt wrote:
> Hello.
> 
> On 21/10/16 16:44, Andrii Kroitor wrote:
> > Yes, this allows to compile working binaries for Windows from Linux system.
> > At least after this patch will be merged:
> > https://phab.enlightenment.org/D4357
> >
> > I have not tried to build python efl yet, but I can check it next week.
> >
> > It is possible to prepare precompiled packages, but I'm not familiar
> > with package maintenance and distribution.
> > So I have a few question about this:
> > What should be included into package?
> > - binaries (for sure)
> > - includes and other installed files?
> > - some meta info about package?
> > - all dependencies or only their list?
> 
> 
> I honestly have no clue at all how windows packaging is done. What I 
> would expect as a user or developer is thought that all binaries, 
> dll/libs and header files are installed so I can start developing with it.

You're a developer. Not an end-user. It's not completely trivial to have
the same "packaging" for both classes of people. ;-) 

> > Where can they be hosted? Win-builds are inactive for a long time, so I
> > doubt that we can reach their maintainer.
> 
> Vincent said he is in contact with him. Maybe reach out to him if the 
> are plans for a new release?

I'm actually subscribed to this mailing-list, I'm on #e.fr and
sometimes on #edevelop. I got quite a bit behind in my emails a few
months ago and it took me some time to catch up with them.

> > Should these packages be updated and uploaded manually?
> 
> If the path with win builds does not work out we could host the windows 
> binaries next to our source tarballs. Only for releases thought.

Writing and improving the package manager's GUI took time off the
packaging itself and has delayed the current release a lot.

But that actually doesn't matter much. It's supposed to be possible to
base on win-builds and build other versions or other packages and I
don't see why that couldn't apply to the EFLs.

However I'm not sure I understand some of things done in that git
repository. I've only taken a cursory look at it and can't comment much
but I've been more than surprised to see a pthread.h file copied there
and that it came from pthreads-win32 which, I think(*), is
ABI-incompatible while winpthreasd doesn't have that issue (everyone and
their mothers assume pthread_t is an int like on linux).

(*) maybe I've fixed the only occurrence of it a couple years ago, or
maybe not, I don't know anymore, but somehow I doubt it

That said, the priorities in win-builds now are to provide a better
integration with fetching sources from git, iron out the bugs and
current limitations, and release.

> > It would be perfect if someone has working build server able to build
> > EFL on Linux so we could add Windows build to it.
> 
> Before anyone screams Jenkins here. I will only consider new things it 
> handles when its current problems are sorted and we have a longer period 
> of stable usage.
> 
> We had cross builds for efl with mingw for some time but the cross build 
> slave started crashing and after this dragged out for over a year I 
> disabled the mingw builds.

Can you detail the setup a bit more? I don't know which cross-toolchain
and dependencies it used. Somehow I seem to remember they came from
gentoo but I'm not sure.

-- 
Adrien Nader

--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] SSH access to e5

2016-10-25 Thread Viacheslav Reutskiy
Hello,
I'm not sure that is solution for you, but it was help me.

Add to '~/.ssh/config':

Host download.enlightenment.org
ProxyCommand ssh -q e5v1.enlightenment.org -W %h:%p

Best regards


On 10/24/16 21:59, Jonathan Aquilina wrote:
> Hi Raster,
>
> I am still having no luck whats so ever. I think there are further
> quirks with the server. I will touch base with you on irc tomorrow but I
> think what you showed me in that other thread with regards to my ip is
> that it is still blocked :(
>
> Feel free to email me off list so we can sort this out together as I am
> very eager to get going with trying to iron out server isssues.
> --
> 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

-- 
Viacheslav Reutskiy (rimmed)


--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [RFC] One binary to rule them all, packagers opinion needed

2016-10-25 Thread Vincent Torri
On Wed, Oct 26, 2016 at 6:42 AM, Carsten Haitzler  wrote:
> On Wed, 26 Oct 2016 04:50:54 +0200 Vincent Torri  
> said:
>
>> On Wed, Oct 26, 2016 at 2:17 AM, Carsten Haitzler 
>> wrote:
>> > On Tue, 25 Oct 2016 14:32:29 -0700 Cedric BAIL  said:
>> >
>> >> On Mon, Oct 24, 2016 at 10:31 PM, Carsten Haitzler 
>> >> wrote:
>> >> > On Fri, 21 Oct 2016 15:14:20 -0700 Cedric BAIL 
>> >> > said:
>> >> >
>> >> > i've been mulling this. i followed the feedback so far. basically 2 main
>> >> > things:
>> >> >
>> >> > 1. this is intended to improve performance. especially startup times.
>> >> > 2. this is highly problematic in terms of portability and is going to
>> >> > create lots of code and build paths.
>> >>
>> >> It won't create lots of code and build paths. In fact it doesn't even
>> >> need two build paths. It just needs to uses all .la files for building
>> >> quicklaunch and can be rolled in, in parallel to current system. Just
>> >> the link of the quicklaunch binary would be different. Next step would
>> >> be to make a build option that setup symlink to that binary. Finally
>> >> that option would be the default, likely only afffecting the install
>> >> process. I don't think that create a lots of code (There should be no
>> >> code change) and build paths change at all.
>> >
>> > why are you doing a symlink if its JUST a quicklaunch binary change (that
>> > statically compiles all of efl into it)?
>> >
>> > you are trying to replace all of libevas.so.1, libeina.so.1, etc. with
>> > symlinks TO this quicklaunch binary ... to retain binary compatibility. you
>> > cant have the .so's AND this ql binary both have the same set of symbols.
>> > asking for trouble there.
>> >
>> > but to USe this binaries HAVE to be PIe and this makes for a non-portable
>> > pain in the arse of creating apps. which is why i did .so's for quicklaunch
>> > before.. because it also works with dll's on windows. PIE does not. not
>> > that i could find.
>> >
>> >> > 3. this makes debugging and other things a nightmare (ps names are all
>> >> > the same .. well depending on tool etc.)
>> >>
>> >> This is exagerated. Again just need to pass the right command line to
>> >> ps/top and problem is solved. Can easily be documented and we can also
>> >> provide a script that does it until we provide some nicer application
>> >> there.
>> >
>> > i mean simple user debugging. someone runs ps or top and all they see is 20
>> > processes called "quicklaunch". because depending on the ps tool it may use
>> > one proc field or another. so a user goes "quicklaunch process is using N%
>> > cpu or N % ram". what real process is that? they don't know. because procps
>> > tools will not do what you want and thus the average person will become
>> > confused and find anything using efl like this to be horribly hard to work
>> > with.
>> >
>> > if top, htop, ps, killall, etc. don't work out of the box, it isby everyone
>> > (except yours) definition... a nightmare. i've messed with this before and
>> > it does not work across all the tools because of where they source command
>> > (and that can change based on config and cmdline options too).
>> >
>> >> > 4. generally the issue of complexity in our build requires for
>> >> > portability etc.
>> >> >
>> >> > #4 isn't something we can solve right now, but has a better solution if
>> >> > #we go
>> >> > for a greater internal redesign. but not today. some other day. we have
>> >> > to live with what we have right now.
>> >>
>> >> Hum ? How ? I don't see how we can have good portability without a
>> >> complex build system. Would be interested to know more by what you
>> >> mean here !
>> >
>> > we can isolate the portability layers in a much smaller area and always
>> > provide a portable interface wrapped on top of the real os one. currently
>> > our portability code is scattered all through efl. it's not in one place. 
>> > by
>> > merging it into one location we'll be able to simplify it too so in the end
>> > we just have some "efl port sys" lib that provides an "always works" set of
>> > library calls and everything above that is 100% portable and never changes
>> > platform to platform.
>> >
>> >> > i am always for improvements. but this really makes this method a very
>> >> > very very hard ask to do this. i've thought about it and i think this is
>> >> > far TOO radical a change as it means different execution methods, 
>> >> > library
>> >> > production, linking and so much more os by os. it's kind of insane 
>> >> > though
>> >> > theoretically doable on *nix. i've checked and PIE seems to be urtterly
>> >> > unportable (windows can't do it based on my reading). the proposal would
>> >> > be workable ONLY if we could do it unversally so it wouldn't bitrot and
>> >> > it'd work. this is actually why quicklaunch did .so's instead of PIE
>> >> > because that WORKS portably
>> >>
>> >> Windows is anyway another platform with a lot of specificity.
>> >> Quicklaunch will never work there as there is 

[EGIT] [tools/exactness] master 01/03: Destination directory is not needed during simulation

2016-10-25 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=33730b5dcda6d4095d4d9bb42a2950f674e32d59

commit 33730b5dcda6d4095d4d9bb42a2950f674e32d59
Author: Daniel Zaoui 
Date:   Mon Oct 10 10:42:23 2016 +0300

Destination directory is not needed during simulation

Shots are not needed in this mode too.
---
 src/bin/run_test.c   | 3 +--
 src/lib/tsuite_hook_player.c | 7 +--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/bin/run_test.c b/src/bin/run_test.c
index 1a3d6a6..6e4f1d6 100644
--- a/src/bin/run_test.c
+++ b/src/bin/run_test.c
@@ -31,8 +31,6 @@ _run_command_prepare(const List_Entry *ent, Run_Mode mode, 
char *buf)
  {
   case RUN_SIMULATION:
{
-  eina_strbuf_append_printf(sbuf, "TSUITE_DEST_DIR='%s' ",
-exactness_config.dest_dir);
   break;
}
   case RUN_PLAY:
@@ -55,6 +53,7 @@ _run_command_prepare(const List_Entry *ent, Run_Mode mode, 
char *buf)
 exactness_config.dest_dir);
   break;
}
+  default: break;
  }
eina_strbuf_append_printf(sbuf, 
"LD_PRELOAD='%s/exactness/libexactness_%s.so' %s %s %s",
  PACKAGE_LIBDIR, mode == RUN_RECORD ? "recorder" : "player",
diff --git a/src/lib/tsuite_hook_player.c b/src/lib/tsuite_hook_player.c
index 5524dff..e5dcc92 100644
--- a/src/lib/tsuite_hook_player.c
+++ b/src/lib/tsuite_hook_player.c
@@ -459,8 +459,11 @@ tsuite_feed_event(void *data)
   printf("%s take shot  timestamp=<%u> t->n_evas=<%d>\n", 
__func__, t->timestamp, t->n_evas);
 #endif
   if (rect) evas_object_color_set(rect, 0, 0, 255, 255);
-  _shot_do(NULL,
-eina_list_nth(evas_list, t->n_evas)); /* Serial name based 
on test-name */
+  if (_hook_setting->dest_dir)
+{
+   _shot_do(NULL,
+ eina_list_nth(evas_list, t->n_evas)); /* Serial name 
based on test-name */
+}
   break;
}
   default: /* All non-input events are not handeled */

-- 




[EGIT] [tools/exactness] master 03/03: Store and compare objects information at every shot

2016-10-25 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=dd4c1caade9e27af1f6622a2a4f047514ec5f819

commit dd4c1caade9e27af1f6622a2a4f047514ec5f819
Author: Daniel Zaoui 
Date:   Thu Oct 13 07:46:39 2016 +0300

Store and compare objects information at every shot

This feature is aimed to provide a new way to debug applications during
scenarios playing.
When a difference happens between two shots of an application, the
investigation can be tough as the cause may be hidden into a tiny
change, such as an update of the theme.
This feature tries to respond to this problem by storing objects of
the application every time a shot is taken. Then during shots comparison,
objects information are compared and differences are displayed on the
screen.

The feature can be used with the -S option.

For the moment, only hierarchy, order and geometry are checked.
---
 src/bin/Makefile.am  |   2 +-
 src/bin/exactness.c  |   2 +
 src/bin/exactness_config.h   |   1 +
 src/bin/exactness_helper.c   |  66 +++---
 src/bin/run_test.c   |  47 +
 src/lib/tsuite_file_data.c   | 108 +
 src/lib/tsuite_file_data.h   |  22 ++
 src/lib/tsuite_hook_player.c | 161 ++-
 8 files changed, 383 insertions(+), 26 deletions(-)

diff --git a/src/bin/Makefile.am b/src/bin/Makefile.am
index 3998cc8..46b0993 100644
--- a/src/bin/Makefile.am
+++ b/src/bin/Makefile.am
@@ -12,7 +12,7 @@ exactness_SOURCES = \
 exactness_helper_SOURCES = exactness_helper.c
 
 exactness_LDADD = \
-   @EFL_LIBS@
+   @EFL_LIBS@ ../lib/libexactness_player.la
 
 exactness_helper_LDADD = \
@EFL_LIBS@ ../lib/libexactness_player.la
diff --git a/src/bin/exactness.c b/src/bin/exactness.c
index 2e60eab..5c82a7a 100644
--- a/src/bin/exactness.c
+++ b/src/bin/exactness.c
@@ -40,6 +40,7 @@ static const Ecore_Getopt optdesc = {
 ECORE_GETOPT_STORE_TRUE('p', "play", "Run in play mode."),
 ECORE_GETOPT_STORE_TRUE('i', "init", "Run in init mode."),
 ECORE_GETOPT_STORE_TRUE('s', "simulation", "Run in simulation mode."),
+ECORE_GETOPT_STORE_TRUE('S', "store-objects", "Store information about 
objects at every screen shot time."),
 ECORE_GETOPT_STORE_TRUE('v', "verbose", "Turn verbose messages on."),
 
 ECORE_GETOPT_LICENSE('L', "license"),
@@ -69,6 +70,7 @@ main(int argc, char *argv[])
  ECORE_GETOPT_VALUE_BOOL(mode_play),
  ECORE_GETOPT_VALUE_BOOL(mode_init),
  ECORE_GETOPT_VALUE_BOOL(mode_simulation),
+ ECORE_GETOPT_VALUE_BOOL(exactness_config.store_objects),
  ECORE_GETOPT_VALUE_BOOL(exactness_config.verbose),
 
  ECORE_GETOPT_VALUE_BOOL(want_quit),
diff --git a/src/bin/exactness_config.h b/src/bin/exactness_config.h
index e207c51..60d902e 100644
--- a/src/bin/exactness_config.h
+++ b/src/bin/exactness_config.h
@@ -12,6 +12,7 @@ struct _Exactness_Config
char *dest_dir;
char *wrap_command;
Eina_Bool verbose;
+   Eina_Bool store_objects;
 };
 
 extern Exactness_Config exactness_config;
diff --git a/src/bin/exactness_helper.c b/src/bin/exactness_helper.c
index 12945b2..0cf4b21 100644
--- a/src/bin/exactness_helper.c
+++ b/src/bin/exactness_helper.c
@@ -116,7 +116,7 @@ _event_specific_info_get(const Variant_st *v, char 
output[1024])
 }
 static const Ecore_Getopt optdesc = {
   "exactness_helper",
-  "%prog [options] ",
+  "%prog [options] [ | ]",
   NULL,
   "(C) 2016 Enlightenment",
   "BSD",
@@ -125,7 +125,8 @@ static const Ecore_Getopt optdesc = {
   {
 ECORE_GETOPT_STORE_USHORT('d', "delay", "Delay the given recording by a 
given time (in seconds)."),
 ECORE_GETOPT_STORE_TRUE('c', "clean", "Clean the given recording from 
wrong events."),
-ECORE_GETOPT_STORE_TRUE('l', "list", "List the events of the given 
recording"),
+ECORE_GETOPT_STORE_TRUE('l', "list", "List the events of the given 
recording."),
+ECORE_GETOPT_STORE_TRUE('C', "compare", "Compare two given files (images 
files or objects eet files)."),
 
 ECORE_GETOPT_LICENSE('L', "license"),
 ECORE_GETOPT_COPYRIGHT('C', "copyright"),
@@ -149,14 +150,15 @@ _is_hook_duplicate(const Variant_st *cur_v, const 
Variant_st *prev_v)
 int
 main(int argc, char *argv[])
 {
-   const char *rec_file = NULL;
+   const char *rec_file = NULL, *comp1 = NULL, *comp2 = NULL;
int ret = 0, args = 0;
unsigned short delay = 0;
-   Eina_Bool want_quit, clean = EINA_FALSE, list_get = EINA_FALSE;
+   Eina_Bool want_quit, clean = EINA_FALSE, list_get = EINA_FALSE, 
compare_files = EINA_FALSE;
Ecore_Getopt_Value values[] = {
  ECORE_GETOPT_VALUE_USHORT(delay),
  ECORE_GETOPT_VALUE_BOOL(clean),
  ECORE_GETOPT_VALUE_BOOL(list_get),
+ ECORE_GETOPT_VALUE_BOOL(compare_files),
 
  ECORE_GETOPT_VALUE_BOOL(want_quit),
  ECORE_GETOPT_VALUE_BOOL(want_quit),
@@ -180,17 +182,33 

[EGIT] [tools/exactness] master 02/03: Rename static variable

2016-10-25 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=8e0a638b19de701b2b21df01690dfa487bf101ad

commit 8e0a638b19de701b2b21df01690dfa487bf101ad
Author: Daniel Zaoui 
Date:   Sun Oct 16 08:26:11 2016 +0300

Rename static variable
---
 src/lib/tsuite_file_data.c | 138 ++---
 1 file changed, 69 insertions(+), 69 deletions(-)

diff --git a/src/lib/tsuite_file_data.c b/src/lib/tsuite_file_data.c
index 4bc5348..a0e6104 100644
--- a/src/lib/tsuite_file_data.c
+++ b/src/lib/tsuite_file_data.c
@@ -8,7 +8,7 @@
 #include 
 #include "tsuite_file_data.h"
 
-static data_desc *desc = NULL; /* this struct holds descs (alloc on init) */
+static data_desc *_desc = NULL; /* this struct holds descs (alloc on init) */
 
 static eet_event_type_mapping eet_mapping[] = {
{ TSUITE_EVENT_MOUSE_IN, TSUITE_EVENT_MOUSE_IN_STR },
@@ -199,7 +199,7 @@ write_events(const char *filename, Lists_st *vr_list)
 #ifdef DEBUG_TSUITE
 print_events(vr_list);
 #endif
-eet_data_write(fp, desc->_lists_descriptor, CACHE_FILE_ENTRY, vr_list,
+eet_data_write(fp, _desc->_lists_descriptor, CACHE_FILE_ENTRY, vr_list,
   EINA_TRUE);
 
 eet_close(fp);
@@ -225,7 +225,7 @@ read_events(const char *filename, Timer_Data *td)
 
/* Read events list */
_data_descriptors_init();
-   vr_list = eet_data_read(fp, desc->_lists_descriptor, CACHE_FILE_ENTRY);
+   vr_list = eet_data_read(fp, _desc->_lists_descriptor, CACHE_FILE_ENTRY);
eet_close(fp);
_data_descriptors_shutdown();
if (!vr_list->variant_list)
@@ -731,108 +731,108 @@ multi_move_desc_make(void)
 /* declaring types */
 data_desc *_data_descriptors_init(void)
 {
-   if (desc)  /* Was allocated */
- return desc;
+   if (_desc)  /* Was allocated */
+ return _desc;
 
-   desc = calloc(1, sizeof(data_desc));
+   _desc = calloc(1, sizeof(data_desc));
 
Eet_Data_Descriptor_Class eddc;
 
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Lists_st);
-   desc->_lists_descriptor = eet_data_descriptor_file_new(&eddc);
-
-   desc->take_screenshot = take_screenshot_desc_make();
-   desc->mouse_in_mouse_out = mouse_in_mouse_out_desc_make();
-   desc->mouse_down_mouse_up = mouse_down_mouse_up_desc_make();
-   desc->mouse_move = mouse_move_desc_make();
-   desc->mouse_wheel = mouse_wheel_desc_make();
-   desc->multi_event = multi_event_desc_make();
-   desc->multi_move = multi_move_desc_make();
-   desc->key_down_key_up =  key_down_key_up_desc_make();
-   desc->key_down_key_up_with_keycode =  
key_down_key_up_with_keycode_desc_make();
+   _desc->_lists_descriptor = eet_data_descriptor_file_new(&eddc);
+
+   _desc->take_screenshot = take_screenshot_desc_make();
+   _desc->mouse_in_mouse_out = mouse_in_mouse_out_desc_make();
+   _desc->mouse_down_mouse_up = mouse_down_mouse_up_desc_make();
+   _desc->mouse_move = mouse_move_desc_make();
+   _desc->mouse_wheel = mouse_wheel_desc_make();
+   _desc->multi_event = multi_event_desc_make();
+   _desc->multi_move = multi_move_desc_make();
+   _desc->key_down_key_up =  key_down_key_up_desc_make();
+   _desc->key_down_key_up_with_keycode =  
key_down_key_up_with_keycode_desc_make();
 
/* for variant */
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Variant_st);
-   desc->_variant_descriptor = eet_data_descriptor_file_new(&eddc);
+   _desc->_variant_descriptor = eet_data_descriptor_file_new(&eddc);
 
eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
eddc.func.type_get = _variant_type_get;
eddc.func.type_set = _variant_type_set;
-   desc->_variant_unified_descriptor = eet_data_descriptor_stream_new(&eddc);
+   _desc->_variant_unified_descriptor = eet_data_descriptor_stream_new(&eddc);
 
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(desc->_variant_unified_descriptor,
- TSUITE_EVENT_MOUSE_IN_STR, desc->mouse_in_mouse_out);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->_variant_unified_descriptor,
+ TSUITE_EVENT_MOUSE_IN_STR, _desc->mouse_in_mouse_out);
 
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(desc->_variant_unified_descriptor,
- TSUITE_EVENT_MOUSE_OUT_STR, desc->mouse_in_mouse_out);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->_variant_unified_descriptor,
+ TSUITE_EVENT_MOUSE_OUT_STR, _desc->mouse_in_mouse_out);
 
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(desc->_variant_unified_descriptor,
- TSUITE_EVENT_MOUSE_DOWN_STR, desc->mouse_down_mouse_up);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->_variant_unified_descriptor,
+ TSUITE_EVENT_MOUSE_DOWN_STR, _desc->mouse_down_mouse_up);
 
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(desc->_variant_unified_descriptor,
- TSUITE_EVENT_MOUSE_UP_STR, desc->mouse_down_mouse_up);
+   EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->_variant_unified_descriptor,
+ TSUITE_EVENT_MOUSE_UP_STR, _desc->mouse_down_mouse_up);
 
-   EET_DATA_DESCRIPTOR_ADD_MAPPING(desc->_variant_unified_descriptor,
- TSUITE_EVENT_MOUSE_MOVE_STR, desc->mouse_mov

Re: [E-devel] [RFC] One binary to rule them all, packagers opinion needed

2016-10-25 Thread The Rasterman
On Wed, 26 Oct 2016 04:50:54 +0200 Vincent Torri  said:

> On Wed, Oct 26, 2016 at 2:17 AM, Carsten Haitzler 
> wrote:
> > On Tue, 25 Oct 2016 14:32:29 -0700 Cedric BAIL  said:
> >
> >> On Mon, Oct 24, 2016 at 10:31 PM, Carsten Haitzler 
> >> wrote:
> >> > On Fri, 21 Oct 2016 15:14:20 -0700 Cedric BAIL 
> >> > said:
> >> >
> >> > i've been mulling this. i followed the feedback so far. basically 2 main
> >> > things:
> >> >
> >> > 1. this is intended to improve performance. especially startup times.
> >> > 2. this is highly problematic in terms of portability and is going to
> >> > create lots of code and build paths.
> >>
> >> It won't create lots of code and build paths. In fact it doesn't even
> >> need two build paths. It just needs to uses all .la files for building
> >> quicklaunch and can be rolled in, in parallel to current system. Just
> >> the link of the quicklaunch binary would be different. Next step would
> >> be to make a build option that setup symlink to that binary. Finally
> >> that option would be the default, likely only afffecting the install
> >> process. I don't think that create a lots of code (There should be no
> >> code change) and build paths change at all.
> >
> > why are you doing a symlink if its JUST a quicklaunch binary change (that
> > statically compiles all of efl into it)?
> >
> > you are trying to replace all of libevas.so.1, libeina.so.1, etc. with
> > symlinks TO this quicklaunch binary ... to retain binary compatibility. you
> > cant have the .so's AND this ql binary both have the same set of symbols.
> > asking for trouble there.
> >
> > but to USe this binaries HAVE to be PIe and this makes for a non-portable
> > pain in the arse of creating apps. which is why i did .so's for quicklaunch
> > before.. because it also works with dll's on windows. PIE does not. not
> > that i could find.
> >
> >> > 3. this makes debugging and other things a nightmare (ps names are all
> >> > the same .. well depending on tool etc.)
> >>
> >> This is exagerated. Again just need to pass the right command line to
> >> ps/top and problem is solved. Can easily be documented and we can also
> >> provide a script that does it until we provide some nicer application
> >> there.
> >
> > i mean simple user debugging. someone runs ps or top and all they see is 20
> > processes called "quicklaunch". because depending on the ps tool it may use
> > one proc field or another. so a user goes "quicklaunch process is using N%
> > cpu or N % ram". what real process is that? they don't know. because procps
> > tools will not do what you want and thus the average person will become
> > confused and find anything using efl like this to be horribly hard to work
> > with.
> >
> > if top, htop, ps, killall, etc. don't work out of the box, it isby everyone
> > (except yours) definition... a nightmare. i've messed with this before and
> > it does not work across all the tools because of where they source command
> > (and that can change based on config and cmdline options too).
> >
> >> > 4. generally the issue of complexity in our build requires for
> >> > portability etc.
> >> >
> >> > #4 isn't something we can solve right now, but has a better solution if
> >> > #we go
> >> > for a greater internal redesign. but not today. some other day. we have
> >> > to live with what we have right now.
> >>
> >> Hum ? How ? I don't see how we can have good portability without a
> >> complex build system. Would be interested to know more by what you
> >> mean here !
> >
> > we can isolate the portability layers in a much smaller area and always
> > provide a portable interface wrapped on top of the real os one. currently
> > our portability code is scattered all through efl. it's not in one place. by
> > merging it into one location we'll be able to simplify it too so in the end
> > we just have some "efl port sys" lib that provides an "always works" set of
> > library calls and everything above that is 100% portable and never changes
> > platform to platform.
> >
> >> > i am always for improvements. but this really makes this method a very
> >> > very very hard ask to do this. i've thought about it and i think this is
> >> > far TOO radical a change as it means different execution methods, library
> >> > production, linking and so much more os by os. it's kind of insane though
> >> > theoretically doable on *nix. i've checked and PIE seems to be urtterly
> >> > unportable (windows can't do it based on my reading). the proposal would
> >> > be workable ONLY if we could do it unversally so it wouldn't bitrot and
> >> > it'd work. this is actually why quicklaunch did .so's instead of PIE
> >> > because that WORKS portably
> >>
> >> Windows is anyway another platform with a lot of specificity.
> >> Quicklaunch will never work there as there is no equivalent to fork
> >> anyway. Emulating what PIE allow is also mostly impossible as
> >
> > actually it does work. fork works. it's emulated and expensive, bit it
> > WORKS. 

[EGIT] [tools/enventor] master 01/01: Fix typo in Enventor introduction.

2016-10-25 Thread Jaehyun Cho
jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=62dc189286af7d1ed654499704a713277ab5

commit 62dc189286af7d1ed654499704a713277ab5
Author: Jaehyun Cho 
Date:   Wed Oct 26 13:01:20 2016 +0900

Fix typo in Enventor introduction.

Correct typo to "easier" in Enventor introduction.
---
 README  | 2 +-
 data/help/INTRO | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/README b/README
index d36f544..e59ab84 100644
--- a/README
+++ b/README
@@ -2,7 +2,7 @@
 
 Enventor, which is also known as EDC (Edje Data Collections) Editor, is a EDC 
script editor tool that supports text editing and previewing functions for the 
EDC source code.
 
-When your application requires real-time changeable layouts like animated 
ones, then you can write the layout design using EDC script, compile it into 
EDJ format file, and import it into your application using a UI layout 
component. You can also write design layouts from simple to complex ones using 
the EDC script with Enventor. Enventor helps you write EDC script code eaiser 
and finish your work faster. If you are not familiar with EDC programming, see 
Edje Programming Guide - https://w [...]
+When your application requires real-time changeable layouts like animated 
ones, then you can write the layout design using EDC script, compile it into 
EDJ format file, and import it into your application using a UI layout 
component. You can also write design layouts from simple to complex ones using 
the EDC script with Enventor. Enventor helps you write EDC script code easier 
and finish your work faster. If you are not familiar with EDC programming, see 
Edje Programming Guide - https://w [...]
 
 [Requirements]
 
diff --git a/data/help/INTRO b/data/help/INTRO
index 333c061..f11de2e 100644
--- a/data/help/INTRO
+++ b/data/help/INTRO
@@ -2,7 +2,7 @@
 
 Enventor, which is also known as EDC (Edje Data Collections) Editor, is a EDC 
script editor tool that supports text editing and previewing functions for the 
EDC source code.
 
-When your application requires real-time changeable layouts like animated 
ones, then you can write the layout design using EDC script, compile it into 
EDJ format file, and import it into your application using a UI layout 
component. You can also write design layouts from simple to complex ones using 
the EDC script with Enventor. Enventor helps you write EDC script code eaiser 
and finish your work faster. If you are not familiar with EDC programming, see 
Edje Programming Guide - https://w [...]
+When your application requires real-time changeable layouts like animated 
ones, then you can write the layout design using EDC script, compile it into 
EDJ format file, and import it into your application using a UI layout 
component. You can also write design layouts from simple to complex ones using 
the EDC script with Enventor. Enventor helps you write EDC script code easier 
and finish your work faster. If you are not familiar with EDC programming, see 
Edje Programming Guide - https://w [...]
 
 Please see the following sites for more information.
 

-- 




Re: [E-devel] [RFC] One binary to rule them all, packagers opinion needed

2016-10-25 Thread Vincent Torri
On Wed, Oct 26, 2016 at 2:17 AM, Carsten Haitzler  wrote:
> On Tue, 25 Oct 2016 14:32:29 -0700 Cedric BAIL  said:
>
>> On Mon, Oct 24, 2016 at 10:31 PM, Carsten Haitzler 
>> wrote:
>> > On Fri, 21 Oct 2016 15:14:20 -0700 Cedric BAIL  said:
>> >
>> > i've been mulling this. i followed the feedback so far. basically 2 main
>> > things:
>> >
>> > 1. this is intended to improve performance. especially startup times.
>> > 2. this is highly problematic in terms of portability and is going to 
>> > create
>> > lots of code and build paths.
>>
>> It won't create lots of code and build paths. In fact it doesn't even
>> need two build paths. It just needs to uses all .la files for building
>> quicklaunch and can be rolled in, in parallel to current system. Just
>> the link of the quicklaunch binary would be different. Next step would
>> be to make a build option that setup symlink to that binary. Finally
>> that option would be the default, likely only afffecting the install
>> process. I don't think that create a lots of code (There should be no
>> code change) and build paths change at all.
>
> why are you doing a symlink if its JUST a quicklaunch binary change (that
> statically compiles all of efl into it)?
>
> you are trying to replace all of libevas.so.1, libeina.so.1, etc. with 
> symlinks
> TO this quicklaunch binary ... to retain binary compatibility. you cant have
> the .so's AND this ql binary both have the same set of symbols. asking for
> trouble there.
>
> but to USe this binaries HAVE to be PIe and this makes for a non-portable pain
> in the arse of creating apps. which is why i did .so's for quicklaunch 
> before..
> because it also works with dll's on windows. PIE does not. not that i could
> find.
>
>> > 3. this makes debugging and other things a nightmare (ps names are all the
>> > same .. well depending on tool etc.)
>>
>> This is exagerated. Again just need to pass the right command line to
>> ps/top and problem is solved. Can easily be documented and we can also
>> provide a script that does it until we provide some nicer application
>> there.
>
> i mean simple user debugging. someone runs ps or top and all they see is 20
> processes called "quicklaunch". because depending on the ps tool it may use 
> one
> proc field or another. so a user goes "quicklaunch process is using N% cpu or 
> N
> % ram". what real process is that? they don't know. because procps tools will
> not do what you want and thus the average person will become confused and find
> anything using efl like this to be horribly hard to work with.
>
> if top, htop, ps, killall, etc. don't work out of the box, it isby everyone
> (except yours) definition... a nightmare. i've messed with this before and it
> does not work across all the tools because of where they source command (and
> that can change based on config and cmdline options too).
>
>> > 4. generally the issue of complexity in our build requires for portability
>> > etc.
>> >
>> > #4 isn't something we can solve right now, but has a better solution if we
>> > #go
>> > for a greater internal redesign. but not today. some other day. we have to
>> > live with what we have right now.
>>
>> Hum ? How ? I don't see how we can have good portability without a
>> complex build system. Would be interested to know more by what you
>> mean here !
>
> we can isolate the portability layers in a much smaller area and always 
> provide
> a portable interface wrapped on top of the real os one. currently our
> portability code is scattered all through efl. it's not in one place. by
> merging it into one location we'll be able to simplify it too so in the end we
> just have some "efl port sys" lib that provides an "always works" set of
> library calls and everything above that is 100% portable and never changes
> platform to platform.
>
>> > i am always for improvements. but this really makes this method a very very
>> > very hard ask to do this. i've thought about it and i think this is far TOO
>> > radical a change as it means different execution methods, library
>> > production, linking and so much more os by os. it's kind of insane though
>> > theoretically doable on *nix. i've checked and PIE seems to be urtterly
>> > unportable (windows can't do it based on my reading). the proposal would be
>> > workable ONLY if we could do it unversally so it wouldn't bitrot and it'd
>> > work. this is actually why quicklaunch did .so's instead of PIE because
>> > that WORKS portably
>>
>> Windows is anyway another platform with a lot of specificity.
>> Quicklaunch will never work there as there is no equivalent to fork
>> anyway. Emulating what PIE allow is also mostly impossible as
>
> actually it does work. fork works. it's emulated and expensive, bit it WORKS.
> it means you have an already "partially launched" app around. if we had a fork
> POOL sitting around "ready to go" and they get ipc'd the command to run... 
> it'd
> work the same on windows and on *nix. it'd be faster on both becaus

[EGIT] [core/efl] master 02/02: eo: do not track NULL future.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit ab18b01e1caf1166ced592613c7ea5711661322a
Author: Cedric Bail 
Date:   Tue Oct 25 18:51:12 2016 -0700

eo: do not track NULL future.
---
 src/lib/eo/eo_base_class.c | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index bc85105..c79d213 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -1755,7 +1755,11 @@ _efl_object_future_link_tracking_end(void *data, const 
Efl_Event *ev)
 EOLIAN static Eina_Bool
 _efl_object_future_link(Eo *obj EINA_UNUSED, Efl_Object_Data *pd, Efl_Future 
*link)
 {
-   Efl_Object_Extension *ext = _efl_object_extension_need(pd);
+   Efl_Object_Extension *ext;
+
+   if (!link) return EINA_FALSE;
+
+   ext = _efl_object_extension_need(pd);
 
ext->futures = eina_list_append(ext->futures, link);
return !!efl_future_then(link, _efl_object_future_link_tracking_end, 
_efl_object_future_link_tracking_end, NULL, obj);

-- 




[EGIT] [core/efl] master 01/02: ecore: allow multiple nested recursion of the same promise/future to happen at the same time.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit bfcc66e4eb5e2cdc506c761a957befcf47edcdd3
Author: Cedric Bail 
Date:   Tue Oct 25 18:50:35 2016 -0700

ecore: allow multiple nested recursion of the same promise/future to happen 
at the same time.
---
 src/lib/ecore/efl_promise.c | 21 ++---
 1 file changed, 14 insertions(+), 7 deletions(-)

diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c
index c5ff17c..2d3b613 100644
--- a/src/lib/ecore/efl_promise.c
+++ b/src/lib/ecore/efl_promise.c
@@ -25,6 +25,8 @@ struct _Efl_Promise_Data
Efl_Promise_Msg *message;
Eina_List *futures;
 
+   unsigned char propagating;
+
struct {
   Eina_Bool future : 1;
   Eina_Bool future_triggered : 1;
@@ -33,7 +35,6 @@ struct _Efl_Promise_Data
} set;
 
Eina_Bool optional : 1;
-   Eina_Bool propagating : 1;
 };
 
 static void
@@ -76,6 +77,7 @@ struct _Efl_Loop_Future_Data
 #ifndef NDEBUG
int wref;
 #endif
+   unsigned char propagating;
 
Eina_Bool fulfilled : 1;
Eina_Bool death : 1;
@@ -94,6 +96,7 @@ _efl_loop_future_success(Efl_Event *ev, Efl_Loop_Future_Data 
*pd, void *value)
 
chain_success.value = value;
 
+   pd->propagating++;
EINA_INLIST_FREE(pd->callbacks, cb)
  {
 // Remove callback early to avoid double execution while
@@ -116,6 +119,7 @@ _efl_loop_future_success(Efl_Event *ev, 
Efl_Loop_Future_Data *pd, void *value)
 
 free(cb);
  }
+   pd->propagating--;
 }
 
 static void
@@ -129,6 +133,7 @@ _efl_loop_future_failure(Efl_Event *ev, 
Efl_Loop_Future_Data *pd, Eina_Error err
 
chain_fail.error = error;
 
+   pd->propagating++;
EINA_INLIST_FREE(pd->callbacks, cb)
  {
 // Remove callback early to avoid double execution while
@@ -141,6 +146,7 @@ _efl_loop_future_failure(Efl_Event *ev, 
Efl_Loop_Future_Data *pd, Eina_Error err
 
 free(cb);
  }
+   pd->propagating--;
 }
 
 static void
@@ -323,7 +329,8 @@ _efl_loop_future_cancel(Eo *obj, Efl_Loop_Future_Data *pd)
// We do allow for calling cancel during the propagation phase
// as the other proper fix is to wype out all future reference before
// starting propagating things.
-   if (pd->promise && pd->promise->propagating)
+   if (pd->propagating ||
+   (pd->promise && pd->promise->propagating))
  {
 efl_ref(obj);
 
@@ -353,9 +360,9 @@ _efl_loop_future_cancel(Eo *obj, Efl_Loop_Future_Data *pd)
 
_efl_loop_future_propagate(obj, pd);
 
- disconnect:
_efl_loop_future_disconnect(obj, pd);
 
+ disconnect:
efl_unref(obj);
 }
 
@@ -564,7 +571,7 @@ _efl_promise_value_set(Eo *obj, Efl_Promise_Data *pd, void 
*v, Eina_Free_Cb free
pd->message = message;
 
// Send it to all futures
-   pd->propagating = EINA_TRUE;
+   pd->propagating++;
EINA_LIST_FOREACH_SAFE(pd->futures, l, ln, f)
  {
 EINA_REFCOUNT_REF(message);
@@ -573,7 +580,7 @@ _efl_promise_value_set(Eo *obj, Efl_Promise_Data *pd, void 
*v, Eina_Free_Cb free
 // Trigger the callback
 _efl_loop_future_propagate(f->self, f);
  }
-   pd->propagating = EINA_FALSE;
+   pd->propagating--;
 
// Now, we may die.
efl_unref(obj);
@@ -607,7 +614,7 @@ _efl_promise_failed_set(Eo *obj, Efl_Promise_Data *pd, 
Eina_Error err)
pd->message = message;
 
// Send it to each future
-   pd->propagating = EINA_TRUE;
+   pd->propagating++;
EINA_LIST_FOREACH_SAFE(pd->futures, l, ln, f)
  {
 EINA_REFCOUNT_REF(message);
@@ -616,7 +623,7 @@ _efl_promise_failed_set(Eo *obj, Efl_Promise_Data *pd, 
Eina_Error err)
 // Trigger the callback
 _efl_loop_future_propagate(f->self, f);
  }
-   pd->propagating = EINA_FALSE;
+   pd->propagating--;
 
// Now, we may die.
efl_unref(obj);

-- 




Re: [E-devel] [RFC] One binary to rule them all, packagers opinion needed

2016-10-25 Thread The Rasterman
On Tue, 25 Oct 2016 14:32:29 -0700 Cedric BAIL  said:

> On Mon, Oct 24, 2016 at 10:31 PM, Carsten Haitzler 
> wrote:
> > On Fri, 21 Oct 2016 15:14:20 -0700 Cedric BAIL  said:
> >
> > i've been mulling this. i followed the feedback so far. basically 2 main
> > things:
> >
> > 1. this is intended to improve performance. especially startup times.
> > 2. this is highly problematic in terms of portability and is going to create
> > lots of code and build paths.
> 
> It won't create lots of code and build paths. In fact it doesn't even
> need two build paths. It just needs to uses all .la files for building
> quicklaunch and can be rolled in, in parallel to current system. Just
> the link of the quicklaunch binary would be different. Next step would
> be to make a build option that setup symlink to that binary. Finally
> that option would be the default, likely only afffecting the install
> process. I don't think that create a lots of code (There should be no
> code change) and build paths change at all.

why are you doing a symlink if its JUST a quicklaunch binary change (that
statically compiles all of efl into it)?

you are trying to replace all of libevas.so.1, libeina.so.1, etc. with symlinks
TO this quicklaunch binary ... to retain binary compatibility. you cant have
the .so's AND this ql binary both have the same set of symbols. asking for
trouble there.

but to USe this binaries HAVE to be PIe and this makes for a non-portable pain
in the arse of creating apps. which is why i did .so's for quicklaunch before..
because it also works with dll's on windows. PIE does not. not that i could
find.

> > 3. this makes debugging and other things a nightmare (ps names are all the
> > same .. well depending on tool etc.)
> 
> This is exagerated. Again just need to pass the right command line to
> ps/top and problem is solved. Can easily be documented and we can also
> provide a script that does it until we provide some nicer application
> there.

i mean simple user debugging. someone runs ps or top and all they see is 20
processes called "quicklaunch". because depending on the ps tool it may use one
proc field or another. so a user goes "quicklaunch process is using N% cpu or N
% ram". what real process is that? they don't know. because procps tools will
not do what you want and thus the average person will become confused and find
anything using efl like this to be horribly hard to work with.

if top, htop, ps, killall, etc. don't work out of the box, it isby everyone
(except yours) definition... a nightmare. i've messed with this before and it
does not work across all the tools because of where they source command (and
that can change based on config and cmdline options too).

> > 4. generally the issue of complexity in our build requires for portability
> > etc.
> >
> > #4 isn't something we can solve right now, but has a better solution if we
> > #go
> > for a greater internal redesign. but not today. some other day. we have to
> > live with what we have right now.
> 
> Hum ? How ? I don't see how we can have good portability without a
> complex build system. Would be interested to know more by what you
> mean here !

we can isolate the portability layers in a much smaller area and always provide
a portable interface wrapped on top of the real os one. currently our
portability code is scattered all through efl. it's not in one place. by
merging it into one location we'll be able to simplify it too so in the end we
just have some "efl port sys" lib that provides an "always works" set of
library calls and everything above that is 100% portable and never changes
platform to platform.

> > i am always for improvements. but this really makes this method a very very
> > very hard ask to do this. i've thought about it and i think this is far TOO
> > radical a change as it means different execution methods, library
> > production, linking and so much more os by os. it's kind of insane though
> > theoretically doable on *nix. i've checked and PIE seems to be urtterly
> > unportable (windows can't do it based on my reading). the proposal would be
> > workable ONLY if we could do it unversally so it wouldn't bitrot and it'd
> > work. this is actually why quicklaunch did .so's instead of PIE because
> > that WORKS portably
> 
> Windows is anyway another platform with a lot of specificity.
> Quicklaunch will never work there as there is no equivalent to fork
> anyway. Emulating what PIE allow is also mostly impossible as

actually it does work. fork works. it's emulated and expensive, bit it WORKS.
it means you have an already "partially launched" app around. if we had a fork
POOL sitting around "ready to go" and they get ipc'd the command to run... it'd
work the same on windows and on *nix. it'd be faster on both because when an
app runs, the init/liking phase is already done by a process that is sitting as
a hot spare ready to go.

so ql dlopen()'s the apps' DLL (as now it has to be a dll and not an exe) and
the app i

[EGIT] [core/efl] master 02/02: eio: fetch mime type asynchronously.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit fb8d139ad01349a598863397fb4ad54ba6998baa
Author: Cedric Bail 
Date:   Tue Oct 25 16:54:29 2016 -0700

eio: fetch mime type asynchronously.
---
 src/lib/eio/eio_model.c | 61 +++--
 src/lib/eio/eio_model_private.h |  2 ++
 2 files changed, 54 insertions(+), 9 deletions(-)

diff --git a/src/lib/eio/eio_model.c b/src/lib/eio/eio_model.c
index 64a7213..0302135 100644
--- a/src/lib/eio/eio_model.c
+++ b/src/lib/eio/eio_model.c
@@ -70,7 +70,6 @@ _eio_stat_done_cb(void *data, Eio_File *handler EINA_UNUSED, 
const Eina_Stat *st
eina_list_free(priv->property_promises);
priv->property_promises = NULL;
 
-   eio_file_cancel(priv->stat_file);
priv->stat_file = NULL;
 }
 
@@ -289,18 +288,43 @@ _eio_model_efl_model_properties_get(Eo *obj EINA_UNUSED, 
Eio_Model_Data *_pd)
 /**
  * Property Get
  */
+static void
+_on_idle_mime(void *data, const Efl_Event *ev)
+{
+   Eio_Model_Data *priv = data;
+   Efl_Promise *p;
+   const char *value;
+
+   // Make sure that we are not over consuming time in the main loop
+   if (ecore_time_get() - ecore_loop_time_get() > 0.004) return ;
+
+   // Are we done yet ?
+   efl_event_callback_del(ev->object, EFL_LOOP_EVENT_IDLE_ENTER, 
_on_idle_mime, priv);
+   if (!priv->fetching_mime) return ;
+
+   value = efreet_mime_type_get(priv->path);
+
+   EINA_LIST_FREE(priv->fetching_mime, p)
+ {
+Eina_Value *v;
+
+v = eina_value_new(EINA_VALUE_TYPE_STRING);
+eina_value_set(v, value);
+efl_promise_value_set(p, v, (Eina_Free_Cb)&eina_value_free);
+ }
+}
+
 static Efl_Future*
-_eio_model_efl_model_property_get(Eo *obj EINA_UNUSED, Eio_Model_Data *priv, 
const char *property)
+_eio_model_efl_model_property_get(Eo *obj, Eio_Model_Data *priv, const char 
*property)
 {
_Eio_Property_Name property_name;
const char* value = NULL;
Efl_Promise *promise;
Efl_Future *future;
 
-   Eo *loop = efl_provider_find(obj, EFL_LOOP_CLASS);
-   promise = efl_add(EFL_PROMISE_CLASS, loop);
+   promise = efl_add(EFL_PROMISE_CLASS, obj);
future = efl_promise_future_get(promise);
-   
+
EINA_SAFETY_ON_NULL_RETURN_VAL(priv, future);
 
if (property == NULL)
@@ -348,15 +372,23 @@ _eio_model_efl_model_property_get(Eo *obj EINA_UNUSED, 
Eio_Model_Data *priv, con
 
switch(property_name)
  {
+ case EIO_MODEL_PROP_MIME_TYPE:
+   {
+  if (!priv->fetching_mime)
+efl_event_callback_add(efl_provider_find(obj, EFL_LOOP_CLASS),
+   EFL_LOOP_EVENT_IDLE_ENTER, _on_idle_mime, 
priv);
+  priv->fetching_mime = eina_list_append(priv->fetching_mime, promise);
+  break;
+   }
  case EIO_MODEL_PROP_FILENAME:
  case EIO_MODEL_PROP_PATH:
- case EIO_MODEL_PROP_MIME_TYPE:
{
   Eina_Value* v = eina_value_new(EINA_VALUE_TYPE_STRING);
   eina_value_set(v, value);
   efl_promise_value_set(promise, v, (Eina_Free_Cb)&eina_value_free);
+
+  break;
}
-   break;
  default:
{
   _Eio_Property_Promise* p = calloc(1, sizeof(_Eio_Property_Promise));
@@ -364,10 +396,10 @@ _eio_model_efl_model_property_get(Eo *obj EINA_UNUSED, 
Eio_Model_Data *priv, con
   p->property = property_name;;
   priv->property_promises = eina_list_prepend(priv->property_promises, 
p);
 
-  if(!priv->stat_file)
+  if (!priv->stat_file)
 _eio_stat_do(priv);
+  break;
}
-   break;
  }
return future;
 }
@@ -687,8 +719,19 @@ _eio_model_path_set(Eo *obj EINA_UNUSED, Eio_Model_Data 
*priv, const char *path)
 static void
 _eio_model_efl_object_destructor(Eo *obj , Eio_Model_Data *priv)
 {
+   Efl_Promise *p;
Eo *child;
 
+   if (priv->fetching_mime)
+ efl_event_callback_del(efl_provider_find(obj, EFL_LOOP_CLASS),
+EFL_LOOP_EVENT_IDLE_ENTER, _on_idle_mime, priv);
+
+   EINA_LIST_FREE(priv->fetching_mime, p)
+ {
+efl_promise_failed_set(p, EINA_ERROR_FUTURE_CANCEL);
+efl_del(p);
+ }
+
_eio_model_efl_model_monitor_del(priv);
 
eina_spinlock_free(&priv->filter_lock);
diff --git a/src/lib/eio/eio_model_private.h b/src/lib/eio/eio_model_private.h
index 7944274..3bf179c 100644
--- a/src/lib/eio/eio_model_private.h
+++ b/src/lib/eio/eio_model_private.h
@@ -74,6 +74,8 @@ struct _Eio_Model_Data
Eio_Filter_Direct_Cb filter_cb;
void *filter_userdata;
Eina_Spinlock filter_lock; /**< filter callback is called from another 
thread */
+
+   Eina_List *fetching_mime;
 };
 
 #endif

-- 




[EGIT] [core/efl] master 01/02: ecore: properly handle promise failure when each member has not been fulfilled yet.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 919829aa7d9f9302f30cc245f593793ba8753b46
Author: Cedric Bail 
Date:   Tue Oct 25 15:21:51 2016 -0700

ecore: properly handle promise failure when each member has not been 
fulfilled yet.
---
 src/lib/ecore/efl_promise.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c
index 8cbde0e..c5ff17c 100644
--- a/src/lib/ecore/efl_promise.c
+++ b/src/lib/ecore/efl_promise.c
@@ -39,6 +39,7 @@ struct _Efl_Promise_Data
 static void
 _efl_promise_msg_free(Efl_Promise_Msg *msg)
 {
+   if (!msg) return ;
if (msg->free_cb)
  msg->free_cb(msg->value);
free(msg);
@@ -737,8 +738,9 @@ _efl_promise_all_free(Efl_Promise_All *all)
 
EINA_ARRAY_ITER_NEXT(&all->members, i, fa, iterator)
  {
-EINA_REFCOUNT_UNREF(fa->d)
-  _efl_promise_msg_free(fa->d);
+if (fa->d)
+  EINA_REFCOUNT_UNREF(fa->d)
+_efl_promise_msg_free(fa->d);
  }
efl_del(all->promise);
all->promise = NULL;

-- 




[EGIT] [core/efl] master 03/06: elementary: enable setting custom access info to hoversel items

2016-10-25 Thread Shuhrat Dehkanov
cedric pushed a commit to branch master.

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

commit 008b74372fc4a861e5561e228d150a0ec62784de
Author: Shuhrat Dehkanov 
Date:   Tue Oct 25 13:33:36 2016 -0700

elementary: enable setting custom access info to hoversel items

Summary: This will enable apps to get item access object using 
elm_object_item_access_object_get().

Reviewers: jpeg, Hermet

Subscribers: kimcinoo, singh.amitesh, cedric, minkyu

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

Signed-off-by: Cedric Bail 
---
 src/lib/elementary/elc_hoversel.c | 55 +++
 1 file changed, 55 insertions(+)

diff --git a/src/lib/elementary/elc_hoversel.c 
b/src/lib/elementary/elc_hoversel.c
index c0ff373..5e052f9 100644
--- a/src/lib/elementary/elc_hoversel.c
+++ b/src/lib/elementary/elc_hoversel.c
@@ -371,6 +371,52 @@ _hover_end_finished(void *data,
  }
 }
 
+static char *
+_access_info_cb(void *data, Evas_Object *obj)
+{
+   const char *txt;
+   Elm_Hoversel_Item_Data *it;
+
+   if (data != NULL)
+ {
+it = (Elm_Hoversel_Item_Data *)data;
+if (it->label) return strdup(it->label);
+ }
+   else
+ {
+txt = elm_widget_access_info_get(obj);
+if (!txt) txt = elm_layout_text_get(obj, NULL);
+if (txt) return strdup(txt);
+ }
+
+   return NULL;
+}
+
+static void
+_access_widget_item_register(Elm_Hoversel_Data *sd)
+{
+   const Eina_List *l;
+   Elm_Object_Item *eo_item;
+   Elm_Access_Info *ai;
+
+   EINA_LIST_FOREACH(sd->items, l, eo_item)
+ {
+ELM_HOVERSEL_ITEM_DATA_GET(eo_item, item);
+_elm_access_widget_item_register(item->base);
+ai = _elm_access_info_get(item->base->access_obj);
+_elm_access_callback_set(ai, ELM_ACCESS_INFO, _access_info_cb, item);
+ }
+}
+
+static char *
+_access_state_cb(void *data EINA_UNUSED, Evas_Object *obj)
+{
+   if (elm_widget_disabled_get(obj))
+ return strdup(E_("State: Disabled"));
+
+   return NULL;
+}
+
 static void
 _activate(Evas_Object *obj)
 {
@@ -430,6 +476,8 @@ _activate(Evas_Object *obj)
_resizing_eval(obj, sd);
elm_object_part_content_set(sd->hover, sd->last_location, sd->tbl);
 
+   if (_elm_config->access_mode) _access_widget_item_register(sd);
+
efl_event_callback_legacy_call(obj, ELM_HOVERSEL_EVENT_EXPANDED, NULL);
evas_object_show(sd->hover);
 }
@@ -561,6 +609,13 @@ _elm_hoversel_efl_canvas_group_group_add(Eo *obj, 
Elm_Hoversel_Data *priv)
 
evas_object_event_callback_add(obj, EVAS_CALLBACK_MOVE, _on_move_resize, 
priv);
evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _on_move_resize, 
priv);
+
+   _elm_access_text_set
+ (_elm_access_info_get(obj), ELM_ACCESS_TYPE, E_("Hoversel"));
+   _elm_access_callback_set
+ (_elm_access_info_get(obj), ELM_ACCESS_INFO, _access_info_cb, NULL);
+   _elm_access_callback_set
+ (_elm_access_info_get(obj), ELM_ACCESS_STATE, _access_state_cb, obj);
 }
 
 EOLIAN static void

-- 




[EGIT] [core/efl] master 02/06: elementary: colorselector - apply new focus ui for palette and components items

2016-10-25 Thread Taehyub Kim
cedric pushed a commit to branch master.

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

commit ee83f2aa3d6a089487b97c3f9cdad30a0cb5a9d8
Author: Taehyub Kim 
Date:   Tue Oct 25 13:32:50 2016 -0700

elementary: colorselector - apply new focus ui for palette and components 
items

Summary:
colorselector focus ui is not moving for palette and components items.
now it is changed to focus each item of palette and components.

Test Plan:
1. build efl elementary with this patch
2. remove /home/{user}/.elementary
3. launch colorselector with elementary_test -to colorselector
4. move direction key
5. see the new focus ui

Reviewers: jpeg, raster, Hermet, woohyun, bu5hm4n, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail 
---
 config/default/base.src.in|   6 ++
 config/mobile/base.src.in |   6 ++
 config/standard/base.src.in   |   6 ++
 src/lib/elementary/elm_color_item.eo  |   2 +
 src/lib/elementary/elm_colorselector.c| 100 ++
 src/lib/elementary/elm_colorselector.eo   |   1 +
 src/lib/elementary/elm_widget_colorselector.h |   4 ++
 7 files changed, 110 insertions(+), 15 deletions(-)

diff --git a/config/default/base.src.in b/config/default/base.src.in
index 9e05df6..90188f3 100644
--- a/config/default/base.src.in
+++ b/config/default/base.src.in
@@ -803,6 +803,12 @@ group "Elm_Config" struct {
   value "action" string: "move";
   value "params" string: "down";
}
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Return";
+  value "action" string: "activate";
+  value "params" string: "";
+   }
 }
  }
  group "Elm_Config_Bindings_Widget" struct {
diff --git a/config/mobile/base.src.in b/config/mobile/base.src.in
index 56c4f3f..5619970 100644
--- a/config/mobile/base.src.in
+++ b/config/mobile/base.src.in
@@ -807,6 +807,12 @@ group "Elm_Config" struct {
   value "action" string: "move";
   value "params" string: "down";
}
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Return";
+  value "action" string: "activate";
+  value "params" string: "";
+   }
 }
  }
  group "Elm_Config_Bindings_Widget" struct {
diff --git a/config/standard/base.src.in b/config/standard/base.src.in
index e628f82..849185f 100644
--- a/config/standard/base.src.in
+++ b/config/standard/base.src.in
@@ -804,6 +804,12 @@ group "Elm_Config" struct {
   value "action" string: "move";
   value "params" string: "down";
}
+   group "Elm_Config_Binding_Key" struct {
+  value "context" int: 0;
+  value "key" string: "Return";
+  value "action" string: "activate";
+  value "params" string: "";
+   }
 }
  }
  group "Elm_Config_Bindings_Widget" struct {
diff --git a/src/lib/elementary/elm_color_item.eo 
b/src/lib/elementary/elm_color_item.eo
index eab8b54..00928c3 100644
--- a/src/lib/elementary/elm_color_item.eo
+++ b/src/lib/elementary/elm_color_item.eo
@@ -40,5 +40,7 @@ class Elm.Color.Item(Elm.Widget.Item)
   Efl.Object.destructor;
   Elm.Widget.Item.access_register;
   Elm.Widget.Item.signal_emit;
+  Elm.Widget.Item.focus.set;
+  Elm.Widget.Item.focus.get;
}
 }
diff --git a/src/lib/elementary/elm_colorselector.c 
b/src/lib/elementary/elm_colorselector.c
index 189d341..66af2e2 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -183,9 +183,11 @@ static const Elm_Color_Name _color_name[] = {
 };
 
 static Eina_Bool _key_action_move(Evas_Object *obj, const char *params);
+static Eina_Bool _key_action_activate(Evas_Object *obj, const char *params);
 
 static const Elm_Action key_actions[] = {
{"move", _key_action_move},
+   {"activate", _key_action_activate},
{NULL, NULL}
 };
 
@@ -237,6 +239,7 @@ _items_del(Elm_Colorselector_Data *sd)
 
sd->items = NULL;
sd->selected = NULL;
+   sd->focus_items = NULL;
 }
 
 static void
@@ -1895,6 +1898,7 @@ _elm_colorselector_efl_canvas_group_group_add(Eo *obj, 
Elm_Colorselector_Data *p
priv->focused = ELM_COLORSELECTOR_PALETTE;
priv->sel_color_type = HUE;
priv->selected = NULL;
+   priv->focus_items = NULL;
priv->er = 255;
priv->eg = 0;
priv->eb = 0;
@@ -2014,7 +2018,7 @@ _key_action_move(Evas_Object *obj, const char *params)
  {
 if (sd->focused == ELM_COLORSELECTOR_PALETTE && sd->selected)
   {
- cl = eina_list_prev(sd->selected);
+ cl = eina_

[EGIT] [core/efl] master 01/06: evas: vg/gradient - add missing legacy api for gradient object creation.

2016-10-25 Thread Subhransu Mohanty
cedric pushed a commit to branch master.

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

commit 4f16e16b9449167416f4108c61552c1e48b6d8ca
Author: Subhransu Mohanty 
Date:   Tue Oct 25 13:31:45 2016 -0700

evas: vg/gradient - add missing legacy api for gradient object creation.

Reviewers: jpeg, Hermet, artem.popov, cedric

Reviewed By: artem.popov, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail 
---
 src/lib/evas/Evas_Legacy.h| 54 +++
 src/lib/evas/canvas/evas_vg_gradient_linear.c |  6 +++
 src/lib/evas/canvas/evas_vg_gradient_radial.c |  6 +++
 3 files changed, 66 insertions(+)

diff --git a/src/lib/evas/Evas_Legacy.h b/src/lib/evas/Evas_Legacy.h
index 95d2b20..6a4833c 100644
--- a/src/lib/evas/Evas_Legacy.h
+++ b/src/lib/evas/Evas_Legacy.h
@@ -3234,6 +3234,42 @@ EAPI void evas_vg_shape_append_svg_path(Eo *obj, const 
char *svg_path_data);
 EAPI Eina_Bool evas_vg_shape_interpolate(Eo *obj, const Eo *from, const Eo 
*to, double pos_map);
 EAPI Eina_Bool evas_vg_shape_equal_commands(Eo *obj, const Eo *with);
 
+/**
+ * set a vg object as the fill property
+ *
+ * @param obj The object whose fill property gets modified.
+ * @param f The object content will be used for filling.
+ *
+ */
+EAPI void evas_vg_shape_fill_set(Eo *obj, Efl_VG *f);
+
+/**
+ * returns the object that is set for the fill property
+ *
+ * @param obj The object whose fill property is inspected.
+ * @return The object that is set as fill property.
+ *
+ */
+EAPI Efl_VG* evas_vg_shape_fill_get(const Eo *obj);
+
+/**
+ * set a vg object as the stroke fill property
+ *
+ * @param obj The object whose stroke fill property gets modified.
+ * @param f The object content will be used for stroke filling.
+ *
+ */
+EAPI void evas_vg_shape_stroke_fill_set(Eo *obj, Efl_VG *f);
+
+/**
+ * returns the object that is set for the stroke fill property
+ *
+ * @param obj The object whose stroke fill property is inspected.
+ * @return The object that is set as stroke fill property.
+ *
+ */
+EAPI Efl_VG* evas_vg_shape_stroke_fill_get(const Eo *obj);
+
 #include "canvas/efl_vg_shape.eo.legacy.h"
 
 /**
@@ -3281,6 +3317,15 @@ EAPI Efl_Gfx_Gradient_Spread 
evas_vg_gradient_spread_get(Eo *obj);
 #include "canvas/efl_vg_gradient.eo.legacy.h"
 
 /**
+ * Creates a new linear gradient object \.
+ *
+ * @param parent The given vector container object.
+ * @return The created linear gradient object handle.
+ *
+ */
+EAPI Efl_VG* evas_vg_gradient_linear_add(Efl_VG *parent);
+
+/**
  *
  * Sets the start point of this linear gradient.
  *
@@ -3323,6 +3368,15 @@ EAPI void evas_vg_gradient_linear_end_get(Eo *obj, 
double *x, double *y);
 #include "canvas/efl_vg_gradient_linear.eo.legacy.h"
 
 /**
+ * Creates a new radial gradient object \.
+ *
+ * @param parent The given vector container object.
+ * @return The created radial gradient object handle.
+ *
+ */
+EAPI Efl_VG* evas_vg_gradient_radial_add(Efl_VG *parent);
+
+/**
  *
  * Sets the center of this radial gradient.
  *
diff --git a/src/lib/evas/canvas/evas_vg_gradient_linear.c 
b/src/lib/evas/canvas/evas_vg_gradient_linear.c
index de81987..a1e9046 100644
--- a/src/lib/evas/canvas/evas_vg_gradient_linear.c
+++ b/src/lib/evas/canvas/evas_vg_gradient_linear.c
@@ -192,4 +192,10 @@ evas_vg_gradient_linear_end_get(Eo *obj, double *x, double 
*y)
efl_gfx_gradient_linear_end_get(obj, x, y);
 }
 
+EAPI Efl_VG*
+evas_vg_gradient_linear_add(Efl_VG *parent)
+{
+   return efl_add(EFL_VG_GRADIENT_LINEAR_CLASS, parent);
+}
+
 #include "efl_vg_gradient_linear.eo.c"
diff --git a/src/lib/evas/canvas/evas_vg_gradient_radial.c 
b/src/lib/evas/canvas/evas_vg_gradient_radial.c
index 9a60d65..a464e2a 100644
--- a/src/lib/evas/canvas/evas_vg_gradient_radial.c
+++ b/src/lib/evas/canvas/evas_vg_gradient_radial.c
@@ -224,4 +224,10 @@ evas_vg_gradient_radial_focal_get(Eo *obj, double *x, 
double *y)
efl_gfx_gradient_radial_focal_get(obj, x, y);
 }
 
+EAPI Efl_VG*
+evas_vg_gradient_radial_add(Efl_VG *parent)
+{
+   return efl_add(EFL_VG_GRADIENT_RADIAL_CLASS, parent);
+}
+
 #include "efl_vg_gradient_radial.eo.c"

-- 




[EGIT] [core/efl] master 04/06: elementary: gengrid - check the edge correctly

2016-10-25 Thread Minkyu Kang
cedric pushed a commit to branch master.

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

commit a83643d134c7352de33acd75586347450f6e7eca
Author: Minkyu Kang 
Date:   Tue Oct 25 14:12:42 2016 -0700

elementary: gengrid - check the edge correctly

Summary:
The routine of checking edge of left side, divide position by row.
Since the result of fisrt item of last line is 1, that item was not checked 
as edge.
This patch is for fixing it.

Signed-off-by: Minkyu Kang 

Test Plan:
elementary_test -to gengrid2
append items (about 6)
horizontal mode on and item loop enable
check item loop is working properly

Reviewers: cedric, jpeg, Hermet, SanghyeonLee

Subscribers: jehun.lim, SanghyeonLee, cedric, jpeg

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

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

diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 717b306..768d6b2 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -2771,6 +2771,7 @@ _elm_gengrid_item_edge_check(Elm_Object_Item *eo_it,
 ((sd->horizontal) && (dir == ELM_FOCUS_LEFT)))
  {
 Evas_Coord col, row, cvw, cvh;
+int x;
 
 evas_object_geometry_get(sd->pan_obj, NULL, NULL, &cvw, &cvh);
 if (sd->horizontal && sd->item_height > 0)
@@ -2778,7 +2779,8 @@ _elm_gengrid_item_edge_check(Elm_Object_Item *eo_it,
  row = cvh / sd->item_height;
  if (row <= 0) row = 1;
  col = tmp->position / row;
- if (col == 0)
+ x = tmp->position % row;
+ if (col == 0 || (col == 1 && x == 0))
return EINA_TRUE;
   }
 else if (sd->item_width > 0)
@@ -2786,7 +2788,8 @@ _elm_gengrid_item_edge_check(Elm_Object_Item *eo_it,
  col = cvw / sd->item_width;
  if (col <= 0) col = 1;
  row = tmp->position / col;
- if (row == 0)
+ x = tmp->position % col;
+ if (row == 0 || (row == 1 && x == 0))
return EINA_TRUE;
   }
  }

-- 




[EGIT] [core/efl] master 05/06: elementary: fix build without wayland.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit da22a046aa1929a8af441c6bc4578bcb103bd132
Author: Cedric Bail 
Date:   Tue Oct 25 15:02:46 2016 -0700

elementary: fix build without wayland.
---
 src/lib/elementary/efl_ui_win.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index a4dbaeb..5f1507d 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -4811,6 +4811,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Elm_W
   elm_win_focus_highlight_animate_set(obj, EINA_TRUE);
  }
 
+#ifdef HAVE_ELEMENTARY_WL2
if (type != ELM_WIN_FAKE)
  {
 if ((engine) &&
@@ -4848,6 +4849,7 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, 
const char *name, Elm_W
  ecore_evas_resize(sd->pointer.ee, mw, mh);
   }
  }
+#endif
 
elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_WINDOW);
if (_elm_config->atspi_mode)

-- 




[EGIT] [core/efl] master 06/06: elementary: fixup warning in new colorselector code.

2016-10-25 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit baf2187d555a4b4632081f41b85bb6188b7f58d1
Author: Cedric Bail 
Date:   Tue Oct 25 15:03:26 2016 -0700

elementary: fixup warning in new colorselector code.
---
 src/lib/elementary/elm_colorselector.c | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_colorselector.c 
b/src/lib/elementary/elm_colorselector.c
index 66af2e2..bb7f4ff 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -2098,7 +2098,6 @@ _key_action_move(Evas_Object *obj, const char *params)
if (cl)
  {
 eo_item = eina_list_data_get(cl);
-ELM_COLOR_ITEM_DATA_GET(eo_item, item);
 elm_object_item_focus_set(eo_item, EINA_TRUE);
  }
else if (!cl && (sd->focused == ELM_COLORSELECTOR_PALETTE))
@@ -2120,7 +2119,11 @@ _key_action_activate(Evas_Object *obj, const char 
*params EINA_UNUSED)
 Elm_Object_Item *eo_item = NULL;
 eo_item = eina_list_data_get(sd->focus_items);
 elm_obj_color_item_selected_set(eo_item, EINA_TRUE);
+
+return EINA_TRUE;
  }
+
+   return EINA_FALSE;
 }
 
 EOLIAN static Eina_Bool

-- 




Re: [E-devel] [RFC] One binary to rule them all, packagers opinion needed

2016-10-25 Thread Cedric BAIL
On Mon, Oct 24, 2016 at 10:31 PM, Carsten Haitzler  wrote:
> On Fri, 21 Oct 2016 15:14:20 -0700 Cedric BAIL  said:
>
> i've been mulling this. i followed the feedback so far. basically 2 main 
> things:
>
> 1. this is intended to improve performance. especially startup times.
> 2. this is highly problematic in terms of portability and is going to create
> lots of code and build paths.

It won't create lots of code and build paths. In fact it doesn't even
need two build paths. It just needs to uses all .la files for building
quicklaunch and can be rolled in, in parallel to current system. Just
the link of the quicklaunch binary would be different. Next step would
be to make a build option that setup symlink to that binary. Finally
that option would be the default, likely only afffecting the install
process. I don't think that create a lots of code (There should be no
code change) and build paths change at all.

> 3. this makes debugging and other things a nightmare (ps names are all the
> same .. well depending on tool etc.)

This is exagerated. Again just need to pass the right command line to
ps/top and problem is solved. Can easily be documented and we can also
provide a script that does it until we provide some nicer application
there.

> 4. generally the issue of complexity in our build requires for portability 
> etc.
>
> #4 isn't something we can solve right now, but has a better solution if we go
> for a greater internal redesign. but not today. some other day. we have to 
> live
> with what we have right now.

Hum ? How ? I don't see how we can have good portability without a
complex build system. Would be interested to know more by what you
mean here !

> i am always for improvements. but this really makes this method a very very
> very hard ask to do this. i've thought about it and i think this is far TOO
> radical a change as it means different execution methods, library production,
> linking and so much more os by os. it's kind of insane though theoretically
> doable on *nix. i've checked and PIE seems to be urtterly unportable (windows
> can't do it based on my reading). the proposal would be workable ONLY if we
> could do it unversally so it wouldn't bitrot and it'd work. this is actually
> why quicklaunch did .so's instead of PIE because that WORKS portably

Windows is anyway another platform with a lot of specificity.
Quicklaunch will never work there as there is no equivalent to fork
anyway. Emulating what PIE allow is also mostly impossible as
initialization of a library is different as what a binary require
(Even with ALSR). Anyway we already have different code path/build
differrence for Windows and Linux and this one is not a new one. As
in, it won't increase the difference much.

As for the change, they will be the same for all Unix. It is a
compilation option on just the binary plus a static linking of all efl
to it (basically an ifdef with a lot a +=). So I disagree here with
your assesment of the complexity introduced in our build system. The
main change is going to be on install which will be made by doing
symlink to that executable.

> so here is what i think is sane:
>
> 1. merge libraries aggressively. this reduces linking time BETWEEN efl libs 
> and
> thus an efl lib .so when loaded has the libs that were merged already linked
> together. i propose we try and get down to maybe 3 or 4 .so's this will close
> the gap.
>
> how do we make this portable? well on *nix we can install symlinks from our
> old .so major versions TO the new merged ones. but what on windows? the best i
> can think of for windows is produce "empty" dll's that ONLY contain like a
> dummy function and the correct linking to other efl libs they depend on eg if
> we merged eina, eo, ecore, efl into "efl" then eina depends on efl, eo, depend
> on efl and ecore depends on efl. thus link any one of these and you got your
> symbols from before plus more. this solution ALSO works on *nix ... so we 
> could
> use it as a start with symlinks being an optimization of it. yes it means 2
> install paths unfortunately. we COULD do it as a post-install that "rm's"
> the .so's we installed and replaces them by symlinks which makes this kind of
> sane to keep around.

Wouldn't that not work due to DSO ? No idea if that would work with
Windows. Also, I am not to sure it would improve things that much as
you still need to load a library, agreed an empty one, but still need
to load one. It will also be a lot more work than my proposed change
as it require to shuffle all the code around and create a set of new
empty libraries.

> 2. move quicklaunch further down to core (efl core) so its not only up in elm
> land. this would make it a core capability. we STILL should load .so's/dylibs
> or dll's if there, and try PIE binaries... but we should work here on windows
> too. make it a core feature low down the stack

We are already doing PIE binary. As stated above Windows can never
have quicklaunch in any form (No fork, and li

[EGIT] [core/efl] master 01/01: use more standard IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.

2016-10-25 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 9a62932d072ae94c00ec13a4a37aa8f396405e97
Author: Gustavo Sverzut Barbieri 
Date:   Tue Oct 25 19:32:07 2016 -0200

use more standard IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.

The IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are deprecated alias,
use the correct defines so it compiles everywhere.

Fixes T4764

Thanks netstar!
---
 src/lib/ecore_con/ecore_con.c  | 4 ++--
 src/lib/ecore_con/efl_net_dialer_udp.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c
index 0bd23c0..c6b27c8 100644
--- a/src/lib/ecore_con/ecore_con.c
+++ b/src/lib/ecore_con/ecore_con.c
@@ -4998,7 +4998,7 @@ efl_net_multicast_join(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq, 
sizeof(mreq)) == 0)
+if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq, sizeof(mreq)) 
== 0)
   return 0;
  }
else
@@ -5034,7 +5034,7 @@ efl_net_multicast_leave(SOCKET fd, int family, const char 
*address)
 if (err)
   return err;
 
-if (setsockopt(fd, IPPROTO_IPV6, IPV6_DROP_MEMBERSHIP, &mreq, 
sizeof(mreq)) == 0)
+if (setsockopt(fd, IPPROTO_IPV6, IPV6_LEAVE_GROUP, &mreq, 
sizeof(mreq)) == 0)
   return 0;
  }
else
diff --git a/src/lib/ecore_con/efl_net_dialer_udp.c 
b/src/lib/ecore_con/efl_net_dialer_udp.c
index b5fe8de..750cb53 100644
--- a/src/lib/ecore_con/efl_net_dialer_udp.c
+++ b/src/lib/ecore_con/efl_net_dialer_udp.c
@@ -145,7 +145,7 @@ _efl_net_dialer_udp_resolved_bind(Eo *o, 
Efl_Net_Dialer_Udp_Data *pd EINA_UNUSED
  struct ipv6_mreq mreq = {
.ipv6mr_multiaddr = a->sin6_addr,
  };
- if (setsockopt(fd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq, 
sizeof(mreq)) == 0)
+ if (setsockopt(fd, IPPROTO_IPV6, IPV6_JOIN_GROUP, &mreq, 
sizeof(mreq)) == 0)
{
   efl_net_ip_port_fmt(buf, sizeof(buf), addr->ai_addr);
   DBG("joined multicast group %s socket=%d", buf, fd);

-- 




[EGIT] [core/enlightenment] master 02/02: Remove EVAS_CALLBACK_HIDE on shelf when freeing

2016-10-25 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 2af066c97a305993d15a5074d9b8cb46fd5145d2
Author: Derek Foreman 
Date:   Tue Oct 25 14:11:58 2016 -0500

Remove EVAS_CALLBACK_HIDE on shelf when freeing

Prevents a use after free when an evas callback fires later.
---
 src/bin/e_shelf.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c
index d4974a7..64c82bd 100644
--- a/src/bin/e_shelf.c
+++ b/src/bin/e_shelf.c
@@ -1193,6 +1193,8 @@ _e_shelf_free(E_Shelf *es)
if (!es->dummy)
  _e_shelf_bindings_del(es);
 
+   evas_object_event_callback_del(es->comp_object, EVAS_CALLBACK_HIDE, 
_e_shelf_hidden);
+
E_FREE_LIST(es->handlers, ecore_event_handler_del);
E_FREE_LIST(es->zone_obstacles, e_object_del);
 

-- 




[EGIT] [core/enlightenment] master 01/02: Block session recovery for internal windows

2016-10-25 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 30e9f45dfcb430a43b8198cec3886e8b3acf1927
Author: Derek Foreman 
Date:   Tue Oct 25 14:10:47 2016 -0500

Block session recovery for internal windows
---
 src/bin/e_comp_wl.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 5a88430..52f61b5 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2810,6 +2810,9 @@ e_comp_wl_init(void)
 return EINA_FALSE;
  }
 
+   /* Block session recovery for internal windows */
+   ecore_wl2_session_recovery_disable();
+
/* set gl available if we have ecore_evas support */
if (ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_WAYLAND_EGL) ||
ecore_evas_engine_type_supported_get(ECORE_EVAS_ENGINE_OPENGL_DRM))

-- 




[EGIT] [core/efl] master 01/01: ecore_wl2: Add API to disable session recovery

2016-10-25 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit 09378052e78674a5073785e60c72d0e036176796
Author: Derek Foreman 
Date:   Tue Oct 25 14:07:09 2016 -0500

ecore_wl2: Add API to disable session recovery

Enlightenment needs a way to avoid using session recovery functionality
when connecting to itself for internal windows.
---
 src/lib/ecore_wl2/Ecore_Wl2.h | 9 +
 src/lib/ecore_wl2/ecore_wl2.c | 9 -
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index d45ed1a..30fb5d9 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -1243,6 +1243,15 @@ EAPI void ecore_wl2_offer_finish(Ecore_Wl2_Offer *offer);
  */
 EAPI Eina_Bool ecore_wl2_window_has_shell_surface(Ecore_Wl2_Window *win);
 
+/**
+ * Disable session recovery for any further connections.  Must be called
+ * before connecting.  This is irreversible and not intended for general
+ * use.
+ *
+ * @since 1.19
+ */
+EAPI void ecore_wl2_session_recovery_disable(void);
+
 # endif
 
 # undef EAPI
diff --git a/src/lib/ecore_wl2/ecore_wl2.c b/src/lib/ecore_wl2/ecore_wl2.c
index f62daca..397f8e3 100644
--- a/src/lib/ecore_wl2/ecore_wl2.c
+++ b/src/lib/ecore_wl2/ecore_wl2.c
@@ -92,7 +92,8 @@ ecore_wl2_init(void)
 _ecore_wl2_event_window_www = ecore_event_type_new();
 _ecore_wl2_event_window_www_drag = ecore_event_type_new();
  }
-   no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY");
+   if (!no_session_recovery)
+ no_session_recovery = !!getenv("EFL_NO_WAYLAND_SESSION_RECOVERY");
 
return _ecore_wl2_init_count;
 
@@ -155,3 +156,9 @@ ecore_wl2_shutdown(void)
 
return _ecore_wl2_init_count;
 }
+
+EAPI void
+ecore_wl2_session_recovery_disable(void)
+{
+   no_session_recovery = EINA_TRUE;
+}

-- 




[EGIT] [core/efl] master 04/04: elementary: Implement support for EFL Wayland mouse pointers

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit c173be4db73326a5090d69b7442f5ebfc38f2ce4
Author: Chris Michael 
Date:   Tue Oct 25 14:19:57 2016 -0400

elementary: Implement support for EFL Wayland mouse pointers

This patch implements support for EFL Wayland applications to be able
to use EFL mouse pointers instead of ugly X cursors inside a Wayland
compositor. This does Not use Softcursor so the mouse pointer becomes
it's own surface which is then sent to wl_pointer.

NB: Some small hiccups when using wayland_shm such as dropped frames.

@feature

Signed-off-by: Chris Michael 
---
 src/lib/elementary/efl_ui_win.c | 170 +---
 1 file changed, 124 insertions(+), 46 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 6008828..a4dbaeb 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -151,10 +151,11 @@ struct _Efl_Ui_Win_Data
} screen;
struct
{
-#if 0
-  Ecore_Evas  *ee;
+#ifdef HAVE_ELEMENTARY_WL2
+  Ecore_Wl2_Window *win;
+  struct wl_surface *surf;
 #endif
-  Evas*evas;
+  Ecore_Evas  *ee;
   Evas_Object *obj, *hot_obj;
   int  hot_x, hot_y;
} pointer;
@@ -919,8 +920,9 @@ _elm_win_mouse_in(Ecore_Evas *ee)
_elm_win_throttle_ok = EINA_TRUE;
if (sd->resizing) sd->resizing = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WL2
-   if (sd->wl.win && (!sd->frame_obj))
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
+   if (sd->wl.win)
+ ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
+  sd->pointer.hot_x, sd->pointer.hot_y);
 #endif
 }
 
@@ -2195,9 +2197,7 @@ _efl_ui_win_hide(Eo *obj, Efl_Ui_Win_Data *sd)
if (sd->pointer.obj)
  {
 evas_object_hide(sd->pointer.obj);
-#if 0
 ecore_evas_hide(sd->pointer.ee);
-#endif
  }
if (_elm_config->atspi_mode)
  {
@@ -2753,9 +2753,7 @@ _elm_win_obj_intercept_show(void *data,
  }
if (sd->pointer.obj)
  {
-#if 0
 ecore_evas_show(sd->pointer.ee);
-#endif
 evas_object_show(sd->pointer.obj);
  }
evas_object_show(obj);
@@ -3503,10 +3501,19 @@ _elm_win_frame_cb_move_start(void *data,
if (!sd) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (!strcmp(source, "elm"))
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, ELM_CURSOR_HAND1);
-   else
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
+   if (sd->pointer.obj)
+ {
+if (!strcmp(source, "elm"))
+  _elm_theme_object_set(sd->obj, sd->pointer.obj,
+"pointer", "base", "move");
+else
+  _elm_theme_object_set(sd->obj, sd->pointer.obj,
+"pointer", "base", "default");
+ }
+
+   if ((sd->wl.win) && (sd->pointer.surf))
+ ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
+  sd->pointer.hot_x, sd->pointer.hot_y);
 #else
(void)source;
 #endif
@@ -3533,8 +3540,13 @@ _elm_win_frame_cb_move_stop(void *data,
if (!sd) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (sd->wl.win)
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
+   if (sd->pointer.obj)
+ _elm_theme_object_set(sd->obj, sd->pointer.obj,
+   "pointer", "base", "default");
+
+   if ((sd->wl.win) && (sd->pointer.surf))
+ ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
+  sd->pointer.hot_x, sd->pointer.hot_y);
 #endif
 }
 
@@ -3568,8 +3580,13 @@ _elm_win_frame_obj_mouse_in(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj EI
 #ifdef HAVE_ELEMENTARY_WL2
Efl_Ui_Win_Data *sd = data;
 
-   if (sd->wl.win)
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
+   if (sd->pointer.obj)
+ _elm_theme_object_set(sd->obj, sd->pointer.obj,
+   "pointer", "base", "default");
+
+   if ((sd->wl.win) && (sd->pointer.surf))
+ ecore_wl2_window_pointer_set(sd->wl.win, sd->pointer.surf,
+  sd->pointer.hot_x, sd->pointer.hot_y);
 #else
(void)data;
 #endif
@@ -3615,34 +3632,51 @@ _elm_win_frame_cb_resize_show(void *data,
if (sd->resizing) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   int i;
-   i = sd->rot / 90;
-   if (!strcmp(source, "elm.event.resize.t"))
- ecore_wl2_window_cursor_from_name_set(sd->wl.win,
-   _border_side[(0 + i) % 4].name);
-   else if (!strcmp(source, "elm.event.resize.b"))
- ecore_wl2_window_cursor_from_name_set(sd->wl.win,
-   _border_side[(2 + i) % 4].name);
-   else if (!strcmp(source, "elm.event.resize.l"))
- ecore_wl2_window_cursor_from_name_set(sd->wl.win,
-   _border

[EGIT] [core/efl] master 01/04: efl: Remove dependency on wayland-cursor library

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 17652ee8f3d3b68beb86545e249b0e3f8a28b79d
Author: Chris Michael 
Date:   Tue Oct 25 11:08:16 2016 -0400

efl: Remove dependency on wayland-cursor library

Signed-off-by: Chris Michael 
---
 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index c743063..d90b516 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3646,7 +3646,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
 
 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
-   [wayland-server >= 1.11.0 wayland-client >= 1.11.0 wayland-cursor >= 1.11.0 
xkbcommon >= 0.6.0])
+   [wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
 
 EFL_EVAL_PKGS([ECORE_WL2])
 

-- 




[EGIT] [core/efl] master 02/04: ecore-wl2: Don't call cursor_update_stop function twice.

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit db63eff588c2e6f606c6159e540216f811d4e688
Author: Chris Michael 
Date:   Tue Oct 25 13:10:21 2016 -0400

ecore-wl2: Don't call cursor_update_stop function twice.

When setting a cursor by name, the _ecore_wl2_input_cursor_set
function already makes a call to stop updating the cursor, so no need
to run that twice.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_window.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c 
b/src/lib/ecore_wl2/ecore_wl2_window.c
index cd796e9..31cf199 100644
--- a/src/lib/ecore_wl2/ecore_wl2_window.c
+++ b/src/lib/ecore_wl2/ecore_wl2_window.c
@@ -950,8 +950,7 @@ ecore_wl2_window_pointer_set(Ecore_Wl2_Window *window, 
struct wl_surface *surfac
_ecore_wl2_input_cursor_update_stop(input);
 
if (input->wl.pointer)
- wl_pointer_set_cursor(input->wl.pointer,
-   input->pointer.enter_serial,
+ wl_pointer_set_cursor(input->wl.pointer, input->pointer.enter_serial,
surface, hot_x, hot_y);
 }
 
@@ -967,7 +966,6 @@ ecore_wl2_window_cursor_from_name_set(Ecore_Wl2_Window 
*window, const char *curs
input = ecore_wl2_window_input_get(window);
if (!input) return;
 
-   _ecore_wl2_input_cursor_update_stop(input);
_ecore_wl2_input_cursor_set(input, cursor);
 }
 

-- 




[EGIT] [core/efl] master 03/04: ecore-wl2: Remove usage of libwayland-cursor

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit a80d4ef5a54b9252c3017c858de87ac6a2a39c16
Author: Chris Michael 
Date:   Tue Oct 25 14:18:58 2016 -0400

ecore-wl2: Remove usage of libwayland-cursor

This commit removes usage of libwayland-cursor inside Ecore_Wl2
library. This is done so that EFL Wayland applications can use EFL
mouse pointers and not look ugly :)

@feature

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_input.c   | 115 +++---
 src/lib/ecore_wl2/ecore_wl2_private.h |   8 +--
 src/lib/ecore_wl2/ecore_wl2_window.c  |   8 ++-
 3 files changed, 17 insertions(+), 114 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index 919d424..93fdb21 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -671,14 +671,7 @@ _pointer_cb_frame(void *data, struct wl_callback 
*callback, unsigned int timesta
 input->cursor.frame_cb = NULL;
  }
 
-   if (!input->cursor.name)
- {
-_ecore_wl2_input_cursor_set(input, NULL);
-return;
- }
-
-   if ((input->cursor.wl_cursor->image_count > 1) &&
-   (!input->cursor.frame_cb))
+   if (!input->cursor.frame_cb)
  {
 input->cursor.frame_cb = wl_surface_frame(input->cursor.surface);
 wl_callback_add_listener(input->cursor.frame_cb,
@@ -1146,18 +1139,9 @@ _seat_cb_capabilities(void *data, struct wl_seat *seat, 
enum wl_seat_capability
 input->wl.pointer = wl_seat_get_pointer(seat);
 wl_pointer_set_user_data(input->wl.pointer, input);
 wl_pointer_add_listener(input->wl.pointer, &_pointer_listener, input);
-
-if (!input->cursor.surface)
-  {
- input->cursor.surface =
-   wl_compositor_create_surface(input->display->wl.compositor);
-  }
  }
else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && (input->wl.pointer))
  {
-if (input->cursor.surface) wl_surface_destroy(input->cursor.surface);
-input->cursor.surface = NULL;
-
 #ifdef WL_POINTER_RELEASE_SINCE_VERSION
 if (input->seat_version >= WL_POINTER_RELEASE_SINCE_VERSION)
   wl_pointer_release(input->wl.pointer);
@@ -1225,73 +1209,25 @@ _ecore_wl2_input_cursor_setup(Ecore_Wl2_Input *input)
tmp = getenv("ECORE_WL_CURSOR_SIZE");
if (tmp) input->cursor.size = atoi(tmp);
 
-   tmp = getenv("ECORE_WL_CURSOR_THEME_NAME");
-   eina_stringshare_replace(&input->cursor.theme_name, tmp);
-
if (!input->cursor.name)
  input->cursor.name = eina_stringshare_add("left_ptr");
-
-   if (input->display->wl.shm)
- {
-input->cursor.theme =
-  wl_cursor_theme_load(input->cursor.theme_name, input->cursor.size,
-   input->display->wl.shm);
- }
 }
 
-static Eina_Bool
+Eina_Bool
 _ecore_wl2_input_cursor_update(void *data)
 {
Ecore_Wl2_Input *input;
-   struct wl_cursor_image *image;
-   struct wl_buffer *buffer;
-   unsigned int delay = 0;
 
input = data;
if (!input) return EINA_FALSE;
 
-   image = input->cursor.wl_cursor->images[input->cursor.index];
-   if (!image) return EINA_FALSE;
-
-   buffer = wl_cursor_image_get_buffer(image);
-   if (buffer)
- {
-if (input->wl.pointer)
-  wl_pointer_set_cursor(input->wl.pointer, input->pointer.enter_serial,
-input->cursor.surface,
-image->hotspot_x, image->hotspot_y);
-
-wl_surface_attach(input->cursor.surface, buffer, 0, 0);
-#ifdef WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION
-if (input->display->wl.compositor_version >= 
WL_SURFACE_DAMAGE_BUFFER_SINCE_VERSION)
-   wl_surface_damage_buffer(input->cursor.surface,
-0, 0, image->width, image->height);
-else
-#endif
-   wl_surface_damage(input->cursor.surface,
- 0, 0, image->width, image->height);
-wl_surface_commit(input->cursor.surface);
-
-if ((input->cursor.wl_cursor->image_count > 1) &&
-(!input->cursor.frame_cb))
-  _pointer_cb_frame(input, NULL, 0);
- }
-
-   if (input->cursor.wl_cursor->image_count <= 1)
- return ECORE_CALLBACK_CANCEL;
-
-   delay = image->delay;
-   input->cursor.index =
- (input->cursor.index + 1) % input->cursor.wl_cursor->image_count;
+   if (input->wl.pointer)
+ wl_pointer_set_cursor(input->wl.pointer, input->pointer.enter_serial,
+   input->cursor.surface,
+   input->cursor.hot_x, input->cursor.hot_y);
 
-   if (!input->cursor.timer)
- {
-input->cursor.timer =
-  ecore_timer_loop_add(delay / 1000.0,
-   _ecore_wl2_input_cursor_update, input);
- }
-   else
- ecore_timer_interval_set(input->cur

[EGIT] [core/efl] master 01/02: js: Fix Makefile location and linking of efl.node and tests

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 4cd2bd8a669ab0221c00c47dc99687d1ded32238
Author: Felipe Magno de Almeida 
Date:   Tue Oct 25 15:42:04 2016 -0200

js: Fix Makefile location and linking of efl.node and tests
---
 src/Makefile.am|  2 +-
 src/Makefile_Efl_Js.am | 77 ++
 src/Makefile_Eolian_Js.am  | 10 ++---
 src/bindings/js/efl_js/efl_js.cc   |  8 ++--
 src/tests/eolian_js/eolian_js_suite.js |  3 +-
 5 files changed, 44 insertions(+), 56 deletions(-)

diff --git a/src/Makefile.am b/src/Makefile.am
index cbf258e..9e12fdc 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -85,7 +85,7 @@ am__v_CP_0 = @echo "  CP  " $@;
 CP = cp
 if EFL_ENABLE_TESTS
 if HAVE_NODEJS
-AM_TESTS_ENVIRONMENT += 
NODE_PATH='$(abs_builddir)/lib/efl_js:$(abs_builddir)/tests/eolian_js:$(abs_builddir)/tests/efl_js';
 export NODE_PATH;
+AM_TESTS_ENVIRONMENT += 
NODE_PATH='$(abs_builddir)/bin/efl_js:$(abs_builddir)/tests/eolian_js:$(abs_builddir)/tests/efl_js';
 export NODE_PATH;
 endif
 endif
 endif
diff --git a/src/Makefile_Efl_Js.am b/src/Makefile_Efl_Js.am
index 734c9ed..64c643a 100644
--- a/src/Makefile_Efl_Js.am
+++ b/src/Makefile_Efl_Js.am
@@ -2,14 +2,14 @@ if HAVE_JS
 
 if HAVE_NODEJS
 
-noinst_lib_LTLIBRARIES = lib/efl_js/libefl_node_js.la
+noinst_lib_LTLIBRARIES = bindings/js/efl_js/libefl_js.la
 noinst_libdir = $(libdir)/efl_js
 
-$(top_builddir)/src/lib/efl_js/efl.node: lib/efl_js/libefl_node_js.la
-   $(AM_V_CP)$(CP) $(top_builddir)/src/lib/efl_js/.libs/libefl_node_js.so 
$(top_builddir)/src/lib/efl_js/efl.node
+bin/efl_js/efl.node: bindings/js/efl_js/libefl_js.la
+   $(AM_V_CP)$(CP) bindings/js/efl_js/.libs/libefl_js.so 
bin/efl_js/efl.node
 
 eflnodedir = $(libdir)/node_modules
-eflnode_DATA = $(top_builddir)/src/lib/efl_js/efl.node
+eflnode_DATA = bin/efl_js/efl.node
 
 CLEANFILES += ${eflnodedir_DATA}
 EXTRA_DIST2 += ${eflnodedir_DATA}
@@ -133,9 +133,9 @@ installed_efljsheadersdir = $(includedir)/efl-js-@VMAJ@
 dist_installed_efljsheaders_DATA = \
 bindings/js/efl_js/Efl_Js.hh
 
-lib_LTLIBRARIES += lib/efl_js/libefl_js.la
+#lib_LTLIBRARIES += lib/efl_js/libefl_js.la
 
-lib_efl_js_libefl_js_la_SOURCES = \
+bindings_js_efl_js_libefl_js_la_SOURCES = \
 bindings/js/eina_js/eina_js_container.cc \
 bindings/js/eina_js/eina_js_value.cc \
 bindings/js/eina_js/eina_js_error.cc \
@@ -157,14 +157,15 @@ bindings/js/eldbus_js/eldbus_js_connection.cc \
 bindings/js/eldbus_js/eldbus_js_message.cc \
 bindings/js/eldbus_js/eldbus_js_object_mapper.cc \
 bindings/js/eio_js/eio_js.cc \
+bindings/js/efl_js/efl_js.cc \
 bindings/js/ethumb_js/ethumb_js_client.cc
 
-nodist_lib_efl_js_libefl_js_la_SOURCES = \
+nodist_bindings_js_efl_js_libefl_js_la_SOURCES = \
 bindings/js/efl_js/eolian_js_bindings.cc
 
-bindings/js/efl_js/efl_js.cc $(lib_efl_js_libefl_js_la_SOURCES): 
$(ecore_eolian_cxx_hh) $(ecore_eolian_cxx_impl_hh) $(eo_eolian_cxx_hh) 
$(eo_eolian_cxx_impl_hh) $(efl_eolian_cxx_hh) $(efl_eolian_cxx_impl_hh) 
lib/ecore/Ecore.eo.hh
+bindings/js/efl_js/efl_js.cc $(bindings_js_efl_js_libefl_js_la_SOURCES): 
$(ecore_eolian_cxx_public_hh) $(ecore_eolian_cxx_public_impl_hh) 
$(eo_eolian_cxx_public_hh) $(eo_eolian_cxx_public_impl_hh) 
$(efl_eolian_cxx_public_hh) $(efl_eolian_cxx_public_impl_hh) 
lib/ecore/Ecore.eo.hh
 
-lib_efl_js_libefl_js_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
+bindings_js_efl_js_libefl_js_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/lib/efl \
 -I$(top_builddir)/src/lib/efl/interfaces/ \
 -I$(top_builddir)/src/lib/evas/canvas/ \
@@ -187,24 +188,10 @@ lib_efl_js_libefl_js_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 @EINA_CXX_CFLAGS@ \
 @ELEMENTARY_CFLAGS@ \
 -D_EO_ADD_FALLBACK_FORCE=1
-lib_efl_js_libefl_js_la_LIBADD = @EFL_JS_LIBS@
-lib_efl_js_libefl_js_la_DEPENDENCIES = @EFL_JS_INTERNAL_LIBS@
-lib_efl_js_libefl_js_la_LIBTOOLFLAGS = --tag=disable-static
-lib_efl_js_libefl_js_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
-
-if HAVE_NODEJS
-lib_efl_js_libefl_node_js_la_SOURCES = \
-bindings/js/efl_js/efl_js.cc
-
-lib_efl_js_libefl_node_js_la_CPPFLAGS = $(lib_efl_js_libefl_js_la_CPPFLAGS)
-lib_efl_js_libefl_node_js_la_LIBADD = @USE_EFL_JS_LIBS@
-lib_efl_js_libefl_node_js_la_DEPENDENCIES = @USE_EFL_JS_INTERNAL_LIBS@
-lib_efl_js_libefl_node_js_la_LIBTOOLFLAGS = --tag=disable-static
-lib_efl_js_libefl_node_js_la_LDFLAGS =
-else
-lib_efl_js_libefl_js_la_SOURCES += \
-bindings/js/efl_js/efl_js.cc
-endif
+bindings_js_efl_js_libefl_js_la_LIBADD = @EFL_JS_LIBS@
+bindings_js_efl_js_libefl_js_la_DEPENDENCIES = @EFL_JS_INTERNAL_LIBS@
+bindings_js_efl_js_libefl_js_la_LIBTOOLFLAGS = --tag=disable-static
+bindings_js_efl_js_libefl_js_la_LDFLAGS = @EFL_LTLIBRARY_FLAGS@
 
 if EFL_ENABLE_TESTS
 
@@ -236,11 +223,11 @@ tests/efl_js/benchmark_js_suite.js
 
 check_LTLIBRARIES += tests/efl_js/libbenchmark_object.la
 
-test

[EGIT] [core/efl] master 02/02: js: Fix calling setAlignedInternalPointerField without a aligned value

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit a09ad5af7f4e1329490dd685c0b34e5c60cded5b
Author: Felipe Magno de Almeida 
Date:   Tue Oct 25 15:42:49 2016 -0200

js: Fix calling setAlignedInternalPointerField without a aligned value
---
 src/bindings/js/eina_js/eina_js_iterator.hh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/bindings/js/eina_js/eina_js_iterator.hh 
b/src/bindings/js/eina_js/eina_js_iterator.hh
index 7021a7b..6894406 100644
--- a/src/bindings/js/eina_js/eina_js_iterator.hh
+++ b/src/bindings/js/eina_js/eina_js_iterator.hh
@@ -66,8 +66,8 @@ inline v8::Local export_iterator(Eina_Iterator *i,
 ::eina_iterator_free(static_cast(i));
 };
 compatibility_set_pointer_internal_field(ret, 0, i);
-compatibility_set_pointer_internal_field
-  (ret, 1, reinterpret_cast(deleter));
+// compatibility_set_pointer_internal_field
+//   (ret, 1, reinterpret_cast(deleter));
 }
 
 return ret;

-- 




[EGIT] [core/enlightenment] master 01/02: create substruct for E_Comp to put canvas objects into

2016-10-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit ef33638c42cf6cd7f7580d6b00b0aa46eb27729f
Author: Mike Blumenkrantz 
Date:   Tue Oct 25 12:01:17 2016 -0400

create substruct for E_Comp to put canvas objects into

allow adding/removing objects in the future without breaking abi
---
 src/bin/e_comp.c| 53 +
 src/bin/e_comp.h| 14 ++---
 src/bin/e_comp_canvas.c |  8 
 src/bin/e_comp_x.c  |  2 +-
 4 files changed, 43 insertions(+), 34 deletions(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 3af7593..d8dcb07 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -200,28 +200,28 @@ _e_comp_fps_update(void)
 {
if (conf->fps_show)
  {
-if (e_comp->fps_bg) return;
-
-e_comp->fps_bg = evas_object_rectangle_add(e_comp->evas);
-evas_object_color_set(e_comp->fps_bg, 0, 0, 0, 128);
-evas_object_layer_set(e_comp->fps_bg, E_LAYER_MAX);
-evas_object_name_set(e_comp->fps_bg, "e_comp->fps_bg");
-evas_object_lower(e_comp->fps_bg);
-evas_object_show(e_comp->fps_bg);
-
-e_comp->fps_fg = evas_object_text_add(e_comp->evas);
-evas_object_text_font_set(e_comp->fps_fg, "Sans", 10);
-evas_object_text_text_set(e_comp->fps_fg, "???");
-evas_object_color_set(e_comp->fps_fg, 255, 255, 255, 255);
-evas_object_layer_set(e_comp->fps_fg, E_LAYER_MAX);
-evas_object_name_set(e_comp->fps_bg, "e_comp->fps_fg");
-evas_object_stack_above(e_comp->fps_fg, e_comp->fps_bg);
-evas_object_show(e_comp->fps_fg);
+if (e_comp->canvas->fps_bg) return;
+
+e_comp->canvas->fps_bg = evas_object_rectangle_add(e_comp->evas);
+evas_object_color_set(e_comp->canvas->fps_bg, 0, 0, 0, 128);
+evas_object_layer_set(e_comp->canvas->fps_bg, E_LAYER_MAX);
+evas_object_name_set(e_comp->canvas->fps_bg, "e_comp->canvas->fps_bg");
+evas_object_lower(e_comp->canvas->fps_bg);
+evas_object_show(e_comp->canvas->fps_bg);
+
+e_comp->canvas->fps_fg = evas_object_text_add(e_comp->evas);
+evas_object_text_font_set(e_comp->canvas->fps_fg, "Sans", 10);
+evas_object_text_text_set(e_comp->canvas->fps_fg, "???");
+evas_object_color_set(e_comp->canvas->fps_fg, 255, 255, 255, 255);
+evas_object_layer_set(e_comp->canvas->fps_fg, E_LAYER_MAX);
+evas_object_name_set(e_comp->canvas->fps_bg, "e_comp->canvas->fps_fg");
+evas_object_stack_above(e_comp->canvas->fps_fg, 
e_comp->canvas->fps_bg);
+evas_object_show(e_comp->canvas->fps_fg);
  }
else
  {
-E_FREE_FUNC(e_comp->fps_fg, evas_object_del);
-E_FREE_FUNC(e_comp->fps_bg, evas_object_del);
+E_FREE_FUNC(e_comp->canvas->fps_fg, evas_object_del);
+E_FREE_FUNC(e_comp->canvas->fps_bg, evas_object_del);
  }
 }
 
@@ -425,9 +425,9 @@ _e_comp_cb_update(void)
 if (e_comp->frameskip >= conf->fps_average_range)
   {
  e_comp->frameskip = 0;
- evas_object_text_text_set(e_comp->fps_fg, buf);
+ evas_object_text_text_set(e_comp->canvas->fps_fg, buf);
   }
-evas_object_geometry_get(e_comp->fps_fg, NULL, NULL, &w, &h);
+evas_object_geometry_get(e_comp->canvas->fps_fg, NULL, NULL, &w, &h);
 w += 8;
 h += 8;
 z = e_zone_current_get();
@@ -455,9 +455,9 @@ _e_comp_cb_update(void)
   break;
}
   }
-evas_object_move(e_comp->fps_bg, x, y);
-evas_object_resize(e_comp->fps_bg, w, h);
-evas_object_move(e_comp->fps_fg, x + 4, y + 4);
+evas_object_move(e_comp->canvas->fps_bg, x, y);
+evas_object_resize(e_comp->canvas->fps_bg, w, h);
+evas_object_move(e_comp->canvas->fps_fg, x + 4, y + 4);
  }
if (conf->lock_fps)
  {
@@ -581,7 +581,7 @@ 
_e_comp_shapes_update_object_checker_function_thingy(Evas_Object *o)
Eina_List *l;
E_Zone *zone;
 
-   if (o == e_comp->bg_blank_object) return EINA_TRUE;
+   if (o == e_comp->canvas->bg_blank_object) return EINA_TRUE;
EINA_LIST_FOREACH(e_comp->zones, l, zone)
  {
 if ((o == zone->over) || (o == zone->base)) return EINA_TRUE;
@@ -851,7 +851,7 @@ _e_comp_free(E_Comp *c)
if (c->nocomp_delay_timer) ecore_timer_del(c->nocomp_delay_timer);
if (c->nocomp_override_timer) ecore_timer_del(c->nocomp_override_timer);
ecore_job_del(c->shape_job);
-
+   free(c->canvas);
free(c);
 }
 
@@ -1363,6 +1363,7 @@ e_comp_new(void)
  CRI("CANNOT REPLACE EXISTING COMPOSITOR");
e_comp = E_OBJECT_ALLOC(E_Comp, E_COMP_TYPE, _e_comp_free);
if (!e_comp) return NULL;
+   e_comp->canvas = E_NEW(E_Comp_Canvas, 1);
 
e_comp->render_animator = ecore_animator_add(_e_comp_cb_animator, NULL);
ecore_animator_freeze(e_comp->re

[EGIT] [core/enlightenment] master 02/02: bump modapi

2016-10-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 4251e1246259c9977534d231cf7fb5e1f19f28d7
Author: Mike Blumenkrantz 
Date:   Tue Oct 25 12:02:15 2016 -0400

bump modapi
---
 src/bin/e_module.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_module.h b/src/bin/e_module.h
index 19fd58e..ac07884 100644
--- a/src/bin/e_module.h
+++ b/src/bin/e_module.h
@@ -1,6 +1,6 @@
 #ifdef E_TYPEDEFS
 
-#define E_MODULE_API_VERSION 22
+#define E_MODULE_API_VERSION 23
 
 typedef struct _E_Module E_Module;
 typedef struct _E_Module_Api E_Module_Api;

-- 




[EGIT] [core/efl] master 01/01: eolian: remove type silencing stuff entirely

2016-10-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 82ef73ca186208913dc1b91ab28d0be81b125f8e
Author: Daniel Kolesa 
Date:   Tue Oct 25 18:02:23 2016 +0200

eolian: remove type silencing stuff entirely

this was useful during transition, but not anymore
---
 src/bin/eolian/main.c  |   9 +-
 src/bin/eolian_cxx/eolian_cxx.cc   |   2 +-
 src/bindings/luajit/eolian.lua |   6 +-
 src/lib/eolian/Eolian.h|   3 +-
 src/lib/eolian/database_validate.c | 167 -
 src/lib/eolian/eolian_database.c   |   4 +-
 src/lib/eolian/eolian_database.h   |   2 +-
 7 files changed, 81 insertions(+), 112 deletions(-)

diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c
index 5946b83..3caf994 100644
--- a/src/bin/eolian/main.c
+++ b/src/bin/eolian/main.c
@@ -43,7 +43,6 @@ _print_usage(const char *progn, FILE *outf)
  "  -o type:name  specify a particular output filename\n"
  "  -hprint this message and exit\n"
  "  -vprint version and exit\n"
- "  -ssilence type errors in validation\n"
  "\n"
  "Available types:\n"
  "  h: C header file (.h)\n"
@@ -398,8 +397,7 @@ main(int argc, char **argv)
char *outs[5] = { NULL, NULL, NULL, NULL, NULL };
 
int gen_what = 0;
-   Eina_Bool silent_types = EINA_FALSE;
-   for (int opt; (opt = getopt(argc, argv, "I:g:o:shv")) != -1;)
+   for (int opt; (opt = getopt(argc, argv, "I:g:o:hv")) != -1;)
  switch (opt)
{
 case 0:
@@ -451,9 +449,6 @@ main(int argc, char **argv)
 }
   else _fill_all_outs(outs, optarg);
   break;
-case 's':
-  silent_types = EINA_TRUE;
-  break;
 case 'h':
   _print_usage(argv[0], stdout);
   goto end;
@@ -485,7 +480,7 @@ main(int argc, char **argv)
 goto end;
  }
 
-   if (!eolian_database_validate(silent_types))
+   if (!eolian_database_validate())
  {
 fprintf(stderr, "eolian: failed validating database\n");
 goto end;
diff --git a/src/bin/eolian_cxx/eolian_cxx.cc b/src/bin/eolian_cxx/eolian_cxx.cc
index 37d24bc..24a9dd6 100644
--- a/src/bin/eolian_cxx/eolian_cxx.cc
+++ b/src/bin/eolian_cxx/eolian_cxx.cc
@@ -252,7 +252,7 @@ database_load(options_type const& opts)
  << "Failed parsing: " << opts.in_file << ".";
assert(false && "Error parsing input file");
  }
-   if (!::eolian_database_validate(EINA_FALSE))
+   if (!::eolian_database_validate())
  {
 EINA_CXX_DOM_LOG_ERR(eolian_cxx::domain)
   << "Eolian failed validating database.";
diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index 354156e..b5c2f7f 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -196,7 +196,7 @@ ffi.cdef [[
 Eina_Bool eolian_system_directory_scan();
 Eina_Bool eolian_all_eo_files_parse();
 Eina_Bool eolian_all_eot_files_parse();
-Eina_Bool eolian_database_validate(Eina_Bool silent_types);
+Eina_Bool eolian_database_validate();
 const Eolian_Class *eolian_class_get_by_name(const char *class_name);
 const Eolian_Class *eolian_class_get_by_file(const char *file_name);
 const char *eolian_class_file_get(const Eolian_Class *klass);
@@ -438,8 +438,8 @@ M.all_eot_files_get = function()
 return iterator.String_Iterator(eolian.eolian_all_eot_files_get())
 end
 
-M.database_validate = function(silent)
-return eolian.eolian_database_validate((not not silent) or false) ~= 0
+M.database_validate = function()
+return eolian.eolian_database_validate() ~= 0
 end
 
 M.declaration_type = {
diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 1ccabf7..6d57098 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -466,14 +466,13 @@ EAPI Eina_Bool eolian_all_eot_files_parse(void);
 /*
  * @brief Validates the database, printing errors and warnings.
  *
- * @param[in] silent_types whether to silence type errors
  * @return EINA_TRUE on success, EINA_FALSE otherwise.
  *
  * Useful to catch type errors etc. early on.
  *
  * @ingroup Eolian
  */
-EAPI Eina_Bool eolian_database_validate(Eina_Bool silent_types);
+EAPI Eina_Bool eolian_database_validate();
 
 /*
  * @brief Gets a class by its name
diff --git a/src/lib/eolian/database_validate.c 
b/src/lib/eolian/database_validate.c
index aab20a5..4e93b4e 100644
--- a/src/lib/eolian/database_validate.c
+++ b/src/lib/eolian/database_validate.c
@@ -6,18 +6,8 @@
 
 #include "eo_lexer.h"
 
-typedef struct _Validator {
-   Eina_Bool silent_types;
-} Validator;
-
-typedef struct _Val_Success {
-   const Validator *vs;
-   Eina_Bool success;
-} Val_Success;
-
 static Eina_Bool
-_validate_ref(const Validator *vs EINA_UNUSED, const char *ref,
-  const Eoli

[EGIT] [core/efl] master 01/01: theme: slightly expand e/gadget/clock/digital/advanced sizer width

2016-10-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit bbf189c9936220f9de95468d28995a640c2e319d
Author: Mike Blumenkrantz 
Date:   Tue Oct 25 11:37:57 2016 -0400

theme: slightly expand e/gadget/clock/digital/advanced sizer width
---
 data/elementary/themes/edc/time.edc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/data/elementary/themes/edc/time.edc 
b/data/elementary/themes/edc/time.edc
index 31852f3..41674d7 100644
--- a/data/elementary/themes/edc/time.edc
+++ b/data/elementary/themes/edc/time.edc
@@ -87,6 +87,7 @@ group { "e/gadget/clock/digital/advanced"; nomouse;
  desc {
 rel1.to: "e.text";
 rel2.to: "e.text.sub";
+rel2.offset: 3 0;
  }
  desc { "only";
 rel.to: "e.text";

-- 




[EGIT] [core/efl] master 01/01: Edje_Edit: use correct description array accessing

2016-10-25 Thread Vitalii Vorobiov
furrymyad pushed a commit to branch master.

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

commit aa423e7669e9faf40eb211ca457531439d10f4a1
Author: Vitalii Vorobiov 
Date:   Tue Oct 25 18:22:50 2016 +0300

Edje_Edit: use correct description array accessing

its a loop with j, but not with i
kinda a little typo

@fix
---
 src/lib/edje/edje_edit.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c
index b9ba2d3..aa41124 100644
--- a/src/lib/edje/edje_edit.c
+++ b/src/lib/edje/edje_edit.c
@@ -3372,12 +3372,12 @@ edje_edit_part_del(Evas_Object *obj, const char *part)
 
 for (j = 0; j < real->part->other.desc_count; ++j)
   {
- if (real->part->other.desc[i]->map.id_persp == rp->part->id)
-   real->part->other.desc[i]->map.id_persp = -1;
- if (real->part->other.desc[i]->map.id_light == rp->part->id)
-   real->part->other.desc[i]->map.id_light = -1;
- if (real->part->other.desc[i]->map.rot.id_center == rp->part->id)
-   real->part->other.desc[i]->map.rot.id_center = -1;
+ if (real->part->other.desc[j]->map.id_persp == rp->part->id)
+   real->part->other.desc[j]->map.id_persp = -1;
+ if (real->part->other.desc[j]->map.id_light == rp->part->id)
+   real->part->other.desc[j]->map.id_light = -1;
+ if (real->part->other.desc[j]->map.rot.id_center == rp->part->id)
+   real->part->other.desc[j]->map.rot.id_center = -1;
   }
  }
 

-- 




[EGIT] [core/enlightenment] master 01/01: force min size on wireless popup during show

2016-10-25 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 989675f31000b1b46506c1dc99a1a28f8580d961
Author: Mike Blumenkrantz 
Date:   Tue Oct 25 11:25:41 2016 -0400

force min size on wireless popup during show

box+list inside a ctxpopup may result in an unreliable min size at the time
of show, so force the size wanted at this time in order to avoid positioning
errors
---
 src/modules/wireless/wireless.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/modules/wireless/wireless.c b/src/modules/wireless/wireless.c
index 2189363..f3721ba 100644
--- a/src/modules/wireless/wireless.c
+++ b/src/modules/wireless/wireless.c
@@ -946,6 +946,7 @@ _wireless_gadget_mouse_down(void *data, Evas *e 
EINA_UNUSED, Evas_Object *obj, v
 
zone = e_zone_current_get();
evas_object_resize(wireless_popup.popup, zone->w / 5, zone->h / 3);
+   evas_object_size_hint_min_set(box, zone->w / 5, zone->h / 3);
evas_object_show(wireless_popup.popup);
evas_object_event_callback_add(wireless_popup.popup, EVAS_CALLBACK_DEL, 
_wireless_popup_del, inst);
 }

-- 




[EGIT] [core/efl] master 03/04: Revert "ecore-wl2: Remove all references to wl_cursor usage"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 3a44b0fd172f143c32a89ac8aac28cbad6f4d1e9
Author: Chris Michael 
Date:   Tue Oct 25 10:47:15 2016 -0400

Revert "ecore-wl2: Remove all references to wl_cursor usage"

This reverts commit 173fda5c11fc083a0b274e404f0005a52b4bf128.

Reverting this as we need to handle mouse pointers a different way.
---
 configure.ac  |   2 +-
 src/lib/ecore_wl2/Ecore_Wl2.h |   1 +
 src/lib/ecore_wl2/ecore_wl2_input.c   | 145 --
 src/lib/ecore_wl2/ecore_wl2_private.h |  12 ++-
 src/lib/ecore_wl2/ecore_wl2_window.c  |   3 +-
 5 files changed, 152 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index d90b516..c743063 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3646,7 +3646,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
 
 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
-   [wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
+   [wayland-server >= 1.11.0 wayland-client >= 1.11.0 wayland-cursor >= 1.11.0 
xkbcommon >= 0.6.0])
 
 EFL_EVAL_PKGS([ECORE_WL2])
 
diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h
index 27eca97..d45ed1a 100644
--- a/src/lib/ecore_wl2/Ecore_Wl2.h
+++ b/src/lib/ecore_wl2/Ecore_Wl2.h
@@ -4,6 +4,7 @@
 # include 
 # include 
 # include 
+# include 
 # include 
 
 # define WL_HIDE_DEPRECATED
diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index 5600fed..919d424 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -35,7 +35,7 @@ typedef struct _Ecore_Wl2_Mouse_Down_Info
 static Eina_Inlist *_ecore_wl2_mouse_down_info_list = NULL;
 
 static void _keyboard_cb_key(void *data, struct wl_keyboard *keyboard 
EINA_UNUSED, unsigned int serial, unsigned int timestamp, unsigned int keycode, 
unsigned int state);
-/* static void _pointer_cb_frame(void *data, struct wl_callback *callback, 
unsigned int timestamp EINA_UNUSED); */
+static void _pointer_cb_frame(void *data, struct wl_callback *callback, 
unsigned int timestamp EINA_UNUSED);
 
 static Ecore_Wl2_Mouse_Down_Info *
 _ecore_wl2_input_mouse_down_info_get(int device)
@@ -651,6 +651,41 @@ static const struct wl_pointer_listener _pointer_listener =
NULL, /* axis_discrete */
 };
 
+static const struct wl_callback_listener _pointer_surface_listener =
+{
+   _pointer_cb_frame
+};
+
+static void
+_pointer_cb_frame(void *data, struct wl_callback *callback, unsigned int 
timestamp EINA_UNUSED)
+{
+   Ecore_Wl2_Input *input;
+
+   input = data;
+   if (!input) return;
+
+   if (callback)
+ {
+if (callback != input->cursor.frame_cb) return;
+wl_callback_destroy(callback);
+input->cursor.frame_cb = NULL;
+ }
+
+   if (!input->cursor.name)
+ {
+_ecore_wl2_input_cursor_set(input, NULL);
+return;
+ }
+
+   if ((input->cursor.wl_cursor->image_count > 1) &&
+   (!input->cursor.frame_cb))
+ {
+input->cursor.frame_cb = wl_surface_frame(input->cursor.surface);
+wl_callback_add_listener(input->cursor.frame_cb,
+ &_pointer_surface_listener, input);
+ }
+}
+
 static void
 _keyboard_cb_keymap(void *data, struct wl_keyboard *keyboard EINA_UNUSED, 
unsigned int format, int fd, unsigned int size)
 {
@@ -,9 +1146,18 @@ _seat_cb_capabilities(void *data, struct wl_seat *seat, 
enum wl_seat_capability
 input->wl.pointer = wl_seat_get_pointer(seat);
 wl_pointer_set_user_data(input->wl.pointer, input);
 wl_pointer_add_listener(input->wl.pointer, &_pointer_listener, input);
+
+if (!input->cursor.surface)
+  {
+ input->cursor.surface =
+   wl_compositor_create_surface(input->display->wl.compositor);
+  }
  }
else if (!(caps & WL_SEAT_CAPABILITY_POINTER) && (input->wl.pointer))
  {
+if (input->cursor.surface) wl_surface_destroy(input->cursor.surface);
+input->cursor.surface = NULL;
+
 #ifdef WL_POINTER_RELEASE_SINCE_VERSION
 if (input->seat_version >= WL_POINTER_RELEASE_SINCE_VERSION)
   wl_pointer_release(input->wl.pointer);
@@ -1180,19 +1224,74 @@ _ecore_wl2_input_cursor_setup(Ecore_Wl2_Input *input)
input->cursor.size = 32;
tmp = getenv("ECORE_WL_CURSOR_SIZE");
if (tmp) input->cursor.size = atoi(tmp);
+
+   tmp = getenv("ECORE_WL_CURSOR_THEME_NAME");
+   eina_stringshare_replace(&input->cursor.theme_name, tmp);
+
+   if (!input->cursor.name)
+ input->cursor.name = eina_stringshare_add("left_ptr");
+
+   if (input->display->wl.shm)
+ {
+input->cursor.theme =
+  wl_cursor_theme_load(input->cursor.theme_name, input->cursor.size,
+   input->display->wl.shm);
+ }
 }
 
 static Eina_B

[EGIT] [core/efl] master 02/04: Revert "elementary: Don't try to set pointer edj if there is no pointer"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 13f77a2456c0a770e94e68f168a1ffda9e5298ae
Author: Chris Michael 
Date:   Tue Oct 25 10:46:42 2016 -0400

Revert "elementary: Don't try to set pointer edj if there is no pointer"

This reverts commit 3686a8aa8982517acd3a761e06969cc259b00f18.

Reverting this as we need to handle mouse pointers a different way.
---
 src/lib/elementary/efl_ui_win.c | 21 ++---
 1 file changed, 6 insertions(+), 15 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index df7702d..6d750b3 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -922,7 +922,6 @@ _elm_win_mouse_in(Ecore_Evas *ee)
if (sd->wl.win)
  ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
 
-   if (!sd->pointer.obj) return;
ecore_evas_object_cursor_set(sd->ee, sd->pointer.obj,
 ELM_OBJECT_LAYER_CURSOR,
 sd->pointer.hot_x, sd->pointer.hot_y);
@@ -936,7 +935,6 @@ _elm_win_mouse_out(Ecore_Evas *ee)
if (!sd) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (!sd->pointer.obj) return;
sd->pointer.obj = ecore_evas_cursor_unset(sd->ee);
 #endif
 }
@@ -3523,15 +3521,12 @@ _elm_win_frame_cb_move_start(void *data,
if (sd->wl.win)
  ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
 
-   if (sd->pointer.obj)
- {
-if (!strcmp(source, "elm"))
-  _elm_theme_object_set(sd->obj, sd->pointer.obj,
-"pointer", "base", "move");
-else
-  _elm_theme_object_set(sd->obj, sd->pointer.obj,
-"pointer", "base", "default");
- }
+   if (!strcmp(source, "elm"))
+ _elm_theme_object_set(sd->obj, sd->pointer.obj,
+   "pointer", "base", "move");
+   else
+ _elm_theme_object_set(sd->obj, sd->pointer.obj,
+   "pointer", "base", "default");
 #else
(void)source;
 #endif
@@ -3560,7 +3555,6 @@ _elm_win_frame_cb_move_stop(void *data,
 #ifdef HAVE_ELEMENTARY_WL2
if (sd->wl.win)
  ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
-   if (!sd->pointer.obj) return;
_elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base", 
"default");
 #endif
 }
@@ -3632,8 +3626,6 @@ _elm_win_frame_cb_resize_show(void *data,
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
int i;
 
-   if (!sd->pointer.obj) return;
-
i = sd->rot / 90;
if (!strcmp(source, "elm.event.resize.t"))
  _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
@@ -3686,7 +3678,6 @@ _elm_win_frame_cb_resize_hide(void *data,
if (sd->resizing) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (!sd->pointer.obj) return;
_elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base", 
"default");
 #endif
 }

-- 




[EGIT] [core/efl] master 01/04: Revert "elementary: Don't always show pointer object"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit ce827f3481f6175d9390f370037f5b05f5d296b2
Author: Chris Michael 
Date:   Tue Oct 25 10:46:15 2016 -0400

Revert "elementary: Don't always show pointer object"

This reverts commit f56dc8d0c36d45d318f430fb04eae8b2dccd9f14.

Reverting these as we need to handle mouse pointers a different way.
---
 src/lib/elementary/efl_ui_win.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 4f62271..df7702d 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -2773,8 +2773,7 @@ _elm_win_obj_intercept_show(void *data,
 #if 0
 ecore_evas_show(sd->pointer.ee);
 #endif
-if (evas_pointer_inside_get(sd->evas))
-  evas_object_show(sd->pointer.obj);
+evas_object_show(sd->pointer.obj);
  }
evas_object_show(obj);
 #ifdef ELEMENTARY_X

-- 




[EGIT] [core/efl] master 04/04: Revert "elementary: Provide EFL mouse pointers for Wayland Client applications"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 0b290a260c4984f8de2f2f8d61cbd92df480e8ea
Author: Chris Michael 
Date:   Tue Oct 25 10:50:43 2016 -0400

Revert "elementary: Provide EFL mouse pointers for Wayland Client 
applications"

This reverts commit 0a46096337dcbde7b18e093518e3b0846a425053.

Reverting these changes as we need to handle mouse pointer differently.
---
 src/lib/elementary/efl_ui_win.c | 158 +++-
 src/lib/elementary/els_cursor.c |  33 +
 2 files changed, 64 insertions(+), 127 deletions(-)

diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 6d750b3..6008828 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -919,23 +919,8 @@ _elm_win_mouse_in(Ecore_Evas *ee)
_elm_win_throttle_ok = EINA_TRUE;
if (sd->resizing) sd->resizing = EINA_FALSE;
 #ifdef HAVE_ELEMENTARY_WL2
-   if (sd->wl.win)
+   if (sd->wl.win && (!sd->frame_obj))
  ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
-
-   ecore_evas_object_cursor_set(sd->ee, sd->pointer.obj,
-ELM_OBJECT_LAYER_CURSOR,
-sd->pointer.hot_x, sd->pointer.hot_y);
-#endif
-}
-
-static void
-_elm_win_mouse_out(Ecore_Evas *ee)
-{
-   Efl_Ui_Win_Data *sd = _elm_win_associate_get(ee);
-   if (!sd) return;
-
-#ifdef HAVE_ELEMENTARY_WL2
-   sd->pointer.obj = ecore_evas_cursor_unset(sd->ee);
 #endif
 }
 
@@ -3518,15 +3503,10 @@ _elm_win_frame_cb_move_start(void *data,
if (!sd) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   if (sd->wl.win)
- ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
-
if (!strcmp(source, "elm"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj,
-   "pointer", "base", "move");
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, ELM_CURSOR_HAND1);
else
- _elm_theme_object_set(sd->obj, sd->pointer.obj,
-   "pointer", "base", "default");
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
 #else
(void)source;
 #endif
@@ -3555,7 +3535,6 @@ _elm_win_frame_cb_move_stop(void *data,
 #ifdef HAVE_ELEMENTARY_WL2
if (sd->wl.win)
  ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
-   _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base", 
"default");
 #endif
 }
 
@@ -3584,6 +3563,19 @@ static struct _resize_info _border_corner[4] =
 #endif
 
 static void
+_elm_win_frame_obj_mouse_in(void *data, Evas *e EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_info EINA_UNUSED)
+{
+#ifdef HAVE_ELEMENTARY_WL2
+   Efl_Ui_Win_Data *sd = data;
+
+   if (sd->wl.win)
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win, NULL);
+#else
+   (void)data;
+#endif
+}
+
+static void
 _elm_win_frame_obj_move(void *data,
 Evas *e EINA_UNUSED,
 Evas_Object *obj EINA_UNUSED,
@@ -3623,44 +3615,34 @@ _elm_win_frame_cb_resize_show(void *data,
if (sd->resizing) return;
 
 #ifdef HAVE_ELEMENTARY_WL2
-   Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
int i;
-
i = sd->rot / 90;
if (!strcmp(source, "elm.event.resize.t"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _border_side[(0 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+   _border_side[(0 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.b"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _border_side[(2 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+   _border_side[(2 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.l"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _border_side[(1 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+   _border_side[(1 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.r"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _border_side[(3 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+   _border_side[(3 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.tl"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _border_corner[(0 + i) % 4].name);
+ ecore_wl2_window_cursor_from_name_set(sd->wl.win,
+   _border_corner[(0 + i) % 4].name);
else if (!strcmp(source, "elm.event.resize.tr"))
- _elm_theme_object_set(sd->obj, sd->pointer.obj, "pointer", "base",
-   _bo

[EGIT] [core/enlightenment] master 02/02: Revert "reset elementary softcursor config on shutdown"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 2c096f685ca96bc3d58ffa8967d0108c55b6a4e7
Author: Chris Michael 
Date:   Tue Oct 25 11:05:22 2016 -0400

Revert "reset elementary softcursor config on shutdown"

This reverts commit bdd290591c081f2e8935a7579b46e052367c8446.

Reverting this as we need to find a better way to handle mouse
pointers on EFL Wayland Clients.
---
 src/bin/e_comp_wl.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index e6d02a0..5a88430 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2902,8 +2902,6 @@ e_comp_wl_shutdown(void)
/*  free(global); */
/*   } */
 
-   elm_config_softcursor_mode_set(ELM_SOFTCURSOR_MODE_AUTO);
-
if (e_comp_wl->wl.shm) wl_shm_destroy(e_comp_wl->wl.shm);
_e_comp_wl_gl_shutdown();
 

-- 




[EGIT] [core/enlightenment] master 01/02: Revert "disable elementary softcursor mode for wayland compositing"

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit d4b9ad591efb02bc6977069069735dba1a2dcf7d
Author: Chris Michael 
Date:   Tue Oct 25 11:04:57 2016 -0400

Revert "disable elementary softcursor mode for wayland compositing"

This reverts commit f7592166eb37ca97837be505d6d8ab99342cf00e.

Reverting this as we need to find a better way to handle mouse
pointers for EFL Wayland Clients.
---
 src/bin/e_comp_wl.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index cf3c76e..e6d02a0 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2831,7 +2831,6 @@ e_comp_wl_init(void)
 if (e_randr2_init())
   e_randr2_screens_setup(-1, -1);
 elm_config_preferred_engine_set("wayland_shm");
-elm_config_softcursor_mode_set(ELM_SOFTCURSOR_MODE_OFF);
  }
e_util_env_set("WAYLAND_DEBUG", "0");
e_util_env_set("ELM_DISPLAY", "wl");

-- 




[EGIT] [core/enlightenment] master 01/01: add dbus message 'org.enlightenment.wm.Window.SendToDesktop'

2016-10-25 Thread Joshua McBeth
discomfitor pushed a commit to branch master.

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

commit ec37884a3161914e41c14b041f302e9d21cdcf3c
Author: Joshua McBeth 
Date:   Tue Oct 25 07:13:47 2016 -0400

add dbus message 'org.enlightenment.wm.Window.SendToDesktop'

Signed-off-by: Mike Blumenkrantz 
---
 src/modules/msgbus/msgbus_window.c | 36 
 1 file changed, 36 insertions(+)

diff --git a/src/modules/msgbus/msgbus_window.c 
b/src/modules/msgbus/msgbus_window.c
index 2e7bb28..353957b 100644
--- a/src/modules/msgbus/msgbus_window.c
+++ b/src/modules/msgbus/msgbus_window.c
@@ -21,6 +21,7 @@ E_MSGBUS_WIN_ACTION_CB_PROTO(iconify);
 E_MSGBUS_WIN_ACTION_CB_PROTO(uniconify);
 E_MSGBUS_WIN_ACTION_CB_PROTO(maximize);
 E_MSGBUS_WIN_ACTION_CB_PROTO(unmaximize);
+E_MSGBUS_WIN_ACTION_CB_PROTO(sendtodesktop);
 
 static const Eldbus_Method window_methods[] = {
{ "List", NULL, ELDBUS_ARGS({"a(si)", "array_of_window"}), 
_e_msgbus_window_list_cb, 0 },
@@ -31,6 +32,7 @@ static const Eldbus_Method window_methods[] = {
{ "Uniconify", ELDBUS_ARGS({"i", "window_id"}), NULL, 
_e_msgbus_window_uniconify_cb, 0 },
{ "Maximize", ELDBUS_ARGS({"i", "window_id"}), NULL, 
_e_msgbus_window_maximize_cb, 0 },
{ "Unmaximize", ELDBUS_ARGS({"i", "window_id"}), NULL, 
_e_msgbus_window_unmaximize_cb, 0 },
+   { "SendToDesktop", 
ELDBUS_ARGS({"i","window_id"},{"i","zone"},{"i","desk_x"},{"i","desk_y"}), 
NULL, _e_msgbus_window_sendtodesktop_cb, 0 },
{ NULL, NULL, NULL, NULL, 0}
 };
 
@@ -117,6 +119,40 @@ E_MSGBUS_WIN_ACTION_CB_BEGIN(unmaximize)
   e_client_unmaximize(ec, E_MAXIMIZE_BOTH);
 E_MSGBUS_WIN_ACTION_CB_END
 
+static Eldbus_Message *
+_e_msgbus_window_sendtodesktop_cb( const Eldbus_Service_Interface *iface 
EINA_UNUSED, const Eldbus_Message *msg)
+{
+   E_Client *ec;
+   E_Zone * zone;
+   E_Desk * desk;
+   Eina_List *l = NULL;
+   int xwin, zonenum, xdesk, ydesk;
+
+   if (!eldbus_message_arguments_get(msg, "", &xwin, &zonenum, &xdesk, 
&ydesk))
+ return eldbus_message_method_return_new(msg);
+
+   ec = e_pixmap_find_client(E_PIXMAP_TYPE_X, xwin);
+
+   if (ec)
+ {
+EINA_LIST_FOREACH(e_comp->zones, l, zone)
+  {
+ if ((int)zone->num == zonenum)
+   {
+  if (xdesk < zone->desk_x_count && ydesk < zone->desk_y_count)
+{
+   desk = e_desk_at_xy_get(zone, xdesk, ydesk);
+   if (desk) e_client_desk_set(ec, desk);
+}
+   }
+  }
+ }
+
+   return eldbus_message_method_return_new(msg);
+
+}
+
+
 void msgbus_window_init(Eina_Array *ifaces)
 {
Eldbus_Service_Interface *iface;

-- 




[EGIT] [core/efl] master 08/16: eo_js: Instead of abort, throw an Exception

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit c08eedfd11c7aed67bc5341d5cdb08765919ad24
Author: Lauro Moura 
Date:   Mon Jul 11 16:38:40 2016 -0300

eo_js: Instead of abort, throw an Exception

* When the constructor fails
* On cast error.
---
 src/bindings/js/eina_js/eina_js_compatibility.hh | 35 ++--
 src/bindings/js/eo_js/eo_js_constructor.hh   | 15 ++
 2 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/src/bindings/js/eina_js/eina_js_compatibility.hh 
b/src/bindings/js/eina_js/eina_js_compatibility.hh
index 7a46714..48cebc5 100644
--- a/src/bindings/js/eina_js/eina_js_compatibility.hh
+++ b/src/bindings/js/eina_js/eina_js_compatibility.hh
@@ -917,25 +917,32 @@ compatibility_return_type 
cast_function(compatibility_callback_info_type args)
   auto isolate = args.GetIsolate();
   compatibility_handle_scope scope(isolate);
   v8::Local type;
-  if(args.Length() == 1 && (type = args[0])->IsString())
+  try
 {
-  v8::Local self = args.This();
-  v8::Local external = self->GetInternalField(0);
-  Eo* eo = static_cast(v8::External::Cast(*external)->Value());
-
-  v8::String::Utf8Value str(type->ToString());
-  char* class_name = *str;
-
-  auto ctor = ::efl::eina::js::get_class_constructor(class_name);
-  auto obj = new_v8_external_instance(ctor, ::eo_ref(eo), isolate);
-  efl::eina::js::make_weak(isolate, obj, [eo]{ ::eo_unref(eo); });
-  return compatibility_return(obj, args);
+  if(args.Length() == 1 && (type = args[0])->IsString())
+{
+  v8::Local self = args.This();
+  v8::Local external = self->GetInternalField(0);
+  Eo* eo = static_cast(v8::External::Cast(*external)->Value());
+
+  v8::String::Utf8Value str(type->ToString());
+  char* class_name = *str;
+
+  auto ctor = ::efl::eina::js::get_class_constructor(class_name);
+  auto obj = new_v8_external_instance(ctor, ::eo_ref(eo), isolate);
+  efl::eina::js::make_weak(isolate, obj, [eo]{ ::eo_unref(eo); });
+  return compatibility_return(obj, args);
+}
+  else
+{
+  throw std::runtime_error("Type expected is different. Expected 
String type");
+}
 }
-  else
+  catch (std::runtime_error const& error)
 {
   eina::js::compatibility_throw
 (isolate, v8::Exception::TypeError
- (eina::js::compatibility_new(isolate, "Type expected is 
different. Expected String type")));
+ (eina::js::compatibility_new(isolate, error.what(;
   return compatibility_return();
 }
 }
diff --git a/src/bindings/js/eo_js/eo_js_constructor.hh 
b/src/bindings/js/eo_js/eo_js_constructor.hh
index 6ca02ce..497f626 100644
--- a/src/bindings/js/eo_js/eo_js_constructor.hh
+++ b/src/bindings/js/eo_js/eo_js_constructor.hh
@@ -68,10 +68,7 @@ struct constructor_caller
 }
   else
 {
-  eina::js::compatibility_throw
-(v8::Exception::TypeError
- (eina::js::compatibility_new(args->GetIsolate(), 
"Expected more arguments for this call")));
-  throw std::logic_error("");
+  throw std::logic_error("Expected more arguments for this call");
 }
 }
 
@@ -114,7 +111,8 @@ struct constructor_caller
, parent
, eina::_mpl::for_each(constructors, call{eo_self, 
¤t_index, &args})
);
-assert(eo != 0);
+if (!eo)
+  throw std::logic_error("Failed to create object.");
 v8::Local self = args.This();
 self->SetInternalField(0, 
eina::js::compatibility_new(args.GetIsolate(), eo));
 efl::eina::js::make_weak(args.GetIsolate(), self
@@ -123,7 +121,12 @@ struct constructor_caller
eo_unref(eo);
  });
   }
-catch(std::logic_error const&) {}
+catch(std::logic_error const& error)
+  {
+ eina::js::compatibility_throw
+   (v8::Exception::TypeError
+(eina::js::compatibility_new(args.GetIsolate(), 
error.what(;
+  }
   }
 else
   {

-- 




[EGIT] [core/efl] master 12/16: ecore: Add _SAFE when iterating the animators.

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 6aa4486209056c1457b01b18eb4409daab6310a6
Author: Lauro Moura 
Date:   Fri Aug 12 19:53:07 2016 -0300

ecore: Add _SAFE when iterating the animators.

In some cases (like JS libuv events) an animator callback can trigger the
deletion of an animator, changing the list being iterated.
---
 src/lib/ecore/ecore_anim.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 66d08cf..70c2f89 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -271,13 +271,14 @@ static Eina_Bool
 _do_tick(void)
 {
Ecore_Animator *animator;
+   Eina_Inlist *tmp;
 
EINA_INLIST_FOREACH(animators, animator)
  {
 animator->just_added = EINA_FALSE;
  }
if (animators) eina_evlog("!FRAME", NULL, ecore_loop_time_get(), NULL);
-   EINA_INLIST_FOREACH(animators, animator)
+   EINA_INLIST_FOREACH_SAFE(animators, tmp, animator)
  {
 if ((!animator->delete_me) &&
 (!animator->suspended) &&

-- 




[EGIT] [core/efl] master 04/16: eina_js: Fix log color persistence.

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 7869eeed530147f11035551c3a3fa1f12559570a
Author: Lauro Moura 
Date:   Tue Jul 5 19:10:03 2016 -0300

eina_js: Fix log color persistence.

The c_ptr() passed to eina_log_register was being lost when saving the 
string
into the map.
---
 src/bindings/js/eina_js/eina_js_log.cc | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bindings/js/eina_js/eina_js_log.cc 
b/src/bindings/js/eina_js/eina_js_log.cc
index 415a827..ac461d9 100644
--- a/src/bindings/js/eina_js/eina_js_log.cc
+++ b/src/bindings/js/eina_js/eina_js_log.cc
@@ -28,7 +28,7 @@ v8::Local to_v8_string(v8::Isolate *isolate, 
const char *fmt,
 }
 
 static global_ref js_eina_log_print_cb_data;
-static std::map js_eina_log_color_map;
+static std::map js_eina_log_color_map;
 
 static void js_eina_log_print_cb(const Eina_Log_Domain *d, Eina_Log_Level 
level,
  const char *file, const char *fnc, int line,
@@ -118,9 +118,9 @@ void register_log_domain_register(v8::Isolate *isolate,
 
 // We duplicate the color string as eina takes a const char* but does 
take care of 
 // its lifetime, assuming a ever lasting string.
-std::string color = *String::Utf8Value(args[1]);
+const char *color = strdup(*String::Utf8Value(args[1]));
 int d = eina_log_domain_register(*String::Utf8Value(args[0]),
- color.c_str());
+ color);
 js_eina_log_color_map[d] = color;
 
 auto isolate = args.GetIsolate();
@@ -146,6 +146,7 @@ void register_log_domain_unregister(v8::Isolate *isolate,
 
 int domain = args[0]->NumberValue();
 eina_log_domain_unregister(domain);
+free((void*)js_eina_log_color_map[domain]);
 js_eina_log_color_map.erase(domain);
 return compatibility_return();
 };

-- 




[EGIT] [core/efl] master 06/16: eolian-cxx: Normalize variabla name for generated C++ files in automake

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 2773f8301b2c8505fc4332933be58f6d81680111
Author: Felipe Magno de Almeida 
Date:   Wed Jul 6 14:08:12 2016 -0300

eolian-cxx: Normalize variabla name for generated C++ files in automake
---
 src/Makefile_Cxx.am | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/Makefile_Cxx.am b/src/Makefile_Cxx.am
index 52bdb76..5140207 100644
--- a/src/Makefile_Cxx.am
+++ b/src/Makefile_Cxx.am
@@ -125,6 +125,7 @@ installed_ecorecxxheadersdir = 
$(includedir)/ecore-cxx-@VMAJ@
 dist_installed_ecorecxxheaders_DATA = \
 bindings/cxx/ecore_cxx/Ecore.hh \
 bindings/cxx/ecore_cxx/Ecore_Manual.hh
+
 nodist_installed_ecorecxxheaders_DATA = $(ecore_eolian_cxx_hh) 
$(ecore_eolian_cxx_impl_hh) \
 lib/ecore/Ecore.eo.hh
 

-- 




[EGIT] [core/efl] master 05/16: eolian_js efl_js: Fix tests.

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 21cc5715ba728757f579d08ad4fe8e2d312610de
Author: Lauro Moura 
Date:   Tue Jul 5 19:14:49 2016 -0300

eolian_js efl_js: Fix tests.

* Probably the idle refactor changed the order the callbacks are called.
* Removed trailing * from class types
---
 src/tests/efl_js/ecore_js_suite.js  | 4 ++--
 src/tests/eolian_js/constructor_method_class.eo | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/tests/efl_js/ecore_js_suite.js 
b/src/tests/efl_js/ecore_js_suite.js
index 85630af..804f27c 100755
--- a/src/tests/efl_js/ecore_js_suite.js
+++ b/src/tests/efl_js/ecore_js_suite.js
@@ -293,8 +293,8 @@ start_test("ecore idle", function () {
 efl.Ecore.Mainloop.begin();
 
 assert(captured[0] === 4, "Ecore.Idle.add test");
-assert(captured[1] === 2, "Ecore.Idle.addEnterer test");
-assert(captured[2] === 3, "Ecore.Idle.addEnterer test two");
+assert(captured[1] === 3, "Ecore.Idle.addEnterer test");
+assert(captured[2] === 2, "Ecore.Idle.addEnterer test two");
 assert(captured[3] === 1, "Ecore.Idle.addEntererBefore test");
 assert(captured[4] === 5, "Ecore.Idle.addExiter test");
 });
diff --git a/src/tests/eolian_js/constructor_method_class.eo 
b/src/tests/eolian_js/constructor_method_class.eo
index 81860c2..034a9eb 100644
--- a/src/tests/eolian_js/constructor_method_class.eo
+++ b/src/tests/eolian_js/constructor_method_class.eo
@@ -41,10 +41,10 @@ class Constructor_Method_Class (Efl.Object)
   }
   classoutmethod1 {
  params { @in one: int; @in two: double; }
- return: free(own(Constructor_Method_Class *), eo_unref) @warn_unused;
+ return: free(own(Constructor_Method_Class), eo_unref) @warn_unused;
   }
   classoutmethod2 {
- params { @in one: int; @in two: double; @out out_class: 
own(Constructor_Method_Class *); }
+ params { @in one: int; @in two: double; @out out_class: 
own(Constructor_Method_Class); }
   }
}
implements {

-- 




[EGIT] [core/efl] master 03/16: efl_js: Update registration functions

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit ae3c74d879651a93a95bc83f5829a96459f6878f
Author: Lauro Moura 
Date:   Tue Jul 5 19:04:01 2016 -0300

efl_js: Update registration functions

After the Elm -> Efl.Ui and other changes.

Also add extern C guards around private header (elm_widget).
---
 src/Makefile_Efl_Js.am   |  4 +++-
 src/bindings/js/efl_js/efl_js.cc | 47 +++-
 2 files changed, 30 insertions(+), 21 deletions(-)

diff --git a/src/Makefile_Efl_Js.am b/src/Makefile_Efl_Js.am
index e4b1d84..6b9a790 100644
--- a/src/Makefile_Efl_Js.am
+++ b/src/Makefile_Efl_Js.am
@@ -73,7 +73,9 @@ bindings/js/efl_js/eolian_js_bindings.cc: 
$(GENERATED_JS_BINDINGS)
@echo @ECHO_E@ "#include " >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
@echo @ECHO_E@ "#define ELM_INTERNAL_API_ARGESFSDFEFC" >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
@echo @ECHO_E@ "#include " >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
-   @echo @ECHO_E@ "#include \n" >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
+   @echo @ECHO_E@ "extern \"C\" {" >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
+   @echo @ECHO_E@ "#include " >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
+   @echo @ECHO_E@ "}\n" >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc
@for i in $(GENERATED_JS_BINDINGS); do echo "#include <$$i>" >> 
$(top_builddir)/src/bindings/js/efl_js/eolian_js_bindings.cc; done
 
 CLEANFILES += bindings/js/efl_js/eolian_js_bindings.cc
diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index 09c011b..8a5cec3 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -42,7 +42,6 @@ EAPI void eina_value_register(v8::Handle, 
v8::Isolate* isolate);
 EAPI void register_ecore_mainloop(v8::Handle global, v8::Isolate* 
isolate);
 
 namespace ecore {
-EAPI void register_animator(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_exe(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_idler(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_ecore(v8::Isolate* isolate, v8::Handle exports);
@@ -73,19 +72,36 @@ EAPI void 
register_ecore_audio_out_pulse(v8::Handle global, v8::Isol
 EAPI void register_ecore_audio_out_sndfile(v8::Handle global, 
v8::Isolate* isolate);
 
 namespace efl {
+EAPI void register_animator(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_control(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_file(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_image(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_orientation(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_player(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_text(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_text_properties(v8::Handle global, v8::Isolate* 
isolate);
 }
 
+namespace efl { namespace ui {
+EAPI void register_video(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_flip(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_frame(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_box(v8::Handle global, v8::Isolate* isolate);
+}}
+
+namespace efl { namespace ui { namespace win {
+EAPI void register_standard(v8::Handle global, v8::Isolate* 
isolate);
+}}}
+
 namespace eo {
 EAPI void register_abstract_class(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_base(v8::Handle global, v8::Isolate* isolate);
 }
 
+namespace efl { namespace canvas {
+EAPI void register_rectangle(v8::Handle global, v8::Isolate* 
isolate);
+}}
+
 namespace evas {
 EAPI void register_box(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_canvas(v8::Handle global, v8::Isolate* isolate);
@@ -98,7 +114,6 @@ EAPI void register_line(v8::Handle global, 
v8::Isolate* isolate);
 EAPI void register_object(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_object_smart(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_out(v8::Handle global, v8::Isolate* isolate);
-EAPI void register_rectangle(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_scrollable_interface(v8::Handle global, 
v8::Isolate* isolate);
 EAPI void register_selectable_interface(v8::Handle global, 
v8::Isolate* isolate);
 EAPI void register_signal_interface(v8::Handle global, 
v8::Isolate* isolate);
@@ -172,7 +187,6 @@ EAPI void 
register_fileselector_button(v8::Handle global, v8::Isolat
 EAPI void register_fileselector_entry(v8::Handle global, 
v8::Isolate* isolate);
 EAPI void register_flip(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_flipselector(v8::Handle global, v8::Isolate* 
isolate);
-EAPI void register_fra

[EGIT] [core/efl] master 02/16: eolian_js: Several fixes

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 966d51bf28e101ca9f26d37a4a62511d11574856
Author: Lauro Moura 
Date:   Wed Jun 29 15:06:01 2016 -0300

eolian_js: Several fixes

* Update after scope api change.
* Add missing type mapping for new eolian types
* Avoid generating protected properties

  We select the get/set as one (through TYPE_PROPERTY) in the first check 
for
  visibility. After 375179b47 it is possible to have different scopes for 
getters
  and setters.

* Add pointer to complex tp and classes

  e984e5a removed the explicit pointer from classes and complex types in 
the eo
  files, handling them implicitly.

* Avoid generating functions with void*

  Until further notice, they will not be automatically generated.

* Avoid generating ref stuff from eo_base.eo

* Warn when there are methods with the same name.
---
 src/bin/eolian_js/main.cc | 133 +++---
 1 file changed, 101 insertions(+), 32 deletions(-)

diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc
index 5497d6d..c578608 100644
--- a/src/bin/eolian_js/main.cc
+++ b/src/bin/eolian_js/main.cc
@@ -154,7 +154,11 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, 
std::string const& caller
   {"iterator", "Eina_Iterator"},
   {"hash", "Eina_Hash"},
   {"list", "Eina_List"},
-  {"promise", "Eina_Promise"}
+  {"promise", "Eina_Promise"},
+  {"string", "const char*"},
+  {"void_ptr", "void *"},
+  {"stringshare", "Eina_Stringshare*"}
+
 };
 
 std::string type_name = eolian_type_name_get(tp);
@@ -163,11 +167,43 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, 
std::string const& caller
   type_name = it->second;
 result += type_name;
 
+if (tpt == EOLIAN_TYPE_CLASS || tpt == EOLIAN_TYPE_COMPLEX)
+result += "*"; // Implied pointer
+
 auto tpd = eolian_type_typedecl_get(tp);
 if (tpd && eolian_typedecl_type_get(tpd) == EOLIAN_TYPEDECL_STRUCT)
   {
  result = "efl::eina::js::make_struct_tag<" + result + ">";
   }
+
+if (tpt == EOLIAN_TYPE_COMPLEX)
+  {
+ result = "efl::eina::js::make_complex_tag<" + result;
+
+ bool has_subtypes = false;
+ const Eolian_Type *subtype = eolian_type_base_type_get(tp);
+ while (subtype)
+   {
+ auto t = _eolian_type_cpp_type_named_get(subtype, 
caller_class_prefix, need_name_getter);
+ auto k = type_class_name(subtype);
+ if (!k.empty())
+   {
+  result += ", " + t + ", " + 
_class_name_getter(caller_class_prefix, k);
+  need_name_getter.insert(k);
+   }
+ else
+   {
+  result += ", " + t + ", 
::efl::eina::js::nonclass_cls_name_getter";
+   }
+ has_subtypes = true;
+ subtype = eolian_type_next_type_get(subtype);
+   }
+
+ if (!has_subtypes)
+   throw eolian::js::incomplete_complex_type_error("Incomplete 
complex type");
+
+ result += ">";
+  }
  }
else if (tpt == EOLIAN_TYPE_VOID)
  result += "void";
@@ -175,7 +211,6 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, 
std::string const& caller
  {
 auto btp = eolian_type_base_type_get(tp);
 result += _eolian_type_cpp_type_named_get(btp, caller_class_prefix, 
need_name_getter);
-
 const auto base_is_const = eolian_type_is_const(btp);
 
 Eolian_Type_Type btpt = EOLIAN_TYPE_UNKNOWN_TYPE;
@@ -201,35 +236,6 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, 
std::string const& caller
  result += '*';
  if (is_const) result += " const";
   }
-
-if (btpt == EOLIAN_TYPE_COMPLEX)
-  {
- result = "efl::eina::js::make_complex_tag<" + result;
-
- bool has_subtypes = false;
- const Eolian_Type *subtype = eolian_type_base_type_get(btp);
- while (subtype)
-   {
- auto t = _eolian_type_cpp_type_named_get(subtype, 
caller_class_prefix, need_name_getter);
- auto k = type_class_name(subtype);
- if (!k.empty())
-   {
-  result += ", " + t + ", " + 
_class_name_getter(caller_class_prefix, k);
-  need_name_getter.insert(k);
-   }
- else
-   {
-  result += ", " + t + ", 
::efl::eina::js::nonclass_cls_name_getter";
-   }
- has_subtypes = true;
- 

[EGIT] [core/efl] master 09/16: efl_js: Update JS examples

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 4f52588b3ce86e3bef7041d76d07eda58c41c79d
Author: Lauro Moura 
Date:   Tue Jul 26 18:21:02 2016 -0300

efl_js: Update JS examples

Changing imports, functions, etc.

Also export "cast" function for all eolian_js generated classes.
---
 src/bin/eolian_js/main.cc   |   3 +
 src/bindings/js/efl_js/efl_js.cc|   5 +-
 src/examples/elementary/bg_example_01.js|  13 +--
 src/examples/elementary/bg_example_02.js|  16 ++--
 src/examples/elementary/box_js_example_01.js|  24 ++---
 src/examples/elementary/box_js_example_02.js|  55 +--
 src/examples/elementary/bubble_example_01.js|  31 +++---
 src/examples/elementary/button_example_00.js|   8 +-
 src/examples/elementary/button_example_01.js| 120 
 src/examples/elementary/calendar_example_01.js  |  12 +--
 src/examples/elementary/calendar_example_02.js  |  13 +--
 src/examples/elementary/calendar_example_03.js  |  12 +--
 src/examples/elementary/calendar_example_04.js  |  30 +++---
 src/examples/elementary/calendar_example_05.js  |  15 +--
 src/examples/elementary/clock_example.js|  27 +++---
 src/examples/elementary/datetime_example.js |  49 +-
 src/examples/elementary/icon_example_01.js  |  11 +--
 src/examples/elementary/layout_example.js   |  44 +
 src/examples/elementary/menu_example_01.js  |  11 +--
 src/examples/elementary/popup_example_01.js |  12 +--
 src/examples/elementary/radio_example_01.js |  56 +--
 src/examples/elementary/separator_example_01.js |  40 
 src/examples/elementary/slider_example.js   |  82 
 src/examples/elementary/spinner_example.js  |  78 +++
 src/examples/elementary/table_example_01.js |  16 ++--
 src/examples/elementary/thumb_example_01.js |  36 ---
 src/examples/elementary/twitter_example_01.js   |  56 ++-
 27 files changed, 458 insertions(+), 417 deletions(-)

diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc
index c578608..27ffe8a 100644
--- a/src/bin/eolian_js/main.cc
+++ b/src/bin/eolian_js/main.cc
@@ -997,6 +997,9 @@ int main(int argc, char** argv)
  }
  }
 
+   functions_ss << "\n  
prototype->Set(::efl::eina::js::compatibility_new(isolate, 
\"cast\"),\n"
+   "  
::efl::eina::js::compatibility_new(isolate, 
&efl::eina::js::cast_function)->GetFunction());\n\n";
+
// generate all events
std::stringstream events_ss;
auto generate_events = [&] (Eolian_Class const* klass)
diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index 8a5cec3..a4b28d8 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -73,6 +73,7 @@ EAPI void 
register_ecore_audio_out_sndfile(v8::Handle global, v8::Is
 
 namespace efl {
 EAPI void register_animator(v8::Handle global, v8::Isolate* 
isolate);
+EAPI void register_container(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_control(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_file(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_image(v8::Handle global, v8::Isolate* isolate);
@@ -87,6 +88,7 @@ EAPI void register_video(v8::Handle global, 
v8::Isolate* isolate);
 EAPI void register_flip(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_frame(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_box(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_image(v8::Handle global, v8::Isolate* isolate);
 }}
 
 namespace efl { namespace ui { namespace win {
@@ -380,7 +382,7 @@ EAPI void init(v8::Handle exports)
   // elm::register_combobox(exports, v8::Isolate::GetCurrent());
 
   // doesn't exist
-  // elm::register_container(exports, v8::Isolate::GetCurrent());
+  efl::register_container(exports, v8::Isolate::GetCurrent());
   
   elm::register_ctxpopup(exports, v8::Isolate::GetCurrent());
   elm::register_datetime(exports, v8::Isolate::GetCurrent());
@@ -398,6 +400,7 @@ EAPI void init(v8::Handle exports)
   elm::register_flipselector(exports, v8::Isolate::GetCurrent());
   efl::ui::register_frame(exports, v8::Isolate::GetCurrent());
   efl::ui::register_box(exports, v8::Isolate::GetCurrent());
+  efl::ui::register_image(exports, v8::Isolate::GetCurrent());
 
   // crash
   // elm::register_gengrid(exports, v8::Isolate::GetCurrent());
diff --git a/src/examples/elementary/bg_example_01.js 
b/src/examples/elementary/bg_example_01.js
index 227259b..2a4e921 100644
--- a/src/examples/elementary/bg_example_01.js
+++ b/src/examples/elementary/bg_example_01.js
@@ -1,13 +1,14 @@
 
-var elm = require('elm')
+var efl = require('efl');
 
-win = new elm.Elm.WinStandard(null);
-win.setTitle("Bg Plain

[EGIT] [core/efl] master 10/16: efl_js: Update after eo/efl api changes

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 508edf78c6be3165ef56e968e41e1cc875471024
Author: Lauro Moura 
Date:   Mon Aug 15 12:31:05 2016 -0300

efl_js: Update after eo/efl api changes
---
 src/Makefile_Efl_Js.am  |  3 ++-
 src/bin/eolian_js/main.cc   |  6 +++---
 src/bindings/js/efl_js/efl_js.cc|  9 ++---
 src/bindings/js/eina_js/eina_js_compatibility.hh|  8 
 src/bindings/js/eina_js/eina_js_get_value_from_c.hh |  8 
 src/bindings/js/eo_js/eo_js_construct_from_eo.hh|  4 ++--
 src/bindings/js/eo_js/eo_js_constructor.hh  | 14 +++---
 src/bindings/js/eo_js/eo_js_event.hh|  2 +-
 src/tests/efl_js/benchmark_object_impl.cc   |  6 +++---
 src/tests/eolian_js/eolian_js_suite.cc  |  2 +-
 10 files changed, 29 insertions(+), 33 deletions(-)

diff --git a/src/Makefile_Efl_Js.am b/src/Makefile_Efl_Js.am
index 0bcb6bb..734c9ed 100644
--- a/src/Makefile_Efl_Js.am
+++ b/src/Makefile_Efl_Js.am
@@ -185,7 +185,8 @@ lib_efl_js_libefl_js_la_CPPFLAGS = 
-I$(top_builddir)/src/lib/efl \
 @EIO_JS_CFLAGS@ \
 @ETHUMB_JS_CFLAGS@ \
 @EINA_CXX_CFLAGS@ \
-@ELEMENTARY_CFLAGS@
+@ELEMENTARY_CFLAGS@ \
+-D_EO_ADD_FALLBACK_FORCE=1
 lib_efl_js_libefl_js_la_LIBADD = @EFL_JS_LIBS@
 lib_efl_js_libefl_js_la_DEPENDENCIES = @EFL_JS_INTERNAL_LIBS@
 lib_efl_js_libefl_js_la_LIBTOOLFLAGS = --tag=disable-static
diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc
index 27ffe8a..d38700c 100644
--- a/src/bin/eolian_js/main.cc
+++ b/src/bin/eolian_js/main.cc
@@ -328,7 +328,7 @@ _function_is_generatable(const Eolian_Function *function, 
Eolian_Function_Type f
 if (!_type_is_generatable(tp, add_pointer))
   return false;
 
-if (eolian_type_is_ref(tp) && _function_belongs_to(function, 
"Eo.Base"))
+if (eolian_type_is_ref(tp) && _function_belongs_to(function, 
"Efl.Object"))
   return false;
  }
 
@@ -655,7 +655,7 @@ int main(int argc, char** argv)
 , last; first != last; ++first)
  {
 std::stringstream ss;
-bool should_reject_ref = file_basename == "eo_base.eo";
+bool should_reject_ref = file_basename == "efl_object.eo";
 bool has_ref_field = false;
 
 auto tpd = &*first;
@@ -669,7 +669,7 @@ int main(int argc, char** argv)
  EINA_CXX_DOM_LOG_ERR(eolian::js::domain) << "Could not get struct 
type name";
  continue;
   }
-else if(strcmp(struct_type_full_name, "Eo.Callback_Array_Item") == 0)
+else if(strcmp(struct_type_full_name, "Efl.Callback_Array_Item") == 0)
   continue;
 std::string struct_c_name = struct_type_full_name;
 std::replace(struct_c_name.begin(), struct_c_name.end(), '.', '_');
diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index a4b28d8..093380f 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -72,6 +72,7 @@ EAPI void 
register_ecore_audio_out_pulse(v8::Handle global, v8::Isol
 EAPI void register_ecore_audio_out_sndfile(v8::Handle global, 
v8::Isolate* isolate);
 
 namespace efl {
+EAPI void register_object(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_animator(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_container(v8::Handle global, v8::Isolate* 
isolate);
 EAPI void register_control(v8::Handle global, v8::Isolate* 
isolate);
@@ -95,11 +96,6 @@ namespace efl { namespace ui { namespace win {
 EAPI void register_standard(v8::Handle global, v8::Isolate* 
isolate);
 }}}
 
-namespace eo {
-EAPI void register_abstract_class(v8::Handle global, v8::Isolate* 
isolate);
-EAPI void register_base(v8::Handle global, v8::Isolate* isolate);
-}
-
 namespace efl { namespace canvas {
 EAPI void register_rectangle(v8::Handle global, v8::Isolate* 
isolate);
 }}
@@ -314,8 +310,7 @@ EAPI void init(v8::Handle exports)
 efl::register_player(exports, v8::Isolate::GetCurrent());
 efl::register_text(exports, v8::Isolate::GetCurrent());
 // efl::register_text_properties(exports, v8::Isolate::GetCurrent());
-// eo::register_abstract_class(exports, v8::Isolate::GetCurrent());
-eo::register_base(exports, v8::Isolate::GetCurrent());
+efl::register_object(exports, v8::Isolate::GetCurrent());
 #if 1
 // evas::register_box(exports, v8::Isolate::GetCurrent());
 // evas::register_canvas(exports, v8::Isolate::GetCurrent());
diff --git a/src/bindings/js/eina_js/eina_js_compatibility.hh 
b/src/bindings/js/eina_js/eina_js_compatibility.hh
index 48cebc5..7b5c920 100644
--- a/src/bindings/js/eina_js/eina_js_compatibility.hh
+++ b/src/bindings/js/eina_js/eina_js_compatibility.hh
@@ -158,14 +158,14 @@ T container_wrap(T&& v)
 inline ::efl::eo::concrete container_wrap(Eo* v)
 {
   if

[EGIT] [core/efl] master 13/16: ecore_js: Add missing HandleScope to addTimeline

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 611498f0356411f1a8c1f1ae6d94e0bd587d5de4
Author: Lauro Moura 
Date:   Fri Aug 26 17:18:13 2016 -0300

ecore_js: Add missing HandleScope to addTimeline
---
 src/bindings/js/ecore_js/ecore_js_animator.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bindings/js/ecore_js/ecore_js_animator.cc 
b/src/bindings/js/ecore_js/ecore_js_animator.cc
index 322db17..8e2011d 100644
--- a/src/bindings/js/ecore_js/ecore_js_animator.cc
+++ b/src/bindings/js/ecore_js/ecore_js_animator.cc
@@ -477,6 +477,7 @@ void register_animator_timeline_add(v8::Isolate *isolate,
 v8::Handle name)
 {
 using v8::Handle;
+using v8::HandleScope;
 using v8::Local;
 using v8::Value;
 using v8::Undefined;
@@ -498,6 +499,7 @@ void register_animator_timeline_add(v8::Isolate *isolate,
   = reinterpret_cast*>(data);
 auto o = persistent->handle();
 auto isolate = v8::Isolate::GetCurrent();
+HandleScope handle_scope(isolate);
 
 Handle args = compatibility_new(isolate, pos);
 

-- 




[EGIT] [core/efl] master 07/16: eolian-js: Fix dependency on Ecore.eo.hh

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit c364844f673c75582c6c40f1e882b2c88b71d59b
Author: Felipe Magno de Almeida 
Date:   Wed Jul 6 14:08:27 2016 -0300

eolian-js: Fix dependency on Ecore.eo.hh
---
 src/Makefile_Efl_Js.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Makefile_Efl_Js.am b/src/Makefile_Efl_Js.am
index 6b9a790..0bcb6bb 100644
--- a/src/Makefile_Efl_Js.am
+++ b/src/Makefile_Efl_Js.am
@@ -162,7 +162,7 @@ bindings/js/ethumb_js/ethumb_js_client.cc
 nodist_lib_efl_js_libefl_js_la_SOURCES = \
 bindings/js/efl_js/eolian_js_bindings.cc
 
-bindings/js/efl_js/efl_js.cc $(lib_efl_js_libefl_js_la_SOURCES): 
$(generated_ecore_cxx_all) $(generated_eo_cxx_bindings) $(generated_efl_cxx_all)
+bindings/js/efl_js/efl_js.cc $(lib_efl_js_libefl_js_la_SOURCES): 
$(ecore_eolian_cxx_hh) $(ecore_eolian_cxx_impl_hh) $(eo_eolian_cxx_hh) 
$(eo_eolian_cxx_impl_hh) $(efl_eolian_cxx_hh) $(efl_eolian_cxx_impl_hh) 
lib/ecore/Ecore.eo.hh
 
 lib_efl_js_libefl_js_la_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
 -I$(top_srcdir)/src/lib/efl \

-- 




[EGIT] [core/efl] master 14/16: efl_js: Export Canvas Object and Group

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 500ed1e40b37dd89412cdf8fe178a8961d5d3790
Author: Lauro Moura 
Date:   Fri Aug 26 17:18:50 2016 -0300

efl_js: Export Canvas Object and Group
---
 src/bindings/js/efl_js/efl_js.cc | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index c83d98d..d64546a 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -97,6 +97,8 @@ EAPI void register_standard(v8::Handle global, 
v8::Isolate* isolate)
 }}}
 
 namespace efl { namespace canvas {
+EAPI void register_object(v8::Handle global, v8::Isolate* isolate);
+EAPI void register_group(v8::Handle global, v8::Isolate* isolate);
 EAPI void register_rectangle(v8::Handle global, v8::Isolate* 
isolate);
 }}
 
@@ -322,7 +324,8 @@ EAPI void init(v8::Handle exports)
 // evas::register_grid(exports, v8::Isolate::GetCurrent());
 // evas::register_image(exports, v8::Isolate::GetCurrent());
 // evas::register_line(exports, v8::Isolate::GetCurrent());
-// evas::register_object(exports, v8::Isolate::GetCurrent());
+efl::canvas::register_object(exports, v8::Isolate::GetCurrent());
+efl::canvas::register_group(exports, v8::Isolate::GetCurrent());
 // evas::register_object_smart(exports, v8::Isolate::GetCurrent());
 // evas::register_out(exports, v8::Isolate::GetCurrent());
 efl::canvas::register_rectangle(exports, v8::Isolate::GetCurrent());

-- 




[EGIT] [core/efl] master 11/16: efl_js: Enable Ethumb support for Elm.

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 620454e43dc4eff9af89fd5302c15a8a5b796d2c
Author: Lauro Moura 
Date:   Thu Aug 4 16:28:30 2016 -0300

efl_js: Enable Ethumb support for Elm.
---
 src/bindings/js/efl_js/efl_js.cc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bindings/js/efl_js/efl_js.cc b/src/bindings/js/efl_js/efl_js.cc
index 093380f..c83d98d 100644
--- a/src/bindings/js/efl_js/efl_js.cc
+++ b/src/bindings/js/efl_js/efl_js.cc
@@ -266,6 +266,8 @@ EAPI void init(v8::Handle exports)
   static char* argv[] = {const_cast("node")};
   ::elm_init(1, argv);
 
+  ::elm_need_ethumb();
+
   elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN);
   
try

-- 




[EGIT] [core/efl] master 15/16: eo: Fix compilation of macro in C++ because of goto

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 6dc0a07a8582d5436ed1783d28033f48f3f8c8cc
Author: Felipe Magno de Almeida 
Date:   Tue Oct 25 12:21:12 2016 -0200

eo: Fix compilation of macro in C++ because of goto

Moved variable cross-definition to the top, so no more
cross-definition between goto would happen.
---
 src/lib/eo/Eo.h | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index c5b4e75..4ca0713 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -747,13 +747,14 @@ typedef struct _Efl_Object_Call_Cache
 #define EFL_FUNC_COMMON_OP(Obj, Name, DefRet) \
static EFL_FUNC_TLS Efl_Object_Call_Cache ___cache; /* static 0 by default 
*/ \
Efl_Object_Op_Call_Data ___call; \
-   if (EINA_UNLIKELY((___cache.op == EFL_NOOP) || \
+   _Eo_##Name##_func _func_;\
+   if (EINA_UNLIKELY((___cache.op == EFL_NOOP) ||   \
  (___cache.generation != _efl_object_init_generation))) \
  goto __##Name##_op_create; /* yes a goto - see below */ \
__##Name##_op_create_done: \
if (!_efl_object_call_resolve((Eo *) Obj, #Name, &___call, &___cache, \
  __FILE__, __LINE__)) return DefRet; \
-   _Eo_##Name##_func _func_ = (_Eo_##Name##_func) ___call.func;
+   _func_ = (_Eo_##Name##_func) ___call.func;
 
 // yes this looks ugly with gotos BUT it moves rare "init" handling code
 // out of the hot path and thus l1 instruction cach prefetch etc. so it

-- 




[EGIT] [core/efl] master 01/16: eo_js: Update event callback after return removal.

2016-10-25 Thread Lauro Moura
felipealmeida pushed a commit to branch master.

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

commit 4ce9a424561af584bdb4638d5e848d168d48d9bc
Author: Lauro Moura 
Date:   Wed Jun 29 17:23:31 2016 -0300

eo_js: Update event callback after return removal.
---
 src/bindings/js/eo_js/eo_js_event.hh | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/bindings/js/eo_js/eo_js_event.hh 
b/src/bindings/js/eo_js/eo_js_event.hh
index 283b018..45d023e 100644
--- a/src/bindings/js/eo_js/eo_js_event.hh
+++ b/src/bindings/js/eo_js/eo_js_event.hh
@@ -54,7 +54,7 @@ inline v8::Local get_event_info(void*, 
v8::Isolate* isolate, co
 }
 
 template 
-inline Eina_Bool event_callback(void* data, Efl_Event const* eo_event)
+inline void event_callback(void* data, Efl_Event const* eo_event)
 {
   v8::Isolate* isolate = v8::Isolate::GetCurrent();
   v8::HandleScope handle_scope(isolate);
@@ -67,8 +67,6 @@ inline Eina_Bool event_callback(void* data, Efl_Event const* 
eo_event)
 get_event_info(eo_event->info, isolate, event->event_info->class_name)
   };
   event->function.handle()->Call(eina::js::compatibility_global(), 2, 
call_args);
-  
-  return EO_CALLBACK_CONTINUE;
 }
 
 inline eina::js::compatibility_return_type 
on_event(eina::js::compatibility_callback_info_type args)

-- 




[EGIT] [core/efl] master 16/16: js: Fix compilation of new data types in JS binding

2016-10-25 Thread Felipe Magno de Almeida
felipealmeida pushed a commit to branch master.

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

commit 297415cc53ebf7746642eb2e1c6c011b441bea01
Author: Felipe Magno de Almeida 
Date:   Tue Oct 25 12:21:34 2016 -0200

js: Fix compilation of new data types in JS binding
---
 src/Makefile_Eolian_Js.am   |  4 ++--
 src/bin/eolian_js/main.cc   |  3 ++-
 src/bindings/js/eina_js/eina_js_compatibility.hh|  6 ++
 src/bindings/js/eina_js/eina_js_get_value.hh| 13 +
 src/bindings/js/eina_js/eina_js_get_value_from_c.hh |  7 +++
 src/bindings/js/eo_js/eo_js_constructor.hh  |  2 +-
 6 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/src/Makefile_Eolian_Js.am b/src/Makefile_Eolian_Js.am
index b15fa87..8f6ba5c 100644
--- a/src/Makefile_Eolian_Js.am
+++ b/src/Makefile_Eolian_Js.am
@@ -52,7 +52,7 @@ tests_eolian_js_libeolian_js_suite_la_CPPFLAGS = \
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_js\" \
 @CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_JS_CFLAGS@ @EO_JS_CFLAGS@ \
 @EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ @EINA_CXX_CFLAGS@ \
-@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@
+@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@ @ECORE_CXX_CFLAGS@
 tests_eolian_js_libeolian_js_suite_la_LIBADD = \
 @CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_EOLIAN_LIBS@ @USE_EFL_JS_LIBS@
 tests_eolian_js_libeolian_js_suite_la_DEPENDENCIES = @USE_EINA_INTERNAL_LIBS@ 
@USE_EO_INTERNAL_LIBS@ @USE_EFL_JS_INTERNAL_LIBS@
@@ -109,7 +109,7 @@ tests_eolian_js_eolian_js_suite_CPPFLAGS =  \
 -DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eolian_js\" \
 @CHECK_CFLAGS@ @EOLIAN_CXX_CFLAGS@ @EINA_JS_CFLAGS@ @EO_JS_CFLAGS@ 
@EFL_JS_CFLAGS@ \
 @EOLIAN_CFLAGS@ @EINA_CFLAGS@ @EO_CFLAGS@ @ECORE_CFLAGS@ @EINA_CXX_CFLAGS@ \
-@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@ @EFL_JS_CFLAGS@
+@EO_JS_CFLAGS@ @EO_CXX_CFLAGS@ @EFL_JS_CFLAGS@ @ECORE_CXX_CFLAGS@
 
 tests_eolian_js_eolian_js_suite_LDADD = \
 @CHECK_LIBS@ @USE_EO_LIBS@ @USE_EINA_LIBS@ @USE_EOLIAN_LIBS@ @USE_EFL_JS_LIBS@ 
@USE_EVAS_LIBS@ @USE_EFL_JS_LIBS@
diff --git a/src/bin/eolian_js/main.cc b/src/bin/eolian_js/main.cc
index d38700c..14d4e65 100644
--- a/src/bin/eolian_js/main.cc
+++ b/src/bin/eolian_js/main.cc
@@ -157,7 +157,8 @@ _eolian_type_cpp_type_named_get(const Eolian_Type *tp, 
std::string const& caller
   {"promise", "Eina_Promise"},
   {"string", "const char*"},
   {"void_ptr", "void *"},
-  {"stringshare", "Eina_Stringshare*"}
+  {"stringshare", "Eina_Stringshare*"},
+  {"future", "Efl_Future*"}
 
 };
 
diff --git a/src/bindings/js/eina_js/eina_js_compatibility.hh 
b/src/bindings/js/eina_js/eina_js_compatibility.hh
index 7b5c920..37a9457 100644
--- a/src/bindings/js/eina_js/eina_js_compatibility.hh
+++ b/src/bindings/js/eina_js/eina_js_compatibility.hh
@@ -308,6 +308,12 @@ R wrap_value(T v, value_tag>)
return R {v};
 }
 
+template 
+R wrap_value(T const& v, value_tag>)
+{
+   return R {const_cast(&v)};
+}
+
 template 
 struct _libv8_isolate_test
 {
diff --git a/src/bindings/js/eina_js/eina_js_get_value.hh 
b/src/bindings/js/eina_js/eina_js_get_value.hh
index 856e21f..3a96970 100644
--- a/src/bindings/js/eina_js/eina_js_get_value.hh
+++ b/src/bindings/js/eina_js/eina_js_get_value.hh
@@ -111,6 +111,19 @@ inline Eo* get_value_from_javascript
   return get_value_from_javascript(v, isolate, class_name, value_tag(), 
throw_js_exception);
 }
 
+// Futures
+template 
+Eo* get_value_from_javascript
+  (v8::Local
+   , v8::Isolate*
+   , const char*
+   , value_tag>
+   , bool = true)
+{
+  throw std::logic_error("");
+  return nullptr;
+}
+  
 template 
 inline T get_value_from_javascript
   (v8::Local v
diff --git a/src/bindings/js/eina_js/eina_js_get_value_from_c.hh 
b/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
index 4d71229..f949ae6 100644
--- a/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
+++ b/src/bindings/js/eina_js/eina_js_get_value_from_c.hh
@@ -200,6 +200,13 @@ get_value_from_c(efl::eina::js::complex_tag v, v8::Isolat
 
 template 
 inline v8::Local
+get_value_from_c(efl::eina::js::complex_tag, v8::Isolate*, const 
char*)
+{
+  throw std::logic_error("");
+}
+
+template 
+inline v8::Local
 get_value_from_c(efl::eina::js::complex_tag v, 
v8::Isolate* isolate, const char* class_name)
 {
   // TODO implement const accessor?
diff --git a/src/bindings/js/eo_js/eo_js_constructor.hh 
b/src/bindings/js/eo_js/eo_js_constructor.hh
index 191eb9d..e0c0f2f 100644
--- a/src/bindings/js/eo_js/eo_js_constructor.hh
+++ b/src/bindings/js/eo_js/eo_js_constructor.hh
@@ -109,7 +109,7 @@ struct constructor_caller
 Eo* eo = efl_add
   (klass
, parent
-   , eina::_mpl::for_each(constructors, call{efl_self, 
¤t_index, &args})
+   , eina::_mpl::for_each(constructors, call{efl_added, 
¤t_index, &args})
);
 if (!eo)
  

[EGIT] [core/efl] master 08/09: docs: interfaces: document missing structs in gfx interfaces

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 820d8f23f02771cd7646cfc35c949e98772f9be3
Author: Stefan Schmidt 
Date:   Tue Oct 25 15:23:50 2016 +0200

docs: interfaces: document missing structs in gfx interfaces
---
 src/lib/efl/interfaces/efl_gfx_types.eot | 27 ++-
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot 
b/src/lib/efl/interfaces/efl_gfx_types.eot
index 3483a77..db6962d 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -110,10 +110,10 @@ struct Efl.Gfx.Gradient.Stop
 struct Efl.Gfx.Stroke.Color
 {
   [[Internal structure for @Efl.Gfx.Stroke.]]
-  r: int;
-  g: int;
-  b: int;
-  a: int;
+  r: int; [[The component R color of the stroke]]
+  g: int; [[The component G color of the stroke]]
+  b: int; [[The component B color of the stroke]]
+  a: int; [[The component A color of the stroke]]
 }
 
 struct Efl.Gfx.Stroke
@@ -122,19 +122,20 @@ struct Efl.Gfx.Stroke
 Describes the properties to define the path stroke.
 @since 1.14
   ]]
-  scale: double;
-  width: double;
-  centered: double;
-  color: Efl.Gfx.Stroke.Color;
-  dash: Efl.Gfx.Dash*;
-  dash_length: uint;
-  cap: Efl.Gfx.Cap;
-  join: Efl.Gfx.Join;
+  scale: double; [[Stroke scale]]
+  width: double; [[Stroke width]]
+  centered: double; [[Stroke centered]]
+  color: Efl.Gfx.Stroke.Color; [[Stroke color]]
+  dash: Efl.Gfx.Dash*; [[Stroke dash]]
+  dash_length: uint; [[Stroke dash length]]
+  cap: Efl.Gfx.Cap; [[Stroke cap]]
+  join: Efl.Gfx.Join; [[Stroke join]]
 }
 
 struct Efl.Gfx.Shape.Public
 {
-   stroke: Efl.Gfx.Stroke;
+   [[Public shape]]
+   stroke: Efl.Gfx.Stroke; [[Internal representation as stroke]]
 }
 
 enum Efl.Gfx.Border_Fill_Mode

-- 




[EGIT] [core/efl] master 09/09: docs: gfx interfaces: fix some typos in docs

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 89a4d2766438309ee13ee042f0a8c2bc47cd1a7d
Author: Stefan Schmidt 
Date:   Tue Oct 25 15:26:05 2016 +0200

docs: gfx interfaces: fix some typos in docs
---
 src/lib/efl/interfaces/efl_gfx_types.eot | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot 
b/src/lib/efl/interfaces/efl_gfx_types.eot
index db6962d..29841a6 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -36,7 +36,7 @@ enum Efl.Gfx.Path.Command_Type {
   move_to,   [[The next point is the start point of a sub path.]]
   line_to,   [[The next point is used to draw a line from current point.]]
   cubic_to,  [[The next three point is used to draw a cubic bezier curve from 
current point.]]
-  close, [[Close the curent subpath by drawing a line between current 
point and the first point of current subpath.]]
+  close, [[Close the current subpath by drawing a line between current 
point and the first point of current subpath.]]
   last   [[Sentinel value to indicate last enum field during iteration]]
 }
 
@@ -91,7 +91,7 @@ struct Efl.Gfx.Dash {
 @since 1.14
   ]]
   length: double;  [[Dash drawing length.]]
-  gap: double; [[Distance bettwen two dashes.]]
+  gap: double; [[Distance between two dashes.]]
 }
 
 struct Efl.Gfx.Gradient.Stop
@@ -103,8 +103,8 @@ struct Efl.Gfx.Gradient.Stop
   offset: double; [[The location of the gradient stop within the gradient 
vector]]
   r: int; [[The component R color of the gradient stop]]
   g: int; [[The component G color of the gradient stop]]
-  b: int; [[The component B color of the graident stop]]
-  a: int; [[The component A color of the graident stop]]
+  b: int; [[The component B color of the gradient stop]]
+  a: int; [[The component A color of the gradient stop]]
 }
 
 struct Efl.Gfx.Stroke.Color

-- 




[EGIT] [core/efl] master 03/09: docs: tree wide enum sentinel value documentation

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 7df301d8572de9f5eae74b3ccceb2e2c5a429439
Author: Stefan Schmidt 
Date:   Mon Oct 24 20:33:26 2016 +0200

docs: tree wide enum sentinel value documentation
---
 src/lib/efl/interfaces/efl_gfx_types.eot   | 10 +-
 src/lib/elementary/elm_gesture_layer.eo|  2 +-
 src/lib/elementary/elm_interface_scrollable.eo |  4 ++--
 src/lib/elementary/elm_map.eo  |  8 
 src/lib/elementary/elm_photocam.eo |  2 +-
 5 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot 
b/src/lib/efl/interfaces/efl_gfx_types.eot
index 04a7e93..00c8f4d 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -23,7 +23,7 @@ enum Efl.Gfx.Colorspace {
 enum Efl.Gfx.Render_Op {
   blend = 0, [[Alpha blending onto destination (default); d = d*(1-sa) + s.]]
   copy  = 1, [[Copy source to destination; d = s.]]
-  last
+  last   [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Efl.Gfx.Path.Command_Type {
@@ -35,7 +35,7 @@ enum Efl.Gfx.Path.Command_Type {
   line_to,   [[The next point is used to draw a line from current point.]]
   cubic_to,  [[The next three point is used to draw a cubic bezier curve from 
current point.]]
   close, [[Close the curent subpath by drawing a line between current 
point and the first point of current subpath.]]
-  last   [[Not a valid command, but last one according to this version 
header.]]
+  last   [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Efl.Gfx.Cap {
@@ -47,7 +47,7 @@ enum Efl.Gfx.Cap {
   butt = 0,  [[The end of lines is rendered as a full stop on the last point 
itself.]]
   round, [[The end of lines is rendered as a half-circle around the last 
point.]]
   square,[[The end of lines is rendered as a square around the last 
point.]]
-  last   [[End of enum value.]]
+  last   [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Efl.Gfx.Join
@@ -59,7 +59,7 @@ enum Efl.Gfx.Join
   miter = 0, [[Used to render rounded line joins. Circular arcs are used to 
join two lines smoothly.]]
   round, [[Used to render beveled line joins. The outer corner of the joined 
lines is filled by enclosing the triangular region of the corner with a 
straight line between the outer corners of each stroke.]]
   bevel, [[Used to render mitered line joins. The intersection of the strokes 
is clipped at a line perpendicular to the bisector of the angle between the 
strokes, at the distance from the intersection of the segments equal to the 
product of the miter limit value and the border radius.  This prevents long 
spikes being created.]]
-  last [[End of enum value]]
+  last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Efl.Gfx.Gradient.Spread
@@ -71,7 +71,7 @@ enum Efl.Gfx.Gradient.Spread
   pad, [[The area is filled with the closest stop color. This is the default.]]
   reflect, [[The gradient is reflected outside the gradient area.]]
   repeat, [[The gradient is repeated outside the gradient area.]]
-  last [[End of enum value]]
+  last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Efl.Gfx.Fill.Rule
diff --git a/src/lib/elementary/elm_gesture_layer.eo 
b/src/lib/elementary/elm_gesture_layer.eo
index f02db39..d2a1f19 100644
--- a/src/lib/elementary/elm_gesture_layer.eo
+++ b/src/lib/elementary/elm_gesture_layer.eo
@@ -16,7 +16,7 @@ enum Elm.Gesture.Type
n_flicks, [[N fingers flick gesture]]
zoom, [[Zoom]]
rotate, [[Rotate]]
-   last
+   last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Gesture.State
diff --git a/src/lib/elementary/elm_interface_scrollable.eo 
b/src/lib/elementary/elm_interface_scrollable.eo
index 0e23c55..adaf5ca 100644
--- a/src/lib/elementary/elm_interface_scrollable.eo
+++ b/src/lib/elementary/elm_interface_scrollable.eo
@@ -14,7 +14,7 @@ enum Elm.Scroller.Policy
auto = 0, [[Show scrollbars as needed]]
on, [[Always show scrollbars]]
off, [[Never show scrollbars]]
-   last
+   last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Scroller.Single_Direction
@@ -26,7 +26,7 @@ enum Elm.Scroller.Single_Direction
none = 0, [[Scroll every direction]]
soft, [[Scroll single direction if the direction is certain]]
hard, [[Scroll only single direction]]
-   last
+   last  [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Scroller.Movement_Block
diff --git a/src/lib/elementary/elm_map.eo b/src/lib/elementary/elm_map.eo
index d47e046..7f47ff8 100644
--- a/src/lib/elementary/elm_map.eo
+++ b/src/lib/elementary/elm_map.eo
@@ -24,7 +24,7 @@ enum Elm.Map.Zoom_Mode
manual,[[Zoom controlled manually by elm_map_zoom_set(). It's set by 
de

[EGIT] [core/efl] master 02/02: eolian gen: add -s for silencing type errors in validation

2016-10-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 306aba78487120144ec455a274259f59e253fb6c
Author: Daniel Kolesa 
Date:   Tue Oct 25 16:01:54 2016 +0200

eolian gen: add -s for silencing type errors in validation
---
 src/bin/eolian/main.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c
index 8c8cb72..5946b83 100644
--- a/src/bin/eolian/main.c
+++ b/src/bin/eolian/main.c
@@ -43,6 +43,7 @@ _print_usage(const char *progn, FILE *outf)
  "  -o type:name  specify a particular output filename\n"
  "  -hprint this message and exit\n"
  "  -vprint version and exit\n"
+ "  -ssilence type errors in validation\n"
  "\n"
  "Available types:\n"
  "  h: C header file (.h)\n"
@@ -397,7 +398,8 @@ main(int argc, char **argv)
char *outs[5] = { NULL, NULL, NULL, NULL, NULL };
 
int gen_what = 0;
-   for (int opt; (opt = getopt(argc, argv, "I:g:o:hvV")) != -1;)
+   Eina_Bool silent_types = EINA_FALSE;
+   for (int opt; (opt = getopt(argc, argv, "I:g:o:shv")) != -1;)
  switch (opt)
{
 case 0:
@@ -449,6 +451,9 @@ main(int argc, char **argv)
 }
   else _fill_all_outs(outs, optarg);
   break;
+case 's':
+  silent_types = EINA_TRUE;
+  break;
 case 'h':
   _print_usage(argv[0], stdout);
   goto end;
@@ -480,7 +485,7 @@ main(int argc, char **argv)
 goto end;
  }
 
-   if (!eolian_database_validate(EINA_FALSE))
+   if (!eolian_database_validate(silent_types))
  {
 fprintf(stderr, "eolian: failed validating database\n");
 goto end;

-- 




[EGIT] [core/efl] master 01/09: elm: remove no longer needed Elm.App.View_State

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit c8e4ae21d8aa6f438365259ee4bbf67da5b1367f
Author: Stefan Schmidt 
Date:   Mon Oct 24 19:52:00 2016 +0200

elm: remove no longer needed Elm.App.View_State

Left over from the elm app server/client removal. Hidden in an eo type file
this was overlooked.
---
 src/lib/elementary/elm_general.eot | 9 -
 1 file changed, 9 deletions(-)

diff --git a/src/lib/elementary/elm_general.eot 
b/src/lib/elementary/elm_general.eot
index eed0c98..f407613 100644
--- a/src/lib/elementary/elm_general.eot
+++ b/src/lib/elementary/elm_general.eot
@@ -212,15 +212,6 @@ enum Efl.Ui.Focus.Move_Policy
Left, Right, Up, Down, Tab, or Shift+Tab.]]
 }
 
-enum Elm.App.View_State
-{
-   unknown = 0,
-   live,
-   paused,
-   closed,
-   shallow,
-}
-
 enum Elm.Prefs.Reset_Mode
 {
[[Modes of resetting a prefs widget.

-- 




[EGIT] [core/efl] master 05/09: docs: ecore_con: document missing HTTP enums

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit a6022c170264dc29074212b280e2d946093e203a
Author: Stefan Schmidt 
Date:   Tue Oct 25 13:03:46 2016 +0200

docs: ecore_con: document missing HTTP enums
---
 src/lib/ecore_con/efl_net_dialer_http.eo |   7 +-
 src/lib/ecore_con/efl_net_http_types.eot | 146 ---
 2 files changed, 78 insertions(+), 75 deletions(-)

diff --git a/src/lib/ecore_con/efl_net_dialer_http.eo 
b/src/lib/ecore_con/efl_net_dialer_http.eo
index f9ceae2..b8c327d 100644
--- a/src/lib/ecore_con/efl_net_dialer_http.eo
+++ b/src/lib/ecore_con/efl_net_dialer_http.eo
@@ -1,9 +1,10 @@
 import efl_net_http_types;
 
 enum Efl.Net.Dialer.Http.Primary_Mode {
-auto,
-download,
-upload,
+[[Primary HTTP mode]]
+auto, [[HTTP auto mode]]
+download, [[HTTP download mode]]
+upload, [[HTTP upload mode]]
 }
 
 class Efl.Net.Dialer.Http (Efl.Loop_User, Efl.Net.Dialer, Efl.Io.Sizer) {
diff --git a/src/lib/ecore_con/efl_net_http_types.eot 
b/src/lib/ecore_con/efl_net_http_types.eot
index 895297f..328f59d 100644
--- a/src/lib/ecore_con/efl_net_http_types.eot
+++ b/src/lib/ecore_con/efl_net_http_types.eot
@@ -22,89 +22,91 @@ enum Efl.Net.Http.Authentication_Method {
 }
 
 enum Efl.Net.Http.Status {
-[[Common HTTP status codes]]
+[[Common HTTP status codes. A more detailed description on the various 
HTTPS status codes can be
+found one Wikipedia: 
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes]]
 
-unknown = 0, [[unknown status, likely not connected]]
+unknown = 0, [[HTTP status code: Unknown, likely not connected]]
 
 /* Informational: 1xx */
-continue = 100,
-switching_protocols = 101,
-checkpoint = 103, /* unofficial extension */
-processing = 102,
+continue = 100, [[HTTP status code: continue]]
+switching_protocols = 101, [[HTTP status code: switching protocols]]
+checkpoint = 103, [[HTTP status code: checkpoint (unofficial extension)]]
+processing = 102, [[HTTP status code: processing]]
 
 /* success: 2xx */
-ok = 200,
-created = 201,
-accepted = 202,
-non_authoritative_information = 203,
-no_content = 204,
-reset_content = 205,
-partial_content = 206,
-multi_status = 207,
-already_reported = 208,
-im_used = 226,
+ok = 200, [[HTTP status code: OK]]
+created = 201, [[HTTP status code: created]]
+accepted = 202, [[HTTP status code: accepted]]
+non_authoritative_information = 203, [[HTTP status code: non authoritative 
information]]
+no_content = 204, [[HTTP status code: no content]]
+reset_content = 205, [[HTTP status code: reset content]]
+partial_content = 206, [[HTTP status code: partial content]]
+multi_status = 207, [[HTTP status code: multi status]]
+already_reported = 208, [[HTTP status code: already reported]]
+im_used = 226, [[HTTP status code: IM used]]
 
 /* redirection: 3xx */
-multiple_choices = 300,
-moved_permanently = 301,
-found = 302,
-see_other = 303,
-not_modified = 304,
-use_proxy = 305,
-switch_proxy = 306,
-temporary_redirect = 307,
-permanent_redirect = 308,
+multiple_choices = 300, [[HTTP status code: multiple choices]]
+moved_permanently = 301, [[HTTP status code: moved permanently]]
+found = 302, [[HTTP status code: found]]
+see_other = 303, [[HTTP status code: see other]]
+not_modified = 304, [[HTTP status code: not modified]]
+use_proxy = 305, [[HTTP status code: use proxy]]
+switch_proxy = 306, [[HTTP status code: switch proxy]]
+temporary_redirect = 307, [[HTTP status code: temporary redirect]]
+permanent_redirect = 308, [[HTTP status code: permanent redirect]]
 
 /* client error: 4xx */
-bad_request = 400,
-unauthorized = 401,
-payment_required = 402,
-forbidden = 403,
-not_found = 404,
-method_not_allowed = 405,
-not_acceptable = 406,
-proxy_authentication_required = 407,
-request_timeout = 408,
-conflict = 409,
-gone = 410,
-length_required = 411,
-precondition_failed = 412,
-payload_too_large = 413,
-uri_too_long = 414,
-unsupported_media_type = 415,
-range_not_satisfiable = 416,
-expectation_failed = 417,
-misdirected_request = 421,
-unprocessable_entity = 422,
-locked = 423,
-failed_dependency = 424,
-upgrade_required = 426,
-precondition_required = 428,
-too_many_requests = 429,
-request_header_fields_too_large = 431,
-login_timeout = 440, /* unofficial extension */
-no_response = 444, /* unofficial extension */
-retry_with = 449, /* unofficial extension */
-blocked_by_windows_parental_controls = 450, /* unofficial extension */
-unavailable_for_legal_reasons = 451,
-ssl_certificate_error = 495, /* unofficial extension */
-ssl_certificate_required = 496, /* unofficial exte

[EGIT] [core/efl] master 04/09: docs: elm_icon: fully document elm_icon eo file

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit fee28a5b1655c02244cb63e6ccc9c5eef8991f8c
Author: Stefan Schmidt 
Date:   Mon Oct 24 20:51:04 2016 +0200

docs: elm_icon: fully document elm_icon eo file
---
 src/lib/elementary/elm_icon.eo | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/elm_icon.eo b/src/lib/elementary/elm_icon.eo
index da79c23..6d56165 100644
--- a/src/lib/elementary/elm_icon.eo
+++ b/src/lib/elementary/elm_icon.eo
@@ -1,13 +1,15 @@
 enum Elm.Icon.Type
 {
+   [[Elementary icon types]]
legacy: elm_icon;
-   none,
-   file,
-   standard
+   none, [[Icon has no type set]]
+   file, [[Icon is of type file]]
+   standard [[Icon is of type standard]]
 }
 
 class Elm.Icon (Efl.Ui.Image)
 {
+   [[Elementary Icon Class]]
legacy_prefix: elm_icon;
eo_prefix: elm_obj_icon;
event_prefix: elm_icon;
@@ -22,8 +24,8 @@ class Elm.Icon (Efl.Ui.Image)
   Efl.File.file.set;
}
events {
-  thumb,done;
-  thumb,error;
+  thumb,done; [[Called when thumb nailing is successfully done]]
+  thumb,error; [[Called when thumb nailing failed]]
}
 
 }

-- 




[EGIT] [core/efl] master 02/09: docs: harmonise use of enum sentinel description in eo files

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit ef814db4900f97cd387cc729f06ee579c085998b
Author: Stefan Schmidt 
Date:   Mon Oct 24 19:57:13 2016 +0200

docs: harmonise use of enum sentinel description in eo files
---
 src/lib/ecore_audio/ecore_audio.eo   | 2 +-
 src/lib/ector/ector_renderer.eo  | 2 +-
 src/lib/edje/edje_types.eot  | 2 +-
 src/lib/elementary/elm_bg.eo | 2 +-
 src/lib/elementary/elm_calendar.eo   | 2 +-
 src/lib/elementary/elm_dayselector.eo| 2 +-
 src/lib/elementary/elm_general.eot   | 4 ++--
 src/lib/elementary/elm_interface_fileselector.eo | 4 ++--
 src/lib/elementary/elm_popup.eo  | 2 +-
 src/lib/elementary/elm_web.eo| 2 +-
 10 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/src/lib/ecore_audio/ecore_audio.eo 
b/src/lib/ecore_audio/ecore_audio.eo
index 5d08762..3c37cc3 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -8,7 +8,7 @@ enum Ecore.Audio.Format {
 ogg, [[OGG]]
 flac, [[FLAC, the Free Lossless Audio Codec]]
 mp3,  [[MP3 (not supported)]]
-last [[Sentinel value, do not use]]
+last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 class Ecore.Audio (Efl.Object)
diff --git a/src/lib/ector/ector_renderer.eo b/src/lib/ector/ector_renderer.eo
index b2ac222..61fc3fb 100644
--- a/src/lib/ector/ector_renderer.eo
+++ b/src/lib/ector/ector_renderer.eo
@@ -6,7 +6,7 @@ enum Ector.Quality
best, [[Best quality]]
good, [[Good quality]]
fast, [[Lower quality]]
-   last, [[Sentinel]]
+   last, [[Sentinel value to indicate last enum field during iteration]]
 }
 
 abstract Ector.Renderer (Efl.Object)
diff --git a/src/lib/edje/edje_types.eot b/src/lib/edje/edje_types.eot
index d78487e..78c3bed 100644
--- a/src/lib/edje/edje_types.eot
+++ b/src/lib/edje/edje_types.eot
@@ -134,7 +134,7 @@ enum Edje.External.Param_Type {
bool, [[Parameter value is boolean.]]
choice, [[Parameter value is one of a set of
  predefined string choices.]]
-   max [[Sentinel. Don't use.]]
+   max [[Sentinel value to indicate last enum field during iteration]]
 }
 
 struct Edje.External.Param {
diff --git a/src/lib/elementary/elm_bg.eo b/src/lib/elementary/elm_bg.eo
index bf5a377..1351123 100644
--- a/src/lib/elementary/elm_bg.eo
+++ b/src/lib/elementary/elm_bg.eo
@@ -10,7 +10,7 @@ enum Elm.Bg.Option
   scale, [[Scale the background image, retaining aspect ratio (default).]]
   stretch, [[Stretch the background image to fill the widget's area.]]
   tile, [[Tile background image at its original size.]]
-  last [[Sentinel value, also used to indicate errors.]]
+  last  [[Sentinel value to indicate last enum field during iteration. Also 
used to indicate errors]]
 }
 
 class Elm.Bg (Elm.Layout, Efl.File)
diff --git a/src/lib/elementary/elm_calendar.eo 
b/src/lib/elementary/elm_calendar.eo
index 247455e..3b14fa5 100644
--- a/src/lib/elementary/elm_calendar.eo
+++ b/src/lib/elementary/elm_calendar.eo
@@ -37,7 +37,7 @@ enum Elm.Calendar.Weekday
thursday, [[Thursday weekday]]
friday, [[Friday weekday]]
saturday, [[Saturday weekday]]
-   last [[Sentinel value to mark last entry]]
+   last  [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Calendar.Select.Mode
diff --git a/src/lib/elementary/elm_dayselector.eo 
b/src/lib/elementary/elm_dayselector.eo
index f7dee78..abcb8bb 100644
--- a/src/lib/elementary/elm_dayselector.eo
+++ b/src/lib/elementary/elm_dayselector.eo
@@ -14,7 +14,7 @@ enum Elm.Dayselector.Day
thu,[[Indicates Thursday.]]
fri,[[Indicates Friday.]]
sat,[[Indicates Saturday.]]
-   max [[Sentinel value, don't use.]]
+   max [[Sentinel value to indicate last enum field during iteration]]
 }
 
 class Elm.Dayselector (Elm.Layout)
diff --git a/src/lib/elementary/elm_general.eot 
b/src/lib/elementary/elm_general.eot
index f407613..c078bfa 100644
--- a/src/lib/elementary/elm_general.eot
+++ b/src/lib/elementary/elm_general.eot
@@ -92,7 +92,7 @@ enum Elm.Policy
 
@since 1.8
  ]]
-   last
+   last [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Policy.Quit
@@ -177,7 +177,7 @@ enum Elm.Wrap.Type
char, [[Char wrap - wrap between characters.]]
word, [[Word wrap - wrap in allowed wrapping points (as defined in the 
unicode standard).]]
mixed,[[Mixed wrap - Word wrap, and if that fails, char wrap.]]
-   last
+   last  [[Sentinel value to indicate last enum field during iteration]]
 }
 
 enum Elm.Focus_Direction
diff --git a/src/lib/elementary/elm_interface_fileselector.eo 
b/src/lib/elementary/elm_interface_fileselector.eo
index 3d18012..9366e84 100644
--- a/src/lib/elementary/elm_interface_fileselector.eo
+++ b/src/l

[EGIT] [core/efl] master 07/09: docs: document all missing enums

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 1ed2b0fbde07d6ae58ff9219eba26350f4471d80
Author: Stefan Schmidt 
Date:   Tue Oct 25 15:09:59 2016 +0200

docs: document all missing enums

With this commit we reach 100% enum doc coverage. The fields in the enums 
are
still at 91%, but there is progress on that front as well.
---
 src/lib/ecore_audio/ecore_audio.eo| 1 +
 src/lib/elementary/elm_gengrid.eo | 5 +++--
 src/lib/elementary/elm_sys_notify.eo  | 1 +
 src/lib/elementary/elm_widget.eo  | 7 ---
 src/lib/evas/canvas/efl_canvas_text_cursor.eo | 1 +
 5 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore_audio/ecore_audio.eo 
b/src/lib/ecore_audio/ecore_audio.eo
index 3c37cc3..234ef7d 100644
--- a/src/lib/ecore_audio/ecore_audio.eo
+++ b/src/lib/ecore_audio/ecore_audio.eo
@@ -2,6 +2,7 @@ type @extern Ecore.Audio.Vio: __undefined_type; /* FIXME: Had 
function pointer m
 type @extern efl_key_data_free_func: __undefined_type; /* FIXME: Function 
pointers not allowed. */
 
 enum Ecore.Audio.Format {
+[[Ecore audio format type]]
 auto, [[Automatically detect the format (for inputs)]]
 raw, [[RAW samples (float)]]
 wav, [[WAV format]]
diff --git a/src/lib/elementary/elm_gengrid.eo 
b/src/lib/elementary/elm_gengrid.eo
index fc7231e..0553f32 100644
--- a/src/lib/elementary/elm_gengrid.eo
+++ b/src/lib/elementary/elm_gengrid.eo
@@ -3,8 +3,9 @@ import ecore_types;
 
 enum Elm.Gengrid.Reorder_Type
 {
-   normal, [[ normal reorder type ]]
-   swap[[ swap reorder type ]]
+   [[Gengrid reorder modes]]
+   normal, [[Normal reorder type]]
+   swap[[Swap reorder type]]
 }
 
 class Elm.Gengrid (Elm.Layout, Elm.Interface_Scrollable,
diff --git a/src/lib/elementary/elm_sys_notify.eo 
b/src/lib/elementary/elm_sys_notify.eo
index db04299..5282db5 100644
--- a/src/lib/elementary/elm_sys_notify.eo
+++ b/src/lib/elementary/elm_sys_notify.eo
@@ -1,5 +1,6 @@
 enum Elm.Sys_Notify.Server
 {
+   [[System notification server types]]
none = 0, [[No notificationserver (disables notifications)]]
dbus = 1 << 0 [[Use DBus as a notification server]]
 }
diff --git a/src/lib/elementary/elm_widget.eo b/src/lib/elementary/elm_widget.eo
index 6c8a131..10f0d5f 100644
--- a/src/lib/elementary/elm_widget.eo
+++ b/src/lib/elementary/elm_widget.eo
@@ -19,9 +19,10 @@ enum Elm.Activate
 
 enum Elm.Theme.Apply
 {
-   failed = 0,
-   default = 1,
-   success = 3
+   [[Return codes when a Elementary theme is applied]]
+   failed = 0, [[Failed to apply theme]]
+   default = 1, [[Default return value]]
+   success = 3 [[Success to apply theme]]
 }
 
 struct Elm.Tooltip;
diff --git a/src/lib/evas/canvas/efl_canvas_text_cursor.eo 
b/src/lib/evas/canvas/efl_canvas_text_cursor.eo
index 4a7b97b..6317bf6 100644
--- a/src/lib/evas/canvas/efl_canvas_text_cursor.eo
+++ b/src/lib/evas/canvas/efl_canvas_text_cursor.eo
@@ -1,5 +1,6 @@
 enum Efl.Canvas.Text.Cursor.Type
 {
+   [[Text cursor types]]
before,
under
 }

-- 




[EGIT] [core/efl] master 06/09: docs: efl interfaces: document enums accross interfaces eo files

2016-10-25 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 7d698bbfc1d305607436b8c164d04eeae250647a
Author: Stefan Schmidt 
Date:   Tue Oct 25 15:08:33 2016 +0200

docs: efl interfaces: document enums accross interfaces eo files
---
 src/lib/efl/interfaces/efl_gfx_buffer.eo |  9 +
 src/lib/efl/interfaces/efl_gfx_types.eot |  3 +++
 src/lib/efl/interfaces/efl_image_animated.eo |  1 +
 src/lib/efl/interfaces/efl_io_positioner.eo  |  7 ---
 src/lib/efl/interfaces/efl_text_types.eot| 11 ++-
 5 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/src/lib/efl/interfaces/efl_gfx_buffer.eo 
b/src/lib/efl/interfaces/efl_gfx_buffer.eo
index daa829b..bde430a 100644
--- a/src/lib/efl/interfaces/efl_gfx_buffer.eo
+++ b/src/lib/efl/interfaces/efl_gfx_buffer.eo
@@ -3,10 +3,11 @@ import eina_types;
 
 /* FIXME: this is very very low level. expose to apps? */
 enum Efl.Gfx.Buffer.Access_Mode {
-   none  = 0x0,
-   read  = 0x1,
-   write = 0x2,
-   cow   = 0x4,  [[Forces copy-on-write if already mapped as read-only. 
Requires write.]]
+   [[Graphics buffer access mode]]
+   none  = 0x0, [[No buffer access]]
+   read  = 0x1, [[Read access to buffer]]
+   write = 0x2, [[Write aces to buffer]]
+   cow   = 0x4, [[Forces copy-on-write if already mapped as read-only. 
Requires write.]]
 }
 
 /* FIXME: YUV and other planar formats are not properly handled in this API! */
diff --git a/src/lib/efl/interfaces/efl_gfx_types.eot 
b/src/lib/efl/interfaces/efl_gfx_types.eot
index 00c8f4d..3483a77 100644
--- a/src/lib/efl/interfaces/efl_gfx_types.eot
+++ b/src/lib/efl/interfaces/efl_gfx_types.eot
@@ -1,4 +1,5 @@
 enum Efl.Gfx.Colorspace {
+  [[Graphics colorspace type]]
   argb, [[ARGB 32 bits per pixel, high-byte is Alpha, accessed 
one 32bit word at a time.]]
   ycbcr422p601_pl,  [[YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The 
data pointed to is just an array of row pointer, pointing to the Y rows, then 
the Cb, then Cr rows.]]
   ycbcr422p709_pl,  [[YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The 
data pointed to is just an array of row pointer, pointing to the Y rows, then 
the Cb, then Cr rows.]]
@@ -21,6 +22,7 @@ enum Efl.Gfx.Colorspace {
 }
 
 enum Efl.Gfx.Render_Op {
+  [[Graphics render operation mode]]
   blend = 0, [[Alpha blending onto destination (default); d = d*(1-sa) + s.]]
   copy  = 1, [[Copy source to destination; d = s.]]
   last   [[Sentinel value to indicate last enum field during iteration]]
@@ -180,6 +182,7 @@ enum Efl.Gfx.Size.Hint.Aspect
 
 enum Efl.Image.Load.Error
 {
+   [[Image load error type]]
none = 0,   [[No error on load]]
generic = 1,[[A non-specific error occurred]]
does_not_exist = 2, [[File (or file path) does not exist]]
diff --git a/src/lib/efl/interfaces/efl_image_animated.eo 
b/src/lib/efl/interfaces/efl_image_animated.eo
index 18e7ad1..7799c90 100644
--- a/src/lib/efl/interfaces/efl_image_animated.eo
+++ b/src/lib/efl/interfaces/efl_image_animated.eo
@@ -2,6 +2,7 @@
 /* type @extern Evas.Animated_Loop_Hint: int; */
 
 enum Efl.Image.Animated.Loop_Hint {
+   [[Image animation loop modes]]
none = 0,   [[No looping order specified.]]
loop = 1,   [[Standard loop: 1->2->3->1->2->3->1]]
pingpong = 2[[Ping-pong bouncing loop: 1->2->3->2->1->2->3->1]]
diff --git a/src/lib/efl/interfaces/efl_io_positioner.eo 
b/src/lib/efl/interfaces/efl_io_positioner.eo
index 1c25b77..7e4c791 100644
--- a/src/lib/efl/interfaces/efl_io_positioner.eo
+++ b/src/lib/efl/interfaces/efl_io_positioner.eo
@@ -1,9 +1,10 @@
 import eina_types;
 
 enum Efl.Io.Positioner.Whence {
-start, [[seek from start of the stream/file]]
-current, [[seek from current position]]
-end, [[seek from the end of stream/file]]
+[[Seek position modes]]
+start, [[Seek from start of the stream/file]]
+current, [[Seek from current position]]
+end, [[Seek from the end of stream/file]]
 }
 
 mixin Efl.Io.Positioner {
diff --git a/src/lib/efl/interfaces/efl_text_types.eot 
b/src/lib/efl/interfaces/efl_text_types.eot
index c44f0ec..199fdb0 100644
--- a/src/lib/efl/interfaces/efl_text_types.eot
+++ b/src/lib/efl/interfaces/efl_text_types.eot
@@ -1,7 +1,8 @@
 enum Efl.Text.Bidirectional_Type {
-   natural = 0,
-   neutral = 0,
-   ltr,
-   rtl,
-   inherit
+   [[Bidirectionaltext type]]
+   natural = 0, [[Natural text type, same as neutral]]
+   neutral = 0, [[Neutral text type, same as natural]]
+   ltr, [[Left to right text type]]
+   rtl, [[Right to left text type]]
+   inherit [[Inherit text type]]
 }

-- 




[EGIT] [core/efl] master 01/02: eolian gen: always validate database

2016-10-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 3758d5b9fa002479aff67ac64a1ebf25cf26f570
Author: Daniel Kolesa 
Date:   Tue Oct 25 15:59:41 2016 +0200

eolian gen: always validate database
---
 src/bin/eolian/main.c | 6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c
index 1b29327..8c8cb72 100644
--- a/src/bin/eolian/main.c
+++ b/src/bin/eolian/main.c
@@ -480,6 +480,12 @@ main(int argc, char **argv)
 goto end;
  }
 
+   if (!eolian_database_validate(EINA_FALSE))
+ {
+fprintf(stderr, "eolian: failed validating database\n");
+goto end;
+ }
+
_fill_all_outs(outs, input);
 
const char *eobn = _get_filename(input);

-- 




[EGIT] [core/efl] master 01/01: ecore con: fix invalid doc reference

2016-10-25 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 08f11e2c4616af62a0a9e4353dc98281d64475da
Author: Daniel Kolesa 
Date:   Tue Oct 25 15:54:46 2016 +0200

ecore con: fix invalid doc reference

Fixes T4761 (also spank @barbieri)
---
 src/lib/ecore_con/efl_net_server_udp.eo | 2 +-
 src/lib/ecore_con/efl_net_socket_udp.eo | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore_con/efl_net_server_udp.eo 
b/src/lib/ecore_con/efl_net_server_udp.eo
index b1908d4..e3b0df2 100644
--- a/src/lib/ecore_con/efl_net_server_udp.eo
+++ b/src/lib/ecore_con/efl_net_server_udp.eo
@@ -54,7 +54,7 @@ class Efl.Net.Server.Udp (Efl.Net.Server.Fd) {
 
   The multicast address should be in the format:
 
- IP@INTERFACE
+ IP\@INTERFACE
 
   With '\@INTERFACE' being optional, such as:
 
diff --git a/src/lib/ecore_con/efl_net_socket_udp.eo 
b/src/lib/ecore_con/efl_net_socket_udp.eo
index 40e4169..4934bd9 100644
--- a/src/lib/ecore_con/efl_net_socket_udp.eo
+++ b/src/lib/ecore_con/efl_net_socket_udp.eo
@@ -76,7 +76,7 @@ class Efl.Net.Socket.Udp (Efl.Net.Socket.Fd) {
 
   The multicast address should be in the format:
 
- IP@INTERFACE
+ IP\@INTERFACE
 
   With '\@INTERFACE' being optional, such as:
 

-- 




[EGIT] [tools/eflete] master 01/01: property_group: use correct currently selected resource on property filtering

2016-10-25 Thread Vitalii Vorobiov
rimmed pushed a commit to branch master.

http://git.enlightenment.org/tools/eflete.git/commit/?id=56de9e0cb73aef0c5424035d28885d845e25962e

commit 56de9e0cb73aef0c5424035d28885d845e25962e
Author: Vitalii Vorobiov 
Date:   Tue Oct 25 15:26:12 2016 +0300

property_group: use correct currently selected resource on property 
filtering

Fixes T4690
---
 src/bin/ui/property/property_group.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/ui/property/property_group.c 
b/src/bin/ui/property/property_group.c
index 3ccf9c2..1469386 100644
--- a/src/bin/ui/property/property_group.c
+++ b/src/bin/ui/property/property_group.c
@@ -441,6 +441,8 @@ _filter_cb(Property_Attribute *pa)
return !!(pa->filter_data.part_types & PART_MASK(((Part2 
*)group_pd.group->current_selected)->type));
  else if (group_pd.group->current_selected->common.type == 
RESOURCE2_TYPE_STATE)
return !!(pa->filter_data.part_types & PART_MASK(((State2 
*)group_pd.group->current_selected)->part->type));
+ else if (group_pd.group->current_selected->common.type == 
RESOURCE2_TYPE_ITEM)
+   return !!(pa->filter_data.part_types & PART_MASK(((Part_Item2 
*)group_pd.group->current_selected)->part->type));
  else if (group_pd.group->current_selected->common.type == 
RESOURCE2_TYPE_PROGRAM)
return !!(pa->filter_data.action_types & ACTION_MASK(((Program2 
*)group_pd.group->current_selected)->type));
  else

-- 




Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Andrew Williams
Thanks for that.
Everything was working fine except the Python lookups as root due to
profile.d or whatever alternatives seemingly not contributing to the sudo
environment. It would benefit from more investigation but for now it's
working with Python-efl as well.

Cheers,
Andy
On Tue, 25 Oct 2016 at 11:10, Jérémy Zurcher  wrote:

> On Tuesday 25 October 2016  10:41, Al Poole wrote :
> > >
> > >
> > > With a distro maintainer hat on a script like this shouldn't install to
> > > /usr by default that will cause alot of issues with package managers
> etc
> > > so either /usr/local or /opt is the correct place, at the same time
> this
> > > means that the script probably needs to make some symlinks into /etc
> and
> > > have a way to reset them.
> > >
> > > I'll add don't use /usr/local either as that's where FreeBSD and
> OpenBSD
> > store third-party _packages_.
> >
> > So that leaves.../opt or /sw or whatever you like, probably /opt!
>
> I use PREFIX=/opt/efl for years now,
>
> compile efl with :
>   --with-dbus-services=/usr/share/dbus-1/services
>
> compile enlightenment with
>--sysconfdir=/etc --libexecdir=$PREFIX/lib/enlightenment
>
> and generate
>echo "$PREFIX/lib" > /etc/ld.so.conf.d/efl.conf
>
> and
>echo -e "export EFLDIR=$PREFIX\nexport PATH=\$PATH:\$EFLDIR/bin\nexport
> PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:\$EFLDIR/lib/pkgconfig" >
> /etc/profile.d/efl.sh
>
> it works like a charm ;)
> >
> > ! :)
> >
> --
> > The Command Line: Reinvented for Modern Developers
> > Did the resurgence of CLI tooling catch you by surprise?
> > Reconnect with the command line and become more productive.
> > Learn the new .NET and ASP.NET CLI. Get your free copy!
> > http://sdm.link/telerik
> > ___
> > enlightenment-devel mailing list
> > enlightenment-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> --- Hell'O from Yverdoom
>
> Jérémy (jeyzu)
>
>
> --
> The Command Line: Reinvented for Modern Developers
> Did the resurgence of CLI tooling catch you by surprise?
> Reconnect with the command line and become more productive.
> Learn the new .NET and ASP.NET CLI. Get your free copy!
> http://sdm.link/telerik
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/02: efl_net_server_udp_client: add missing part of name.

2016-10-25 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 6d1a54ed8ec80f0fe145130457d79dac372c0fed
Author: Gustavo Sverzut Barbieri 
Date:   Mon Oct 24 19:47:15 2016 -0200

efl_net_server_udp_client: add missing part of name.
---
 src/lib/ecore_con/ecore_con_private.h | 2 +-
 src/lib/ecore_con/efl_net_server_udp.c| 2 +-
 src/lib/ecore_con/efl_net_server_udp_client.c | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_con/ecore_con_private.h 
b/src/lib/ecore_con/ecore_con_private.h
index 035ba19..b8c67e6 100644
--- a/src/lib/ecore_con/ecore_con_private.h
+++ b/src/lib/ecore_con/ecore_con_private.h
@@ -397,7 +397,7 @@ void ecore_con_mempool_shutdown(void);
 #define AI_V4MAPPED 0
 #endif
 
-void _efl_net_server_udp_init(Eo *client, SOCKET fd, const struct sockaddr 
*addr, socklen_t addrlen, const char *str);
+void _efl_net_server_udp_client_init(Eo *client, SOCKET fd, const struct 
sockaddr *addr, socklen_t addrlen, const char *str);
 void _efl_net_server_udp_client_feed(Eo *client, Eina_Rw_Slice slice);
 
 Eina_Bool efl_net_ip_port_fmt(char *buf, int buflen, const struct sockaddr 
*addr);
diff --git a/src/lib/ecore_con/efl_net_server_udp.c 
b/src/lib/ecore_con/efl_net_server_udp.c
index 33fe1db..8b5e078 100644
--- a/src/lib/ecore_con/efl_net_server_udp.c
+++ b/src/lib/ecore_con/efl_net_server_udp.c
@@ -283,7 +283,7 @@ 
_efl_net_server_udp_efl_net_server_fd_process_incoming_data(Eo *o, Efl_Net_Serve
 efl_io_closer_close_on_destructor_set(efl_added, 
EINA_TRUE),
 
 efl_net_socket_address_local_set(efl_added, 
efl_net_server_address_get(o)),
-_efl_net_server_udp_init(efl_added, fd, (const struct 
sockaddr *)&addr, addrlen, str),
+_efl_net_server_udp_client_init(efl_added, fd, (const 
struct sockaddr *)&addr, addrlen, str),
 efl_io_writer_can_write_set(efl_added, EINA_TRUE));
if (!client)
  {
diff --git a/src/lib/ecore_con/efl_net_server_udp_client.c 
b/src/lib/ecore_con/efl_net_server_udp_client.c
index b1e2592..c569295 100644
--- a/src/lib/ecore_con/efl_net_server_udp_client.c
+++ b/src/lib/ecore_con/efl_net_server_udp_client.c
@@ -89,7 +89,7 @@ _efl_net_server_udp_client_efl_object_destructor(Eo *o, 
Efl_Net_Server_Udp_Clien
 }
 
 void
-_efl_net_server_udp_init(Eo *o, SOCKET fd, const struct sockaddr *addr, 
socklen_t addrlen, const char *str)
+_efl_net_server_udp_client_init(Eo *o, SOCKET fd, const struct sockaddr *addr, 
socklen_t addrlen, const char *str)
 {
Efl_Net_Server_Udp_Client_Data *pd = efl_data_scope_get(o, MY_CLASS);
pd->fd = fd;

-- 




[EGIT] [core/efl] master 02/02: efl_net_*_udp: make UDP usable, including multicast.

2016-10-25 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit cd53f9bad21128bffc6bf4f6f481e2642be2d4dd
Author: Gustavo Sverzut Barbieri 
Date:   Tue Oct 25 10:03:34 2016 -0200

efl_net_*_udp: make UDP usable, including multicast.

This was a huge work, but now UDP is usable as seen in the examples.

Instead of relying on 'connect()', just do 'sendto()' and 'recvfrom()'
as they are universal. Multicast address can only be connected in
IPv4, IPv6 wasn't working and I'm not sure the IPv4 is portable to
other platforms.

Dialer will auto-join multicast groups is the dialed address is
one. Multicast properties such as time to live (hops) and loopback can
be configured. When joining multicast groups, the local
address/interface can be configured by 'IP@IFACE' format, with
'@IFACE' being optional.

Dialers will now auto-bind, so it can receive data as dialers are
expected to be bi-directional. One can manually specify the binding
address if there is such need.

Since datagrams must be read in their full size, otherwise the
remaining bits are dropped, expose next_datagram_size_query() in both
Efl.Net.Socket.Udp and Efl.Net.Server.Udp.Client.

To finalize UDP for real we need to introduce an 'Efl_Net_Ip_Address'
structure to serve as both IPv4 and IPv6 and expose 'sendto()' and
'recvfrom()'. These will come later as this commit is already too big.
---
 src/examples/ecore/efl_net_dialer_udp_example.c |  68 ++-
 src/examples/ecore/efl_net_server_example.c |  39 +-
 src/lib/ecore_con/ecore_con.c   | 316 +++-
 src/lib/ecore_con/ecore_con_private.h   |  91 
 src/lib/ecore_con/efl_net_dialer_udp.c  | 199 ++--
 src/lib/ecore_con/efl_net_dialer_udp.eo |  19 +
 src/lib/ecore_con/efl_net_server_udp.c  | 214 -
 src/lib/ecore_con/efl_net_server_udp.eo |  70 +++
 src/lib/ecore_con/efl_net_server_udp_client.c   |  10 +
 src/lib/ecore_con/efl_net_server_udp_client.eo  |  11 +
 src/lib/ecore_con/efl_net_socket_udp.c  | 614 ++--
 src/lib/ecore_con/efl_net_socket_udp.eo | 127 +
 12 files changed, 1642 insertions(+), 136 deletions(-)

diff --git a/src/examples/ecore/efl_net_dialer_udp_example.c 
b/src/examples/ecore/efl_net_dialer_udp_example.c
index 846a17c..dccbb5e 100644
--- a/src/examples/ecore/efl_net_dialer_udp_example.c
+++ b/src/examples/ecore/efl_net_dialer_udp_example.c
@@ -12,15 +12,33 @@ static int needed_reads = 0;
 static void
 _connected(void *data EINA_UNUSED, const Efl_Event *event)
 {
-   fprintf(stderr, "INFO: connected %s\n",
-   efl_net_dialer_address_dial_get(event->object));
+   fprintf(stderr,
+   "INFO: connected to '%s' (%s)\n"
+   "INFO:  - local address=%s\n"
+   "INFO:  - read-after-write=%d reads required\n"
+   "INFO:  - cork=%hhu\n"
+   "INFO:  - timeout_dial=%fs\n"
+   "INFO:  - reuse address=%hhu\n"
+   "INFO:  - reuse port=%hhu\n"
+   "INFO:  - multicast TTL: %u\n"
+   "INFO:  - multicast loopback: %u\n"
+   "INFO:  - multicast groups:\n",
+   efl_net_dialer_address_dial_get(event->object),
+   efl_net_socket_address_remote_get(event->object),
+   efl_net_socket_address_local_get(event->object),
+   needed_reads,
+   efl_net_socket_udp_cork_get(event->object),
+   efl_net_dialer_timeout_dial_get(event->object),
+   efl_net_socket_udp_reuse_address_get(event->object),
+   efl_net_socket_udp_reuse_port_get(event->object),
+   efl_net_socket_udp_multicast_time_to_live_get(event->object),
+   efl_net_socket_udp_multicast_loopback_get(event->object));
 }
 
 static void
 _can_read(void *data EINA_UNUSED, const Efl_Event *event)
 {
-   char buf[1024];
-   Eina_Rw_Slice rw_slice = {.mem = buf, .len = sizeof(buf)};
+   Eina_Rw_Slice rw_slice;
Eina_Error err;
Eina_Bool can_read = efl_io_reader_can_read_get(event->object);
 
@@ -33,9 +51,15 @@ _can_read(void *data EINA_UNUSED, const Efl_Event *event)
 
if (!needed_reads) return;
 
+   rw_slice.len = efl_net_socket_udp_next_datagram_size_query(event->object);
+   rw_slice.mem = malloc(rw_slice.len);
+   EINA_SAFETY_ON_NULL_RETURN(rw_slice.mem);
err = efl_io_reader_read(event->object, &rw_slice);
if (err)
  {
+free(rw_slice.mem);
+if (err == EAGAIN) /* EAGAIN for spurious packets */
+  return;
 fprintf(stderr, "ERROR: could not read: %s\n", 
eina_error_msg_get(err));
 retval = EXIT_FAILURE;
 ecore_main_loop_quit();
@@ -50,6 +74,7 @@ _can_read(void *data EINA_UNUSED, const Efl_Event *event)
 retval = EXIT_SUCCESS;
 ecore_main_loop_quit();
  }
+   free(rw_slice.mem);
 }
 
 static void
@@ -149,10 +174,16

[EGIT] [core/enlightenment] master 01/01: reset elementary softcursor config on shutdown

2016-10-25 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit bdd290591c081f2e8935a7579b46e052367c8446
Author: Chris Michael 
Date:   Tue Oct 25 07:44:41 2016 -0400

reset elementary softcursor config on shutdown

This is needed because if we shutdown E then try to run EFL apps in
Weston, the Elm Softcursor mode would have been saved as 'off' so we
should be sure to reset this.

Signed-off-by: Chris Michael 
---
 src/bin/e_comp_wl.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c
index 8607427..cf3c76e 100644
--- a/src/bin/e_comp_wl.c
+++ b/src/bin/e_comp_wl.c
@@ -2903,6 +2903,8 @@ e_comp_wl_shutdown(void)
/*  free(global); */
/*   } */
 
+   elm_config_softcursor_mode_set(ELM_SOFTCURSOR_MODE_AUTO);
+
if (e_comp_wl->wl.shm) wl_shm_destroy(e_comp_wl->wl.shm);
_e_comp_wl_gl_shutdown();
 

-- 




Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Jérémy Zurcher
On Tuesday 25 October 2016  10:41, Al Poole wrote :
> >
> >
> > With a distro maintainer hat on a script like this shouldn't install to
> > /usr by default that will cause alot of issues with package managers etc
> > so either /usr/local or /opt is the correct place, at the same time this
> > means that the script probably needs to make some symlinks into /etc and
> > have a way to reset them.
> >
> > I'll add don't use /usr/local either as that's where FreeBSD and OpenBSD
> store third-party _packages_.
> 
> So that leaves.../opt or /sw or whatever you like, probably /opt!

I use PREFIX=/opt/efl for years now,

compile efl with :
  --with-dbus-services=/usr/share/dbus-1/services

compile enlightenment with
   --sysconfdir=/etc --libexecdir=$PREFIX/lib/enlightenment

and generate
   echo "$PREFIX/lib" > /etc/ld.so.conf.d/efl.conf

and
   echo -e "export EFLDIR=$PREFIX\nexport PATH=\$PATH:\$EFLDIR/bin\nexport 
PKG_CONFIG_PATH=\$PKG_CONFIG_PATH:\$EFLDIR/lib/pkgconfig" > 
/etc/profile.d/efl.sh

it works like a charm ;)
> 
> ! :)
> --
> The Command Line: Reinvented for Modern Developers
> Did the resurgence of CLI tooling catch you by surprise?
> Reconnect with the command line and become more productive. 
> Learn the new .NET and ASP.NET CLI. Get your free copy!
> http://sdm.link/telerik
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--- Hell'O from Yverdoom

Jérémy (jeyzu)

--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Simon Lees


On 10/25/2016 08:11 PM, Al Poole wrote:
>>
>>
>> With a distro maintainer hat on a script like this shouldn't install to
>> /usr by default that will cause alot of issues with package managers etc
>> so either /usr/local or /opt is the correct place, at the same time this
>> means that the script probably needs to make some symlinks into /etc and
>> have a way to reset them.
>>
>> I'll add don't use /usr/local either as that's where FreeBSD and OpenBSD
> store third-party _packages_.
> 
> So that leaves.../opt or /sw or whatever you like, probably /opt!
> 
> ! :)

Well essentially this script is a 3rd party package so unless the BSD
packages people are working on are also installing to /usr/local it
should be fine.

-- 

Simon Lees (Simotek)http://simotek.net

Emergency Update Team   keybase.io/simotek
SUSE LinuxAdeliade Australia, UTC+9:30
GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B



signature.asc
Description: OpenPGP digital signature
--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Al Poole
>
>
> With a distro maintainer hat on a script like this shouldn't install to
> /usr by default that will cause alot of issues with package managers etc
> so either /usr/local or /opt is the correct place, at the same time this
> means that the script probably needs to make some symlinks into /etc and
> have a way to reset them.
>
> I'll add don't use /usr/local either as that's where FreeBSD and OpenBSD
store third-party _packages_.

So that leaves.../opt or /sw or whatever you like, probably /opt!

! :)
--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: emotion - add vpath support for file_set on emotion objects

2016-10-25 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 534c3c91b79268fa03383f85ffe51782ca47c112
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Oct 25 18:34:25 2016 +0900

emotion - add vpath support for file_set on emotion objects

this completes my todo list for vpath path support at least for now
(evas images, edje objects and emotion objects). now vpath's work for
these too.
---
 src/lib/emotion/emotion_smart.c | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/lib/emotion/emotion_smart.c b/src/lib/emotion/emotion_smart.c
index 52ae0e6..bc3a7eb 100644
--- a/src/lib/emotion/emotion_smart.c
+++ b/src/lib/emotion/emotion_smart.c
@@ -374,17 +374,28 @@ _efl_canvas_video_efl_file_file_set(Eo *obj EINA_UNUSED, 
Efl_Canvas_Video_Data *
sd->video.h = 0;
if ((file) && (file[0] != 0))
  {
+const char *file2;
+
 eina_stringshare_replace(&sd->file, file);
 emotion_engine_instance_file_close(sd->engine_instance);
 evas_object_image_data_set(sd->obj, NULL);
 evas_object_image_size_set(sd->obj, 1, 1);
 _emotion_image_data_zero(sd->obj);
 sd->open = 0;
-if (!emotion_engine_instance_file_open(sd->engine_instance, sd->file))
+
+Efl_Vpath_File *file_obj = 
efl_vpath_manager_fetch(EFL_VPATH_MANAGER_CLASS, file);
+efl_vpath_file_do(file_obj);
+// XXX:FIXME: allow this to be async
+efl_vpath_file_wait(file_obj);
+file2 = efl_vpath_file_result_get(file_obj);
+
+if (!emotion_engine_instance_file_open(sd->engine_instance, file2))
   {
  WRN("Couldn't open file=%s", sd->file);
+ efl_del(file_obj);
  return EINA_FALSE;
   }
+efl_del(file_obj);
 DBG("successfully opened file=%s", sd->file);
 sd->pos = 0.0;
 if (sd->play) emotion_engine_instance_play(sd->engine_instance, 0.0);

-- 




Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Simon Lees


On 10/25/2016 07:22 PM, Davide Andreoli wrote:
> 2016-10-25 1:08 GMT+02:00 Simon Lees :
> 
>>
>>
>> On 10/25/2016 08:58 AM, Andrew Williams wrote:
>>> That could work but it may have needed lots more env passed in. On IRC
>> dave
>>> pointed out that sudo -E should work, and it did :)
>>>
>> While it works it also adds additional security risks due to the
>> potential for environment variable injection so its use should be
>> strongly discouraged.
>>
> 
> indeed, and also it is not supported everywhere, it is probably easy
> to find systems where it is not allowed by sudo config.
> 
> The real problem here is that Efler (by default) install stuff in /opt/efler
> that is a non standard place. You will have tons of issues in systems
> different than yours, fe: how installed efl apps will find the installed
> libs?
> are you installing something in /etc/ld.so.conf.d ?
> 
> I think that Efler should not change the PREFIX by default, just don't
> pass --prefix so that the system can choose the best place to install
> ...of course let the user override it
> 
With a distro maintainer hat on a script like this shouldn't install to
/usr by default that will cause alot of issues with package managers etc
so either /usr/local or /opt is the correct place, at the same time this
means that the script probably needs to make some symlinks into /etc and
have a way to reset them.

> 
> 
>>
>>> On Mon, 24 Oct 2016 at 20:46, Massimo Maiurana 
>> wrote:
>>>
 Uh?

 I usually install in /opt/e17 via sudo just exporting
 PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/e17/lib/pkgconfig, maybe you can
 set something similar in your scripts.

 Bye
 Massimo

 Andrew Williams ha scritto il 24/10/2016 alle 20:59:
> Hi,
>
> The sudo python setup.py install does not work as sodos pkgconfig
>> cannot
> find efl it seems...
>
> Andy
>
> On Mon, 24 Oct 2016 at 18:26, Davide Andreoli 
> wrote:
>
>> 2016-10-23 21:42 GMT+02:00 Andrew Williams :
>>
>>> My apologies you are quite right - it is building just fine. Sorry
>> for
>>> that, my info was out of date
>>>
>>
>> :)
>>
>>
>>> I can't get it installed however - perhaps you can help? Regular user
>>> cannot write to site-packages but sudo does not have efl paths setup.
 Is
>> it
>>> possible to make it work like the main build so your user does all of
 the
>>> building and sudo can blindly install?
>>>
>>
>> sure, try:
>> python setup.py build
>> sudo python setup.py install
>>
>>
>>>
>>> Many thanks indeed - if I solve this I can include it in Efler as I
>> hoped.
>>> (And egitu and a bunch of those great apps)
>>>
>>
>> Great, If you add it to efler I highly suggest to go with python3 by
>> default,
>> just use python3 in all the setup.py commands.
>>
>> (and sadly I have no time to maintain egitu atm, it have some small
 issues,
>> but it's usable, I use it every time I use git, it just have some
>> issue
>> with refreshing
>> the contents at the correct time)
>>
>>
>>>
>>> Andrew
>>>
>>> On Sun, 23 Oct 2016 at 20:29, Davide Andreoli <
>> d...@gurumeditation.it>
>>> wrote:
>>>
 2016-10-22 16:18 GMT+02:00 Andrew Williams :

> I'm pretty sure the python bindings have not been updated in a
>> while.
>>> As
> our development moves on so quickly these unmaintained portions
>> fall
 behind
> fast.
>

 really sure? did you follow the git commit list? maybe you missed my
 commits from the last week
 We (me and kuuko) do our best to keep the bindings in sync also
>> during
>>> the
 development phases. We usually are behind efl by one week or so!

 I'm a bit offended that you put python-efl in the "unmaintained"
>> land,
 seems all my effort to constantly update the bindings to
 #FollowTheWhiteRabbit
 really goes into the void :(

 btw, you are just wrong: python-efl is one of the most maintained
>> bit
 outside
 the core libs, and is currently in sync with efl master :P



>
> If we can resolve this then I will be able to pop python-efl and
>> the
>>> apps
> that rely on it into the Efler app installer :)
>
> Andrew
>
> On Sat, 22 Oct 2016 at 12:58 Massimo Maiurana 
 wrote:
>
>> I don't know if it's something wrong in my setup, but lately
>> I'm not able to build Python bindings anymore. I attach the build
>> log
 to
>> preserve its lines length.
>>
>> --
>> Massimo Maiurana
>> Ragusa (RG)
>>
>> 
> --
>>>

Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Al Poole
Yeah,

Each system should have a prefix that best suits it. Between OS and even
Linux distributions prefix changes could be difficult to accommodate, at
least completely.

I don't suppose the prefix matters so much if EFLer fully respects that.

Maybe it should be down to the judgement of those adding support to EFLer
for their chosen OS.

On Tue, Oct 25, 2016 at 9:59 AM, Andrew Williams 
wrote:

> Hi,
>
> Actually this is not caused by efler - default is /usr/local and that also
> is not in default path so the same problem exists with a vanilla setup.
>
> One of the design requirements for efler was that it is isolated and so can
> be easily removed if needed - thus a prefix.
> Is saves confusion with what is managed and what is not.
>
> The environment is managed by sourcing an efler supplied env file and it
> works without custom setup (tested).
>
> Andy
> On Tue, 25 Oct 2016 at 09:53, Davide Andreoli 
> wrote:
>
> > 2016-10-25 1:08 GMT+02:00 Simon Lees :
> >
> > >
> > >
> > > On 10/25/2016 08:58 AM, Andrew Williams wrote:
> > > > That could work but it may have needed lots more env passed in. On
> IRC
> > > dave
> > > > pointed out that sudo -E should work, and it did :)
> > > >
> > > While it works it also adds additional security risks due to the
> > > potential for environment variable injection so its use should be
> > > strongly discouraged.
> > >
> >
> > indeed, and also it is not supported everywhere, it is probably easy
> > to find systems where it is not allowed by sudo config.
> >
> > The real problem here is that Efler (by default) install stuff in
> > /opt/efler
> > that is a non standard place. You will have tons of issues in systems
> > different than yours, fe: how installed efl apps will find the installed
> > libs?
> > are you installing something in /etc/ld.so.conf.d ?
> >
> > I think that Efler should not change the PREFIX by default, just don't
> > pass --prefix so that the system can choose the best place to install
> > ...of course let the user override it
> >
> >
> >
> > >
> > > > On Mon, 24 Oct 2016 at 20:46, Massimo Maiurana 
> > > wrote:
> > > >
> > > >> Uh?
> > > >>
> > > >> I usually install in /opt/e17 via sudo just exporting
> > > >> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/e17/lib/pkgconfig, maybe you
> can
> > > >> set something similar in your scripts.
> > > >>
> > > >> Bye
> > > >> Massimo
> > > >>
> > > >> Andrew Williams ha scritto il 24/10/2016 alle 20:59:
> > > >>> Hi,
> > > >>>
> > > >>> The sudo python setup.py install does not work as sodos pkgconfig
> > > cannot
> > > >>> find efl it seems...
> > > >>>
> > > >>> Andy
> > > >>>
> > > >>> On Mon, 24 Oct 2016 at 18:26, Davide Andreoli <
> > d...@gurumeditation.it>
> > > >>> wrote:
> > > >>>
> > >  2016-10-23 21:42 GMT+02:00 Andrew Williams  >:
> > > 
> > > > My apologies you are quite right - it is building just fine.
> Sorry
> > > for
> > > > that, my info was out of date
> > > >
> > > 
> > >  :)
> > > 
> > > 
> > > > I can't get it installed however - perhaps you can help? Regular
> > user
> > > > cannot write to site-packages but sudo does not have efl paths
> > setup.
> > > >> Is
> > >  it
> > > > possible to make it work like the main build so your user does
> all
> > of
> > > >> the
> > > > building and sudo can blindly install?
> > > >
> > > 
> > >  sure, try:
> > >  python setup.py build
> > >  sudo python setup.py install
> > > 
> > > 
> > > >
> > > > Many thanks indeed - if I solve this I can include it in Efler
> as I
> > >  hoped.
> > > > (And egitu and a bunch of those great apps)
> > > >
> > > 
> > >  Great, If you add it to efler I highly suggest to go with python3
> by
> > >  default,
> > >  just use python3 in all the setup.py commands.
> > > 
> > >  (and sadly I have no time to maintain egitu atm, it have some
> small
> > > >> issues,
> > >  but it's usable, I use it every time I use git, it just have some
> > > issue
> > >  with refreshing
> > >  the contents at the correct time)
> > > 
> > > 
> > > >
> > > > Andrew
> > > >
> > > > On Sun, 23 Oct 2016 at 20:29, Davide Andreoli <
> > > d...@gurumeditation.it>
> > > > wrote:
> > > >
> > > >> 2016-10-22 16:18 GMT+02:00 Andrew Williams <
> a...@andywilliams.me
> > >:
> > > >>
> > > >>> I'm pretty sure the python bindings have not been updated in a
> > > while.
> > > > As
> > > >>> our development moves on so quickly these unmaintained portions
> > > fall
> > > >> behind
> > > >>> fast.
> > > >>>
> > > >>
> > > >> really sure? did you follow the git commit list? maybe you
> missed
> > my
> > > >> commits from the last week
> > > >> We (me and kuuko) do our best to keep the bindings in sync also
> > > during
> > > > the
> > > >> development phases. We usually are behind efl by one week or so!
> > > >>
> > > >> I'm a bit of

Re: [E-devel] Making documentation for all elements of a eo file mandatory for new files

2016-10-25 Thread The Rasterman
On Tue, 25 Oct 2016 10:15:52 +0200 Stefan Schmidt  said:

> Hello.
> 
> On 25/10/16 05:04, Carsten Haitzler (The Rasterman) wrote:
> > On Sat, 22 Oct 2016 00:43:30 +0200 Stefan Schmidt 
> > said:
> >
> >> Hello.
> >>
> >> TL;DR: If you are committing new eo files I expect them to have full
> >> docs from now one. Also help with the ones you are currently working on.
> >
> > this is actually looking pretty decent below now in terms of progress. :)
> 
> Indeed. :)
> 
> With some more patches I've been working on right now I'm at 80% total 
> coverage. In the process I also try to sort out some in-consistencies of 
> wording when i spot them, but quality wise there is still a lot to be 
> done which hopefully comes in a second phase.

thumbs up on this. very good. :)


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


--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Schedule discussion for 1.19

2016-10-25 Thread The Rasterman
On Tue, 25 Oct 2016 10:08:58 +0200 Stefan Schmidt  said:

> Hello.
> 
> On 25/10/16 03:56, Carsten Haitzler (The Rasterman) wrote:
> > On Mon, 24 Oct 2016 10:49:27 +0200 Stefan Schmidt 
> > said:
> >
> >> Hello.
> >>
> >> On 13/09/16 00:31, Simon Lees wrote:
> >>>
> >>>
> >>> On 09/13/2016 12:28 AM, Stefan Schmidt wrote:
>  Hello.
> 
>  On 10/09/16 01:29, Cedric BAIL wrote:
> > Hello,
> >
> > I fully agree with Andrew. I have yet to review what still need to be
> > done regarding Efl new interface task, but I hope that 1.19 will be
> > our final call. We do now have time to cleanup example and check that
> > things look fine.
> 
>  Please correct me if I did not get you two correctly here.
> 
>  You both think we should release 1.19 only once the interface work is
>  fully done? Be it in 3 months or in a year?
> 
> >>>
> >>> I think we should still aim for whatever has been set but the interface
> >>> work should be treated as a showstopper bug ie if something is still
> >>> missing or not quite finished we wait.
> >>
> >> Makes me think of e17. :P
> >
> > eo+interfaces is a massive amount of work. it's re-doing 50% of our api and
> > design that has been built up over a decade+. it's done by a fairly small
> > crew too. and the rest of the ship has to keep moving. it's not surprising
> > it's taking a long time.
> 
> 
> Understood. Maybe the comment was not to nice. This was not meant as 
> blaming towards interfaces taking long. I can see the huge amount of 
> work this takes. My problem really was the stalling of releases (and 
> thus keep all the other work going on in git only) by making interfaces 
> a blocker for 1.19.
> 
> It seems I can come with Cedric and JP (at least) to a conclusion here. 
> Things are moving again. :)

it seems so. just want everyone to know how big a task this is and why its so
hard to schedule a time release AND a feature together.

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


--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Andrew Williams
Hi,

Actually this is not caused by efler - default is /usr/local and that also
is not in default path so the same problem exists with a vanilla setup.

One of the design requirements for efler was that it is isolated and so can
be easily removed if needed - thus a prefix.
Is saves confusion with what is managed and what is not.

The environment is managed by sourcing an efler supplied env file and it
works without custom setup (tested).

Andy
On Tue, 25 Oct 2016 at 09:53, Davide Andreoli 
wrote:

> 2016-10-25 1:08 GMT+02:00 Simon Lees :
>
> >
> >
> > On 10/25/2016 08:58 AM, Andrew Williams wrote:
> > > That could work but it may have needed lots more env passed in. On IRC
> > dave
> > > pointed out that sudo -E should work, and it did :)
> > >
> > While it works it also adds additional security risks due to the
> > potential for environment variable injection so its use should be
> > strongly discouraged.
> >
>
> indeed, and also it is not supported everywhere, it is probably easy
> to find systems where it is not allowed by sudo config.
>
> The real problem here is that Efler (by default) install stuff in
> /opt/efler
> that is a non standard place. You will have tons of issues in systems
> different than yours, fe: how installed efl apps will find the installed
> libs?
> are you installing something in /etc/ld.so.conf.d ?
>
> I think that Efler should not change the PREFIX by default, just don't
> pass --prefix so that the system can choose the best place to install
> ...of course let the user override it
>
>
>
> >
> > > On Mon, 24 Oct 2016 at 20:46, Massimo Maiurana 
> > wrote:
> > >
> > >> Uh?
> > >>
> > >> I usually install in /opt/e17 via sudo just exporting
> > >> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/e17/lib/pkgconfig, maybe you can
> > >> set something similar in your scripts.
> > >>
> > >> Bye
> > >> Massimo
> > >>
> > >> Andrew Williams ha scritto il 24/10/2016 alle 20:59:
> > >>> Hi,
> > >>>
> > >>> The sudo python setup.py install does not work as sodos pkgconfig
> > cannot
> > >>> find efl it seems...
> > >>>
> > >>> Andy
> > >>>
> > >>> On Mon, 24 Oct 2016 at 18:26, Davide Andreoli <
> d...@gurumeditation.it>
> > >>> wrote:
> > >>>
> >  2016-10-23 21:42 GMT+02:00 Andrew Williams :
> > 
> > > My apologies you are quite right - it is building just fine. Sorry
> > for
> > > that, my info was out of date
> > >
> > 
> >  :)
> > 
> > 
> > > I can't get it installed however - perhaps you can help? Regular
> user
> > > cannot write to site-packages but sudo does not have efl paths
> setup.
> > >> Is
> >  it
> > > possible to make it work like the main build so your user does all
> of
> > >> the
> > > building and sudo can blindly install?
> > >
> > 
> >  sure, try:
> >  python setup.py build
> >  sudo python setup.py install
> > 
> > 
> > >
> > > Many thanks indeed - if I solve this I can include it in Efler as I
> >  hoped.
> > > (And egitu and a bunch of those great apps)
> > >
> > 
> >  Great, If you add it to efler I highly suggest to go with python3 by
> >  default,
> >  just use python3 in all the setup.py commands.
> > 
> >  (and sadly I have no time to maintain egitu atm, it have some small
> > >> issues,
> >  but it's usable, I use it every time I use git, it just have some
> > issue
> >  with refreshing
> >  the contents at the correct time)
> > 
> > 
> > >
> > > Andrew
> > >
> > > On Sun, 23 Oct 2016 at 20:29, Davide Andreoli <
> > d...@gurumeditation.it>
> > > wrote:
> > >
> > >> 2016-10-22 16:18 GMT+02:00 Andrew Williams  >:
> > >>
> > >>> I'm pretty sure the python bindings have not been updated in a
> > while.
> > > As
> > >>> our development moves on so quickly these unmaintained portions
> > fall
> > >> behind
> > >>> fast.
> > >>>
> > >>
> > >> really sure? did you follow the git commit list? maybe you missed
> my
> > >> commits from the last week
> > >> We (me and kuuko) do our best to keep the bindings in sync also
> > during
> > > the
> > >> development phases. We usually are behind efl by one week or so!
> > >>
> > >> I'm a bit offended that you put python-efl in the "unmaintained"
> > land,
> > >> seems all my effort to constantly update the bindings to
> > >> #FollowTheWhiteRabbit
> > >> really goes into the void :(
> > >>
> > >> btw, you are just wrong: python-efl is one of the most maintained
> > bit
> > >> outside
> > >> the core libs, and is currently in sync with efl master :P
> > >>
> > >>
> > >>
> > >>>
> > >>> If we can resolve this then I will be able to pop python-efl and
> > the
> > > apps
> > >>> that rely on it into the Efler app installer :)
> > >>>
> > >>> Andrew
> > >>>
> > >>> On Sat, 22 Oct 2016 at 12:58 Massimo Maiurana <
> maiur...@gmail.com>
> > >>

Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Davide Andreoli
2016-10-25 1:08 GMT+02:00 Simon Lees :

>
>
> On 10/25/2016 08:58 AM, Andrew Williams wrote:
> > That could work but it may have needed lots more env passed in. On IRC
> dave
> > pointed out that sudo -E should work, and it did :)
> >
> While it works it also adds additional security risks due to the
> potential for environment variable injection so its use should be
> strongly discouraged.
>

indeed, and also it is not supported everywhere, it is probably easy
to find systems where it is not allowed by sudo config.

The real problem here is that Efler (by default) install stuff in /opt/efler
that is a non standard place. You will have tons of issues in systems
different than yours, fe: how installed efl apps will find the installed
libs?
are you installing something in /etc/ld.so.conf.d ?

I think that Efler should not change the PREFIX by default, just don't
pass --prefix so that the system can choose the best place to install
...of course let the user override it



>
> > On Mon, 24 Oct 2016 at 20:46, Massimo Maiurana 
> wrote:
> >
> >> Uh?
> >>
> >> I usually install in /opt/e17 via sudo just exporting
> >> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/e17/lib/pkgconfig, maybe you can
> >> set something similar in your scripts.
> >>
> >> Bye
> >> Massimo
> >>
> >> Andrew Williams ha scritto il 24/10/2016 alle 20:59:
> >>> Hi,
> >>>
> >>> The sudo python setup.py install does not work as sodos pkgconfig
> cannot
> >>> find efl it seems...
> >>>
> >>> Andy
> >>>
> >>> On Mon, 24 Oct 2016 at 18:26, Davide Andreoli 
> >>> wrote:
> >>>
>  2016-10-23 21:42 GMT+02:00 Andrew Williams :
> 
> > My apologies you are quite right - it is building just fine. Sorry
> for
> > that, my info was out of date
> >
> 
>  :)
> 
> 
> > I can't get it installed however - perhaps you can help? Regular user
> > cannot write to site-packages but sudo does not have efl paths setup.
> >> Is
>  it
> > possible to make it work like the main build so your user does all of
> >> the
> > building and sudo can blindly install?
> >
> 
>  sure, try:
>  python setup.py build
>  sudo python setup.py install
> 
> 
> >
> > Many thanks indeed - if I solve this I can include it in Efler as I
>  hoped.
> > (And egitu and a bunch of those great apps)
> >
> 
>  Great, If you add it to efler I highly suggest to go with python3 by
>  default,
>  just use python3 in all the setup.py commands.
> 
>  (and sadly I have no time to maintain egitu atm, it have some small
> >> issues,
>  but it's usable, I use it every time I use git, it just have some
> issue
>  with refreshing
>  the contents at the correct time)
> 
> 
> >
> > Andrew
> >
> > On Sun, 23 Oct 2016 at 20:29, Davide Andreoli <
> d...@gurumeditation.it>
> > wrote:
> >
> >> 2016-10-22 16:18 GMT+02:00 Andrew Williams :
> >>
> >>> I'm pretty sure the python bindings have not been updated in a
> while.
> > As
> >>> our development moves on so quickly these unmaintained portions
> fall
> >> behind
> >>> fast.
> >>>
> >>
> >> really sure? did you follow the git commit list? maybe you missed my
> >> commits from the last week
> >> We (me and kuuko) do our best to keep the bindings in sync also
> during
> > the
> >> development phases. We usually are behind efl by one week or so!
> >>
> >> I'm a bit offended that you put python-efl in the "unmaintained"
> land,
> >> seems all my effort to constantly update the bindings to
> >> #FollowTheWhiteRabbit
> >> really goes into the void :(
> >>
> >> btw, you are just wrong: python-efl is one of the most maintained
> bit
> >> outside
> >> the core libs, and is currently in sync with efl master :P
> >>
> >>
> >>
> >>>
> >>> If we can resolve this then I will be able to pop python-efl and
> the
> > apps
> >>> that rely on it into the Efler app installer :)
> >>>
> >>> Andrew
> >>>
> >>> On Sat, 22 Oct 2016 at 12:58 Massimo Maiurana 
> >> wrote:
> >>>
>  I don't know if it's something wrong in my setup, but lately
>  I'm not able to build Python bindings anymore. I attach the build
>  log
> >> to
>  preserve its lines length.
> 
>  --
>  Massimo Maiurana
>  Ragusa (RG)
> 
>  
> >>> --
>  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
> 
> >>> ---

Re: [E-devel] Python-Efl doesn't compile

2016-10-25 Thread Davide Andreoli
2016-10-25 0:27 GMT+02:00 Andrew Williams :

> By way of an additional apology Python-efl can now be installed / managed
> from efler.
>
> I have not got any of the great Python apps in there yet as it's currently
> only capable of using the e.org git - is there any reason why egitu etc
> are
> available only on GitHub?
>

for one simple reason: github is better than our git+phab infra :)
...it's faster, it's always up, and it's more feature rich.

in the e repo you can find at least espionage (dbus inspector) and
epour (bittorrent client), both should be quite well maintained and stable.


>
> Thanks for the help,
> Andy
> On Mon, 24 Oct 2016 at 20:46, Massimo Maiurana  wrote:
>
> > Uh?
> >
> > I usually install in /opt/e17 via sudo just exporting
> > PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/opt/e17/lib/pkgconfig, maybe you can
> > set something similar in your scripts.
> >
> > Bye
> > Massimo
> >
> > Andrew Williams ha scritto il 24/10/2016 alle 20:59:
> > > Hi,
> > >
> > > The sudo python setup.py install does not work as sodos pkgconfig
> cannot
> > > find efl it seems...
> > >
> > > Andy
> > >
> > > On Mon, 24 Oct 2016 at 18:26, Davide Andreoli 
> > > wrote:
> > >
> > >> 2016-10-23 21:42 GMT+02:00 Andrew Williams :
> > >>
> > >>> My apologies you are quite right - it is building just fine. Sorry
> for
> > >>> that, my info was out of date
> > >>>
> > >>
> > >> :)
> > >>
> > >>
> > >>> I can't get it installed however - perhaps you can help? Regular user
> > >>> cannot write to site-packages but sudo does not have efl paths setup.
> > Is
> > >> it
> > >>> possible to make it work like the main build so your user does all of
> > the
> > >>> building and sudo can blindly install?
> > >>>
> > >>
> > >> sure, try:
> > >> python setup.py build
> > >> sudo python setup.py install
> > >>
> > >>
> > >>>
> > >>> Many thanks indeed - if I solve this I can include it in Efler as I
> > >> hoped.
> > >>> (And egitu and a bunch of those great apps)
> > >>>
> > >>
> > >> Great, If you add it to efler I highly suggest to go with python3 by
> > >> default,
> > >> just use python3 in all the setup.py commands.
> > >>
> > >> (and sadly I have no time to maintain egitu atm, it have some small
> > issues,
> > >> but it's usable, I use it every time I use git, it just have some
> issue
> > >> with refreshing
> > >> the contents at the correct time)
> > >>
> > >>
> > >>>
> > >>> Andrew
> > >>>
> > >>> On Sun, 23 Oct 2016 at 20:29, Davide Andreoli <
> d...@gurumeditation.it>
> > >>> wrote:
> > >>>
> >  2016-10-22 16:18 GMT+02:00 Andrew Williams :
> > 
> > > I'm pretty sure the python bindings have not been updated in a
> while.
> > >>> As
> > > our development moves on so quickly these unmaintained portions
> fall
> >  behind
> > > fast.
> > >
> > 
> >  really sure? did you follow the git commit list? maybe you missed my
> >  commits from the last week
> >  We (me and kuuko) do our best to keep the bindings in sync also
> during
> > >>> the
> >  development phases. We usually are behind efl by one week or so!
> > 
> >  I'm a bit offended that you put python-efl in the "unmaintained"
> land,
> >  seems all my effort to constantly update the bindings to
> >  #FollowTheWhiteRabbit
> >  really goes into the void :(
> > 
> >  btw, you are just wrong: python-efl is one of the most maintained
> bit
> >  outside
> >  the core libs, and is currently in sync with efl master :P
> > 
> > 
> > 
> > >
> > > If we can resolve this then I will be able to pop python-efl and
> the
> > >>> apps
> > > that rely on it into the Efler app installer :)
> > >
> > > Andrew
> > >
> > > On Sat, 22 Oct 2016 at 12:58 Massimo Maiurana 
> >  wrote:
> > >
> > >> I don't know if it's something wrong in my setup, but lately
> > >> I'm not able to build Python bindings anymore. I attach the build
> > >> log
> >  to
> > >> preserve its lines length.
> > >>
> > >> --
> > >> Massimo Maiurana
> > >> Ragusa (RG)
> > >>
> > >> 
> > > --
> > >> 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
> > >>
> > > 
> > > --
> > > 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://l

Re: [E-devel] Making documentation for all elements of a eo file mandatory for new files

2016-10-25 Thread Stefan Schmidt
Hello.

On 25/10/16 05:04, Carsten Haitzler (The Rasterman) wrote:
> On Sat, 22 Oct 2016 00:43:30 +0200 Stefan Schmidt  
> said:
>
>> Hello.
>>
>> TL;DR: If you are committing new eo files I expect them to have full
>> docs from now one. Also help with the ones you are currently working on.
>
> this is actually looking pretty decent below now in terms of progress. :)

Indeed. :)

With some more patches I've been working on right now I'm at 80% total 
coverage. In the process I also try to sort out some in-consistencies of 
wording when i spot them, but quality wise there is still a lot to be 
done which hopefully comes in a second phase.

regards
Stefan Schmidt

--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Schedule discussion for 1.19

2016-10-25 Thread Stefan Schmidt
Hello.

On 25/10/16 03:56, Carsten Haitzler (The Rasterman) wrote:
> On Mon, 24 Oct 2016 10:49:27 +0200 Stefan Schmidt  
> said:
>
>> Hello.
>>
>> On 13/09/16 00:31, Simon Lees wrote:
>>>
>>>
>>> On 09/13/2016 12:28 AM, Stefan Schmidt wrote:
 Hello.

 On 10/09/16 01:29, Cedric BAIL wrote:
> Hello,
>
> I fully agree with Andrew. I have yet to review what still need to be
> done regarding Efl new interface task, but I hope that 1.19 will be
> our final call. We do now have time to cleanup example and check that
> things look fine.

 Please correct me if I did not get you two correctly here.

 You both think we should release 1.19 only once the interface work is
 fully done? Be it in 3 months or in a year?

>>>
>>> I think we should still aim for whatever has been set but the interface
>>> work should be treated as a showstopper bug ie if something is still
>>> missing or not quite finished we wait.
>>
>> Makes me think of e17. :P
>
> eo+interfaces is a massive amount of work. it's re-doing 50% of our api and
> design that has been built up over a decade+. it's done by a fairly small crew
> too. and the rest of the ship has to keep moving. it's not surprising it's
> taking a long time.


Understood. Maybe the comment was not to nice. This was not meant as 
blaming towards interfaces taking long. I can see the huge amount of 
work this takes. My problem really was the stalling of releases (and 
thus keep all the other work going on in git only) by making interfaces 
a blocker for 1.19.

It seems I can come with Cedric and JP (at least) to a conclusion here. 
Things are moving again. :)

regards
Stefan Schmidt

--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel