[EGIT] [website/www-content] master 01/01: Wiki page osx-start changed with summary [Homebrew ships EFL 1.18.4] by Jean Guyomarc'h

2016-12-08 Thread Jean Guyomarc'h
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 98a34acef0ee33072b03747102c35ead34e4e0f4
Author: Jean Guyomarc'h 
Date:   Thu Dec 8 23:36:35 2016 -0800

Wiki page osx-start changed with summary [Homebrew ships EFL 1.18.4] by 
Jean Guyomarc'h
---
 pages/distros/osx-start.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/distros/osx-start.txt b/pages/distros/osx-start.txt
index aa565ee..435b284 100644
--- a/pages/distros/osx-start.txt
+++ b/pages/distros/osx-start.txt
@@ -22,7 +22,7 @@ brew install efl   # To install EFL
 
 
 And that's it! Enjoy your freshly distributed EFL :-).
-The distributed version of EFL is 
[[http://braumeister.org/formula/efl|1.18.3]].
+The distributed version of EFL is 
[[http://braumeister.org/formula/efl|1.18.4]].
 
 
 == Manual Installation (for EFL DEVELOPERS) ==

-- 




[EGIT] [core/efl] master 01/01: elm_entry: Init cursor position when entry text set.

2016-12-08 Thread JEONGHYUN YUN
woohyun pushed a commit to branch master.

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

commit 8784ba97ad2adea5b3709e35c90da56ad9a6d702
Author: JEONGHYUN YUN 
Date:   Fri Dec 9 11:33:26 2016 +0900

elm_entry: Init cursor position when entry text set.

Summary: Cursor position should be initialized because entry will be 
cleared when entry text set.

Reviewers: woohyun, id213sin

Reviewed By: id213sin

Subscribers: cedric, jpeg

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

diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index 812b140..dd71ffc 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3220,6 +3220,8 @@ _elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data 
*sd, const char *part, co
  }
 
/* Need to clear the entry first */
+   sd->cursor_pos = edje_object_part_text_cursor_pos_get
+   (sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN);
edje_object_part_text_set(sd->entry_edje, "elm.text", "");
_entry_text_append(obj, entry, EINA_TRUE);
 

-- 




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

2016-12-08 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 17b2f8efaedbd259689abdf2af5e47861cd4f38c
Author: Simon 
Date:   Thu Dec 8 18:18:35 2016 -0800

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

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index 5468809..1a8aeea 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -5,7 +5,7 @@ elm_v = In efl
 emotion_generic_players_v = In efl
 evas_generic_loaders_v= In efl
 
-enlightenment_v   = 0.21.4
+enlightenment_v   = 0.21.5
 terminology_v = 0.9.1
 rage_v= 0.2.1
 econnman_v= 1.1

-- 




[EGIT] [website/www-content] master 01/01: Wiki page start-release changed with summary [] by Simon

2016-12-08 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 1eb210fe0a488e0f724a6d47a378ca9191e78fb0
Author: Simon 
Date:   Thu Dec 8 18:17:38 2016 -0800

Wiki page start-release changed with summary [] by Simon
---
 pages/start-release.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/start-release.txt b/pages/start-release.txt
index ff0a9a4..edcf135 100644
--- a/pages/start-release.txt
+++ b/pages/start-release.txt
@@ -1,3 +1,3 @@
 
-EFL 1.18.4 and Enlightenment 0.21.4 are out - go to our [[download]] page.
+EFL 1.18.4 and Enlightenment 0.21.5 are out - go to our [[download]] page.
 

-- 




[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.5-release changed with summary [created] by Simon

2016-12-08 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 576f9fa175fad912f006619d1c78fd946edacca7
Author: Simon 
Date:   Thu Dec 8 18:17:24 2016 -0800

Wiki page e-0.21.5-release changed with summary [created] by Simon
---
 pages/news/e-0.21.5-release.txt | 60 +
 1 file changed, 60 insertions(+)

diff --git a/pages/news/e-0.21.5-release.txt b/pages/news/e-0.21.5-release.txt
new file mode 100644
index 000..6705916
--- /dev/null
+++ b/pages/news/e-0.21.5-release.txt
@@ -0,0 +1,60 @@
+=== Enlightenment DR 0.21.5 Release ===
+  * //2016-12-09 - by Simon Lees//
+
+This is another bugfix and stability release for the Enlightenment 21 Release 
series. There are notable fixes for long standing ibar regressions in this 
release.
+
+== Tickets Addressed ==
+  * https://phab.enlightenment.org/T4509
+  * https://phab.enlightenment.org/T4524
+  * https://phab.enlightenment.org/T4647
+  * https://phab.enlightenment.org/T4733
+  * https://phab.enlightenment.org/T4830
+
+
+== Changes ==
+Carsten Haitzler (1):
+  * e_util_defer_object_del - ensure order of deferred deletions are right
+
+Christopher Michael (1):
+  * remove unused variables in e_comp_wl
+
+Derek Foreman (5):
+  * Fix keyboard tracking when leaving an xdg shell window
+  * Fix crash when exiting an xdg shell application
+  * More aggressively prune keyboard focus list
+  * Stop sending key up/down events on focus change under wayland
+  * test dmabuf pixmaps properly
+
+Mike Blumenkrantz (10):
+  * handle xdg-shell maximize/unmaximize calls correctly
+  * stack subsurfaces above their parents upon creation
+  * use more accurate determination for applying xdg-shell (un)maximize 
operations
+  * do not pop pointer types on client hide events if the client is pass_events
+  * set wl pointer surfaces to E_LAYER_CLIENT_PRIO during setup
+  * attempt to re-set wl surface pointer when popping back to "default" 
pointer type
+  * fix internal wl windows to exit when border X is clicked
+  * use better check for getting wl surface alpha from cursor pixmaps
+  * revert all sizing commits to ibar/ibox for the past year
+  * maintain "empty" object's size hints when ibar/ibox resizes
+
+== Download ==
+
+^ ** LINK ** ^ ** SHA256 ** ^
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.5.tar.gz
 | Enlightenment DR 0.21.5 GZIP]]| 
''03dc3fc3b7f835cafba0f69c89944ec809ddc50e79a26774dd88ff5c1c38e80d'' |
+| [[ 
http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-0.21.5.tar.xz
 | Enlightenment DR 0.21.5 XZ]]  | 
''f0745a660f70851c4ada9866b2a525185bfc5cd1685aa86e4cdb68f2c1c154bb'' |
+
+//More often then not.//
+
+== Building and Dependencies ==
+
+If you have an existing EFL or Elementary install, you may wish to delete its 
header files and libraries before compiling and installing to avoid possible 
conflicts during compilation. Please compile the dependencies in the following 
order (click for README):
+
+  - [[https://git.enlightenment.org/core/efl.git/tree/README  *   *   *| 
EFL]]
+
+**Note:** E21 depends on EFL **v1.17** or newer for X11 compositing although  
v1.18 is recommended and v1.18 is required for Wayland support.
+
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~
+
+
+

-- 




Re: [E-devel] [EGIT] [core/efl] master 03/05: eina: Reinstall magic checks on Eina_File

2016-12-08 Thread Jean-Philippe André
Hi Stefan,

On 8 December 2016 at 19:36, Stefan Schmidt  wrote:

> Hello.
>
> On 08/12/16 08:51, Jean-Philippe ANDRÉ wrote:
> > jpeg pushed a commit to branch master.
> >
> > http://git.enlightenment.org/core/efl.git/commit/?id=
> 208e152bafca9165d3dfccb99d96a4308a663ade
> >
> > commit 208e152bafca9165d3dfccb99d96a4308a663ade
> > Author: Jean-Philippe Andre 
> > Date:   Thu Dec 8 15:49:03 2016 +0900
> >
> > eina: Reinstall magic checks on Eina_File
> >
> > file != NULL does not mean it's valid. Since Eina_File is
> > a basic eina type a magic check is still better than nothing.
> > It can avoid doing eina_file_dup() on a closed file for instance.
> >
> > This "fixes" a crash in eina_file_close with invalid files.
> >
> > Now I can go hunt the root cause...
>
> Git bisect points me to this commit when bisecting a new failure in the
> eina test suite. It fails in eina_file_virtual.
>
> JP, would be great if you could have a look.
>

Fixed, thanks for the notice.

-- 
Jean-Philippe André
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [website/www-content] master 01/01: Wiki page e-0.21.4-release changed with summary [] by Simon

2016-12-08 Thread Simon
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit fa15abb33b8a9d1335fd246e16d9cee830395b6b
Author: Simon 
Date:   Thu Dec 8 18:11:42 2016 -0800

Wiki page e-0.21.4-release changed with summary [] by Simon
---
 pages/news/e-0.21.4-release.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/news/e-0.21.4-release.txt b/pages/news/e-0.21.4-release.txt
index 62b6aa9..07ef67e 100644
--- a/pages/news/e-0.21.4-release.txt
+++ b/pages/news/e-0.21.4-release.txt
@@ -1,4 +1,4 @@
-Enlightenment DR 0.21.4 Release
+=== Enlightenment DR 0.21.4 Release ===
   * //2016-11-30 - by Simon Lees//
 
 This is another bugfix and stability release for the Enlightenment 21 Release 
series. It addresses a number of issues as listed below. While there has been 
many changes since the last release most changes are related to bryce and 
wayland as such they won't affect most users

-- 




[EGIT] [core/efl] master 01/01: eina: Set magic number in eina_file_virtualize

2016-12-08 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 509cce5e433a9e524be276b7b89fb12fae666bff
Author: Jean-Philippe Andre 
Date:   Fri Dec 9 11:05:48 2016 +0900

eina: Set magic number in eina_file_virtualize

This fixes make check
---
 src/lib/eina/eina_file_common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eina/eina_file_common.c b/src/lib/eina/eina_file_common.c
index 8914cb1..2c5eeb1 100644
--- a/src/lib/eina/eina_file_common.c
+++ b/src/lib/eina/eina_file_common.c
@@ -419,6 +419,7 @@ eina_file_virtualize(const char *virtual_name, const void 
*data, unsigned long l
if (!file) return NULL;
 
memset(file, 0, sizeof(Eina_File));
+   EINA_MAGIC_SET(file, EINA_FILE_MAGIC);
file->filename = (char*) (file + 1);
if (virtual_name)
  strcpy((char*) file->filename, virtual_name);

-- 




[EGIT] [core/efl] master 01/01: evas: Fix compilation after @cedric's "fix"

2016-12-08 Thread Jean-Philippe ANDRÉ
jpeg pushed a commit to branch master.

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

commit 68e6e46015ebd3b52fd360e532a635e133a364bf
Author: Jean-Philippe Andre 
Date:   Fri Dec 9 10:48:35 2016 +0900

evas: Fix compilation after @cedric's "fix"

Don't forget git add!
---
 src/Makefile_Evas.am   |  3 +
 .../engines/gl_generic/Evas_Engine_GL_Shared.h | 80 ++
 .../software_generic/Evas_Engine_Software_Shared.h | 15 
 3 files changed, 98 insertions(+)

diff --git a/src/Makefile_Evas.am b/src/Makefile_Evas.am
index 0bbe6a6..8b8186b 100644
--- a/src/Makefile_Evas.am
+++ b/src/Makefile_Evas.am
@@ -636,6 +636,7 @@ if EVAS_STATIC_BUILD_SOFTWARE_GENERIC
 lib_evas_libevas_la_SOURCES += \
 modules/evas/engines/software_generic/evas_engine.c \
 modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h \
+modules/evas/engines/software_generic/Evas_Engine_Software_Shared.h \
 modules/evas/engines/software_generic/evas_native_tbm.c \
 modules/evas/engines/software_generic/evas_native_dmabuf.c \
 modules/evas/engines/software_generic/evas_ector_software_buffer.c \
@@ -654,6 +655,7 @@ $(install_enginesoftwaregenericpkgLTLIBRARIES): 
install-libLTLIBRARIES
 modules_evas_engines_software_generic_module_la_SOURCES = \
 modules/evas/engines/software_generic/evas_engine.c \
 modules/evas/engines/software_generic/Evas_Engine_Software_Generic.h \
+modules/evas/engines/software_generic/Evas_Engine_Software_Shared.h \
 modules/evas/engines/software_generic/evas_native_tbm.c \
 modules/evas/engines/software_generic/evas_native_dmabuf.c \
 modules/evas/engines/software_generic/evas_ector_software_buffer.c \
@@ -827,6 +829,7 @@ modules/evas/engines/gl_common/evas_gl_3d_shader.c: 
modules/evas/engines/gl_comm
 GL_GENERIC_SOURCES = \
 modules/evas/engines/gl_generic/evas_engine.c \
 modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h \
+modules/evas/engines/gl_generic/Evas_Engine_GL_Shared.h \
 modules/evas/engines/gl_generic/evas_ector_gl_buffer.c \
 modules/evas/engines/gl_generic/evas_ector_gl_image_buffer.c \
 modules/evas/engines/gl_generic/evas_ector_gl_rgbaimage_buffer.c \
diff --git a/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Shared.h 
b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Shared.h
new file mode 100644
index 000..90b7a1d
--- /dev/null
+++ b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Shared.h
@@ -0,0 +1,80 @@
+#ifndef EVAS_ENGINE_GL_SHARED_H
+#define EVAS_ENGINE_GL_SHARED_H
+
+#include "../software_generic/Evas_Engine_Software_Shared.h"
+
+typedef enum _Evas_Engine_Info_Gl_Swap_Mode
+{
+   EVAS_ENGINE_GL_SWAP_MODE_AUTO = 0,
+   EVAS_ENGINE_GL_SWAP_MODE_FULL = 1,
+   EVAS_ENGINE_GL_SWAP_MODE_COPY = 2,
+   EVAS_ENGINE_GL_SWAP_MODE_DOUBLE = 3,
+   EVAS_ENGINE_GL_SWAP_MODE_TRIPLE = 4,
+   EVAS_ENGINE_GL_SWAP_MODE_QUADRUPLE = 5
+} Evas_Engine_Info_Gl_Swap_Mode;
+
+static inline Render_Engine_Swap_Mode
+evas_render_engine_gl_swap_mode_get(Evas_Engine_Info_Gl_Swap_Mode 
info_swap_mode)
+{
+   Render_Engine_Swap_Mode swap_mode = MODE_FULL;
+   const char *s;
+
+   s = getenv("EVAS_GL_SWAP_MODE");
+   if (s)
+ {
+if ((!strcasecmp(s, "full")) || (!strcasecmp(s, "f")))
+  swap_mode = MODE_FULL;
+else if ((!strcasecmp(s, "copy")) || (!strcasecmp(s, "c")))
+  swap_mode = MODE_COPY;
+else if ((!strcasecmp(s, "double")) ||
+ (!strcasecmp(s, "d")) || (!strcasecmp(s, "2")))
+  swap_mode = MODE_DOUBLE;
+else if ((!strcasecmp(s, "triple")) ||
+ (!strcasecmp(s, "t")) || (!strcasecmp(s, "3")))
+  swap_mode = MODE_TRIPLE;
+else if ((!strcasecmp(s, "quadruple")) ||
+ (!strcasecmp(s, "q")) || (!strcasecmp(s, "4")))
+  swap_mode = MODE_QUADRUPLE;
+ }
+   else
+ {
+// in most gl implementations - egl and glx here that we care about the TEND
+// to either swap or copy backbuffer and front buffer, but strictly that is
+// not true. technically backbuffer content is totally undefined after a swap
+// and thus you MUST re-render all of it, thus MODE_FULL
+swap_mode = MODE_FULL;
+// BUT... reality is that lmost every implementation copies or swaps so
+// triple buffer mode can be used as it is a superset of double buffer and
+// copy (though using those explicitly is more efficient). so let's play with
+// triple buffer mdoe as a default and see.
+//re->mode = MODE_TRIPLE;
+// XXX: note - the above seems to break on some older intel chipsets and
+// drivers. it seems we CANT depend on backbuffer staying around. bugger!
+switch (info_swap_mode)
+  {
+   case EVAS_ENGINE_GL_SWAP_MODE_FULL:
+ swap_mode = MODE_FULL;
+ break;
+   case EVAS_ENGINE_GL_SWAP_MODE_COPY:
+ swap_mode = MODE_COPY;
+ break;
+   case 

Re: [E-devel] [EGIT] [core/efl] master 01/01: elementary: atspi accepts UTF-8 text

2016-12-08 Thread Kim Shinwoo
Hello.
The plain_text returned by evas_textblock_text_markup_to_utf8 was not used
yet all. Issue is that...
If an widget has name "on", then the plain_text will be "on". That is
one of problem.

Sincerely,
Shinwoo Kim

2016. 12. 8. 오후 11:27에 "Tom Hacohen" 님이 작성:

Based on your commit message, your change looks wrong. Atspi accepts
utf-8 not markup, it should be passed utf-8 without the markup.

I think the code that was there was correct, but furthermore, this code
was just recently put there to fix an issue, so please speak to whoever
added it.

Also, please elaborate more in the commit message, it's lacking.

Thanks!

--
Tom

On 08/12/16 14:22, Shinwoo Kim wrote:
> kimcinoo pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=
4a8d37195f19c8435c33721fb3fd994783b6a351
>
> commit 4a8d37195f19c8435c33721fb3fd994783b6a351
> Author: Shinwoo Kim 
> Date:   Thu Dec 8 23:21:35 2016 +0900
>
> elementary: atspi accepts UTF-8 text
> ---
>  src/lib/elementary/elm_atspi_bridge.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/src/lib/elementary/elm_atspi_bridge.c
b/src/lib/elementary/elm_atspi_bridge.c
> index 237b47c..7d004cd 100644
> --- a/src/lib/elementary/elm_atspi_bridge.c
> +++ b/src/lib/elementary/elm_atspi_bridge.c
> @@ -2078,9 +2078,7 @@ _accessible_property_get(const
Eldbus_Service_Interface *interface, const char *
>  ret = elm_interface_atspi_accessible_name_get(obj);
>  if (!ret)
>ret = "";
> -char *plain_text = evas_textblock_text_markup_to_utf8(NULL, ret);
>  eldbus_message_iter_basic_append(iter, 's', ret);
> -free(plain_text);
>  return EINA_TRUE;
>   }
> else if (!strcmp(property, "Description"))
>



--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas: refactor swap mode info get.

2016-12-08 Thread Cedric BAIL
cedric pushed a commit to branch master.

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

commit 7316bda15096841ef3564647b92304736d5387f3
Author: Cedric Bail 
Date:   Thu Dec 8 15:04:11 2016 -0800

evas: refactor swap mode info get.
---
 src/modules/evas/engines/eglfs/Evas_Engine_Eglfs.h | 12 +---
 src/modules/evas/engines/eglfs/evas_engine.c   | 65 +---
 .../evas/engines/gl_drm/Evas_Engine_GL_Drm.h   | 16 ++---
 src/modules/evas/engines/gl_drm/evas_engine.c  | 67 +---
 .../engines/gl_generic/Evas_Engine_GL_Generic.h|  2 +
 .../evas/engines/gl_x11/Evas_Engine_GL_X11.h   | 14 +
 src/modules/evas/engines/gl_x11/evas_engine.c  | 71 +-
 .../Evas_Engine_Software_Generic.h | 12 +---
 8 files changed, 18 insertions(+), 241 deletions(-)

diff --git a/src/modules/evas/engines/eglfs/Evas_Engine_Eglfs.h 
b/src/modules/evas/engines/eglfs/Evas_Engine_Eglfs.h
index 7472c7b..abbc18a 100644
--- a/src/modules/evas/engines/eglfs/Evas_Engine_Eglfs.h
+++ b/src/modules/evas/engines/eglfs/Evas_Engine_Eglfs.h
@@ -1,15 +1,7 @@
 #ifndef _EVAS_ENGINE_EGLFS_H
 # define _EVAS_ENGINE_EGLFS_H
 
-typedef enum _Evas_Engine_Info_Eglfs_Swap_Mode
-{
-   EVAS_ENGINE_EGLFS_SWAP_MODE_AUTO = 0,
-   EVAS_ENGINE_EGLFS_SWAP_MODE_FULL = 1,
-   EVAS_ENGINE_EGLFS_SWAP_MODE_COPY = 2,
-   EVAS_ENGINE_EGLFS_SWAP_MODE_DOUBLE = 3,
-   EVAS_ENGINE_EGLFS_SWAP_MODE_TRIPLE = 4,
-   EVAS_ENGINE_EGLFS_SWAP_MODE_QUADRUPLE = 5
-} Evas_Engine_Info_Eglfs_Swap_Mode;
+#include "../gl_generic/Evas_Engine_GL_Shared.h"
 
 typedef struct _Evas_Engine_Info_Eglfs Evas_Engine_Info_Eglfs;
 
@@ -28,7 +20,7 @@ struct _Evas_Engine_Info_Eglfs
 Eina_Bool destination_alpha : 1;
 Eina_Bool vsync : 1;
 Eina_Bool indirect : 1;
-unsigned char swap_mode : 4;
+Evas_Engine_Info_Gl_Swap_Mode swap_mode : 4;
  } info;
 
struct
diff --git a/src/modules/evas/engines/eglfs/evas_engine.c 
b/src/modules/evas/engines/eglfs/evas_engine.c
index d4eb3de..3e5b7ee 100644
--- a/src/modules/evas/engines/eglfs/evas_engine.c
+++ b/src/modules/evas/engines/eglfs/evas_engine.c
@@ -690,69 +690,6 @@ eng_info_free(Evas *eo_e EINA_UNUSED, void *in)
  free(info);
 }
 
-static Render_Engine_Swap_Mode
-_eng_swapmode_get(void)
-{
-   Render_Engine_Swap_Mode swap_mode = MODE_FULL;
-   const char *s = NULL;
-
-   s = getenv("EVAS_GL_SWAP_MODE");
-   if (s)
- {
-if ((!strcasecmp(s, "full")) || (!strcasecmp(s, "f")))
-  swap_mode = MODE_FULL;
-else if ((!strcasecmp(s, "copy")) || (!strcasecmp(s, "c")))
-  swap_mode = MODE_COPY;
-else if ((!strcasecmp(s, "double")) ||
- (!strcasecmp(s, "d")) || (!strcasecmp(s, "2")))
-  swap_mode = MODE_DOUBLE;
-else if ((!strcasecmp(s, "triple")) ||
- (!strcasecmp(s, "t")) || (!strcasecmp(s, "3")))
-  swap_mode = MODE_TRIPLE;
-else if ((!strcasecmp(s, "quadruple")) ||
- (!strcasecmp(s, "q")) || (!strcasecmp(s, "4")))
-  swap_mode = MODE_QUADRUPLE;
- }
-   else
- {
-// in most gl implementations - egl and glx here that we care about the TEND
-// to either swap or copy backbuffer and front buffer, but strictly that is
-// not true. technically backbuffer content is totally undefined after a swap
-// and thus you MUST re-render all of it, thus MODE_FULL
-swap_mode = MODE_FULL;
-// BUT... reality is that lmost every implementation copies or swaps so
-// triple buffer mode can be used as it is a superset of double buffer and
-// copy (though using those explicitly is more efficient). so let's play with
-// triple buffer mdoe as a default and see.
-//re->mode = MODE_TRIPLE;
-// XXX: note - the above seems to break on some older intel chipsets and
-// drivers. it seems we CANT depend on backbuffer staying around. bugger!
-switch (info->info.swap_mode)
-  {
-   case EVAS_ENGINE_EGLFS_SWAP_MODE_FULL:
- swap_mode = MODE_FULL;
- break;
-   case EVAS_ENGINE_EGLFS_SWAP_MODE_COPY:
- swap_mode = MODE_COPY;
- break;
-   case EVAS_ENGINE_EGLFS_SWAP_MODE_DOUBLE:
- swap_mode = MODE_DOUBLE;
- break;
-   case EVAS_ENGINE_EGLFS_SWAP_MODE_TRIPLE:
- swap_mode = MODE_TRIPLE;
- break;
-   case EVAS_ENGINE_EGLFS_SWAP_MODE_QUADRUPLE:
- swap_mode = MODE_QUADRUPLE;
- break;
-   default:
- swap_mode = MODE_AUTO;
- break;
-  }
- }
-
-   return swap_mode;
-}
-
 static void *
 eng_setup(void *in, unsigned int w, unsigned int h)
 {
@@ -762,7 +699,7 @@ eng_setup(void *in, unsigned int w, unsigned int h)
Render_Engine_Merge_Mode merge_mode = MERGE_BOUNDING;
Render_Engine_Swap_Mode swap_mode;
 
-   swap_mode = 

Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Romain Naour
Hi Stefan,

Le 08/12/2016 à 11:01, Stefan Schmidt a écrit :
> Hello.
> 
> On 07/12/16 23:07, Jean Guyomarc'h wrote:
>> Hi Stefan,
>>
>> 1.18.4 is ready to roll on macOS :)
> 
> Thanks.
> 
> Also let me underline that I'm very happy with such quick and short 
> feedback on the pre-release tarballs.

Well, most of the time I don't have the time to test the pre-release tarballs
but at least the efl Buildroot package is updated some days after the release.

Patch sent today [1] and applied while writing this email [2] :)

[1] http://patchwork.ozlabs.org/patch/704245/
[2]
https://git.buildroot.net/buildroot/commit/?id=a27f8c80462b3f28b741b5d3a57f3346a2321252

Best regards,
Romain

> 
> regards
> Stefan Schmidt
> 
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: gl_drm: Query eglGetProcAddress with dlsym

2016-12-08 Thread Derek Foreman
On 07/12/16 08:27 PM, Jean-Philippe André wrote:
> Hey Derek,
>
> On 8 December 2016 at 07:41, Derek Foreman  wrote:
>>
>> commit cef41ae70a1c11565e1016debf6ce24ca259498d
>> Author: Derek Foreman 
>> Date:   Wed Dec 7 16:39:17 2016 -0600
>>
>> gl_drm: Query eglGetProcAddress with dlsym
>>
>> eglGetProcAddress should be queried with dlsym unconditionally.  What
>> we
>> had could query it with other extended forms of eglGetProcAddress,
>> which
>> is probably not what anyone wants.
>>
>> Also, throwing away the weird extended forms because there's a good
>> chance
>> our other gl bits don't run on any stacks that don't support normal
>> eglGetProcAddress.
>>
>>
> As you know eglGetProcAddress may not return NULL even if the extension is
> not supported.

Yes, apparently there are some gl stacks where it returns non-NULL for 
eglGetProcAddress("Lol what were we smoking");

> We should refactor the whole thing to check the extensions string (after
> using a valid client context) before even calling eglGetProcAddress. That
> would avoid extra flags like in your other patch "gl_drm: Only use dmabuf
> if the extension is present".

Well that still won't go away because we need eglCreateImage() for more 
than one extension.  We need extra flags because eglGetProcAddress() 
doesn't query extensions, it queries functions.

I agree completely that this should be refactored in some way though, 
because right now it's a serious mess.

> Best regards,
>


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: evas: refactor setup stage and reduce complexity for engine.

2016-12-08 Thread Jean Guyomarc'h
Oh my... I had a bad feeling when reading the commit message...


Jean

On Thu, Dec 8, 2016 at 8:43 AM, Vincent Torri 
wrote:

> i confirm this, the 2 windows engines are broken
>
> On Thu, Dec 8, 2016 at 3:46 AM, Jean-Philippe André 
> wrote:
> > Cedric,
> >
> > Please at least compile your code before pushing it.
> > gl_drm is badly broken. I wouldn't be surprised if cocoa and windows
> > engines are also broken now.
> >
> >
> > On 8 December 2016 at 08:48, Cedric BAIL  wrote:
> >
> >> cedric pushed a commit to branch master.
> >>
> >> http://git.enlightenment.org/core/efl.git/commit/?id=
> >> 73b308fb66f871b93ef8e324997872e3bf175906
> >>
> >> commit 73b308fb66f871b93ef8e324997872e3bf175906
> >> Author: Cedric BAIL 
> >> Date:   Fri Dec 2 15:30:02 2016 -0800
> >>
> >> evas: refactor setup stage and reduce complexity for engine.
> >> ---
> >>  src/lib/evas/canvas/evas_main.c|  38 ++-
> >>  src/lib/evas/include/evas_private.h|   3 +-
> >>  src/modules/evas/engines/buffer/evas_engine.c  |  47 ++-
> >>  src/modules/evas/engines/drm/evas_engine.c |  50 ++--
> >>  src/modules/evas/engines/eglfs/evas_engine.c   | 236
> +++
> >>  src/modules/evas/engines/fb/evas_engine.c  |  30 +-
> >>  src/modules/evas/engines/gl_cocoa/evas_engine.c| 135 -
> >>  src/modules/evas/engines/gl_drm/evas_engine.c  | 279
> >> -
> >>  src/modules/evas/engines/gl_drm/evas_engine.h  |   2 -
> >>  src/modules/evas/engines/gl_sdl/evas_engine.c  |  25 +-
> >>  src/modules/evas/engines/gl_x11/evas_engine.c  | 332
> >> ++---
> >>  src/modules/evas/engines/gl_x11/evas_engine.h  |   6 +-
> >>  src/modules/evas/engines/gl_x11/evas_x_main.c  |  24 +-
> >>  src/modules/evas/engines/psl1ght/evas_engine.c |  19 +-
> >>  .../evas/engines/software_ddraw/evas_engine.c  |  48 +--
> >>  .../evas/engines/software_gdi/evas_engine.c|  76 +++--
> >>  .../evas/engines/software_generic/evas_engine.c|   3 +-
> >>  .../evas/engines/software_x11/evas_engine.c| 198 ++--
> >>  src/modules/evas/engines/wayland_egl/evas_engine.c | 286
> >> +-
> >>  src/modules/evas/engines/wayland_shm/evas_engine.c |  64 ++--
> >>  20 files changed, 879 insertions(+), 1022 deletions(-)
> >>
> >> diff --git a/src/lib/evas/canvas/evas_main.c
> b/src/lib/evas/canvas/evas_
> >> main.c
> >> index 269d329..b499dcf 100644
> >> --- a/src/lib/evas/canvas/evas_main.c
> >> +++ b/src/lib/evas/canvas/evas_main.c
> >> @@ -420,22 +420,44 @@ _evas_canvas_engine_info_get(Eo *eo_e
> EINA_UNUSED,
> >> Evas_Public_Data *e)
> >>  }
> >>
> >>  EOLIAN static Eina_Bool
> >> -_evas_canvas_engine_info_set(Eo *eo_e, Evas_Public_Data *e,
> >> Evas_Engine_Info *info)
> >> +_evas_canvas_engine_info_set(Eo *eo_e EINA_UNUSED, Evas_Public_Data
> *e,
> >> Evas_Engine_Info *info)
> >>  {
> >> -   Eina_Bool res;
> >> -
> >> if (!info) return EINA_FALSE;
> >> if (info != e->engine.info) return EINA_FALSE;
> >> if (info->magic != e->engine.info_magic) return EINA_FALSE;
> >>
> >> evas_canvas_async_block(e);
> >> -   if (!e->common_init)
> >> +
> >> +   if (e->engine.data.output)
> >>   {
> >> -e->common_init = 1;
> >> -evas_common_init();
> >> +if (e->engine.func->update)
> >> +  {
> >> + e->engine.func->update(e->engine.data.output, info,
> >> e->output.w, e->output.h);
> >> +  }
> >> +else
> >> +  {
> >> + // For engine who do not provide an update function
> >> + e->engine.func->output_free(e->engine.data.output);
> >> +
> >> + goto setup;
> >> +  }
> >>   }
> >> -   res = e->engine.func->setup(eo_e, info);
> >> -   return res;
> >> +   else
> >> + {
> >> +if (!e->common_init)
> >> +  {
> >> + e->common_init = 1;
> >> + evas_common_init();
> >> +  }
> >> +
> >> + setup:
> >> +e->engine.data.output = e->engine.func->setup(info,
> e->output.w,
> >> e->output.h);
> >> + }
> >> +
> >> +   if (!e->engine.data.context)
> >> + e->engine.data.context = e->engine.func->context_new(e-
> >> >engine.data.output);
> >> +
> >> +   return !!e->engine.data.output;
> >>  }
> >>
> >>  EOLIAN static Evas_Coord
> >> diff --git a/src/lib/evas/include/evas_private.h
> >> b/src/lib/evas/include/evas_private.h
> >> index 26ea5c5..d5645fc 100644
> >> --- a/src/lib/evas/include/evas_private.h
> >> +++ b/src/lib/evas/include/evas_private.h
> >> @@ -1339,7 +1339,8 @@ struct _Evas_Func
> >>  {
> >> void *(*info)   (Evas *e);
> >> void (*info_free)   (Evas *e, void *info);
> >> -   int  (*setup)   (Evas *e, void *info);
> >> +   void *(*setup)  (void *info, 

[EGIT] [core/efl] master 01/01: evas-gl_cocoa: fix complete b0rkage of the engine

2016-12-08 Thread Jean Guyomarc'h
jayji pushed a commit to branch master.

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

commit 42a722be23e91301cc269f2abb10d4e407bf444a
Author: Jean Guyomarc'h 
Date:   Thu Dec 8 20:50:27 2016 +0100

evas-gl_cocoa: fix complete b0rkage of the engine

73b308fb66f871b93ef8e324997872e3bf175906 slaughtered the gl_cocoa
engine. It's now back to life, lighter and shinier.
---
 src/modules/evas/engines/gl_cocoa/evas_engine.c | 15 ++-
 src/modules/evas/engines/gl_cocoa/evas_engine.h |  1 -
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.c 
b/src/modules/evas/engines/gl_cocoa/evas_engine.c
index 616525c..6b480e6 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_engine.c
+++ b/src/modules/evas/engines/gl_cocoa/evas_engine.c
@@ -149,7 +149,7 @@ eng_info_free(Evas *e EINA_UNUSED, void *info)
 }
 
 static void *
-eng_setup(void *in, unsigned int w, unsinged int h)
+eng_setup(void *in, unsigned int w, unsigned int h)
 {
Evas_Engine_Info_GL_Cocoa *const info = in;
Render_Engine *re;
@@ -178,7 +178,6 @@ eng_setup(void *in, unsigned int w, unsinged int h)
 goto err;
  }
 
-   ob->evas = evas;
info->view = ob->ns_gl_view;
 
chk = evas_render_engine_gl_generic_init(>generic, ob,
@@ -210,15 +209,21 @@ eng_setup(void *in, unsigned int w, unsinged int h)
_gl_wins++;
 
evas_outbuf_use(re->win);
+   return re;
 
+err:
+   free(re);
return NULL;
 }
 
 static int
-eng_update(void *data, void *info, unsigned int w, unsigned int h)
+eng_update(void *data EINA_UNUSED,
+   void *info EINA_UNUSED,
+   unsigned int  wEINA_UNUSED,
+   unsigned int  hEINA_UNUSED)
 {
-   Evas_Engine_Info_GL_Cocoa *const info = in;
-   Render_Engine *re = data;
+   //Evas_Engine_Info_GL_Cocoa *const info = info;
+   //Render_Engine *re = data;
 
CRI("ALREADY A DATA OUTPUT. THIS PART IS NOT IMPLEMENTED YET. PLEASE 
REPORT.");
return 0;
diff --git a/src/modules/evas/engines/gl_cocoa/evas_engine.h 
b/src/modules/evas/engines/gl_cocoa/evas_engine.h
index 855e125..2af2d6a 100644
--- a/src/modules/evas/engines/gl_cocoa/evas_engine.h
+++ b/src/modules/evas/engines/gl_cocoa/evas_engine.h
@@ -58,7 +58,6 @@ struct _Outbuf
 {
Evas_Engine_Info_GL_Cocoa *info;
Evas_Engine_GL_Context *gl_context;
-   Evas *evas;
 
void *ns_gl_view; // NSOpenGLView*
void *ns_window;  // NSWindow*

-- 




[EGIT] [core/efl] master 01/02: ecore-wl2: Minor formatting fix

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit b66324644c3466bfd58df10631fb82f9a1d4815f
Author: Chris Michael 
Date:   Thu Dec 8 11:42:20 2016 -0500

ecore-wl2: Minor formatting fix

NB: No functional changes

Signed-off-by: Chris Michael 
---
 src/lib/ecore_wl2/ecore_wl2_input.c | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c 
b/src/lib/ecore_wl2/ecore_wl2_input.c
index c6a5ae8..4e24d1f 100644
--- a/src/lib/ecore_wl2/ecore_wl2_input.c
+++ b/src/lib/ecore_wl2/ecore_wl2_input.c
@@ -1472,12 +1472,13 @@ _ecore_wl2_input_add(Ecore_Wl2_Display *display, 
unsigned int id, unsigned int v
 input->wl.seat);
wl_data_device_add_listener(input->data.device, &_data_listener, input);
 
-   input->dev_add_handler = ecore_event_handler_add(
-  ECORE_WL2_EVENT_DEVICE_ADDED, _ecore_evas_wl_common_cb_device_event,
-  input);
-   input->dev_remove_handler = ecore_event_handler_add(
-  ECORE_WL2_EVENT_DEVICE_REMOVED, _ecore_evas_wl_common_cb_device_event,
-  input);
+   input->dev_add_handler =
+ ecore_event_handler_add(ECORE_WL2_EVENT_DEVICE_ADDED,
+ _ecore_evas_wl_common_cb_device_event, input);
+
+   input->dev_remove_handler =
+ ecore_event_handler_add(ECORE_WL2_EVENT_DEVICE_REMOVED,
+ _ecore_evas_wl_common_cb_device_event, input);
 }
 
 void

-- 




[EGIT] [core/efl] master 02/02: elput: Improve checks for keyboard & pointer devices

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 8ebf4cd972674406b1fbfc497617996f1d7f4462
Author: Chris Michael 
Date:   Thu Dec 8 14:30:41 2016 -0500

elput: Improve checks for keyboard & pointer devices

Some devices reported by libinput show up as both keyboard and mouse,
even tho they are physically only just a keyboard or just a mouse.
When a device gets added, we can verify if it is actually a mouse by
checking if the device has BTN_LEFT (and for keyboards, check
KEY_ENTER). This stops us from getting multiple mouse pointers
reported when we really only have one.

@fix

Signed-off-by: Chris Michael 
---
 src/lib/elput/elput_evdev.c | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c
index 1b0ca1b..d191f49 100644
--- a/src/lib/elput/elput_evdev.c
+++ b/src/lib/elput/elput_evdev.c
@@ -1239,13 +1239,15 @@ _evdev_device_create(Elput_Seat *seat, struct 
libinput_device *device)
edev->seat = seat;
edev->device = device;
 
-   if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_KEYBOARD))
+   if ((libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_KEYBOARD)) 
&&
+   (libinput_device_keyboard_has_key(device, KEY_ENTER)))
  {
 _keyboard_init(seat, seat->manager->cached.keymap);
 edev->caps |= EVDEV_SEAT_KEYBOARD;
  }
  
-   if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_POINTER))
+   if ((libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_POINTER) &&
+   (libinput_device_pointer_has_button(device, BTN_LEFT
  {
 _pointer_init(seat);
 edev->caps |= EVDEV_SEAT_POINTER;

-- 




[EGIT] [core/efl] master 04/06: efl_net_server_ssl: monitor context del and unref on destructor.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 17e0204ab334494e051a52435687390375634e69
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 15:25:11 2016 -0200

efl_net_server_ssl: monitor context del and unref on destructor.

we're leaking ssl_ctx on destruction, also monitor it so we don't
access stale data.
---
 src/lib/ecore_con/efl_net_server_ssl.c | 17 +
 1 file changed, 17 insertions(+)

diff --git a/src/lib/ecore_con/efl_net_server_ssl.c 
b/src/lib/ecore_con/efl_net_server_ssl.c
index 91810ea..1fe34bc 100644
--- a/src/lib/ecore_con/efl_net_server_ssl.c
+++ b/src/lib/ecore_con/efl_net_server_ssl.c
@@ -150,6 +150,14 @@ _efl_net_server_ssl_efl_object_constructor(Eo *o, 
Efl_Net_Server_Ssl_Data *pd)
return o;
 }
 
+static void
+_efl_net_server_ssl_ctx_del(void *data, const Efl_Event *event EINA_UNUSED)
+{
+   Eo *o = data;
+   Efl_Net_Server_Ssl_Data *pd = efl_data_scope_get(o, MY_CLASS);
+   pd->ssl_ctx = NULL;
+}
+
 EOLIAN void
 _efl_net_server_ssl_efl_object_destructor(Eo *o, Efl_Net_Server_Ssl_Data *pd)
 {
@@ -159,6 +167,13 @@ _efl_net_server_ssl_efl_object_destructor(Eo *o, 
Efl_Net_Server_Ssl_Data *pd)
 pd->server = NULL;
  }
 
+   if (pd->ssl_ctx)
+ {
+efl_event_callback_del(pd->ssl_ctx, EFL_EVENT_DEL, 
_efl_net_server_ssl_ctx_del, o);
+efl_unref(pd->ssl_ctx);
+pd->ssl_ctx = NULL;
+ }
+
efl_destructor(efl_super(o, MY_CLASS));
 }
 
@@ -170,6 +185,8 @@ _efl_net_server_ssl_ssl_context_set(Eo *o EINA_UNUSED, 
Efl_Net_Server_Ssl_Data *
if (pd->ssl_ctx == ssl_ctx) return;
efl_unref(pd->ssl_ctx);
pd->ssl_ctx = efl_ref(ssl_ctx);
+   if (ssl_ctx)
+ efl_event_callback_add(ssl_ctx, EFL_EVENT_DEL, 
_efl_net_server_ssl_ctx_del, o);
 }
 
 EOLIAN static Eo *

-- 




[EGIT] [core/efl] master 01/06: eo_lifecycle: on log level info (3), show leaked objects.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 87bed5622eb377cf93935e3cdad6051f3d126d6e
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 15:49:32 2016 -0200

eo_lifecycle: on log level info (3), show leaked objects.

Since we keep a log of created and deleted objects, we can walk the
log and see which were leaked. As this is expensive, do only if log
level is greater than 3 (INFO, DEBUG...), with backtrace of object
creation being displayed as backtrace if running as level 4 (DEBUG).
---
 src/lib/eo/eo.c | 36 
 1 file changed, 36 insertions(+)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index 20cf56d..9cf10d9 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -2844,6 +2844,42 @@ _eo_log_obj_shutdown(void)
unsigned int idx;
 
eina_spinlock_take(&_eo_log_objs_lock);
+   if (eina_log_domain_level_check(_eo_log_objs_dom, EINA_LOG_LEVEL_INFO))
+ {
+void * const *itr = _eo_log_objs.data;
+void * const *itr_end = itr + _eo_log_objs.count;
+double now = _eo_log_time_now();
+size_t leaks = 0;
+
+for (; itr < itr_end; itr++)
+  {
+ const Eo_Log_Obj_Entry *entry = *itr;
+ void * const *cur;
+ if (entry->is_free) continue;
+ for (cur = itr + 1; cur < itr_end; cur++)
+   {
+  const Eo_Log_Obj_Entry *cur_entry = *cur;
+  if (EINA_UNLIKELY((cur_entry->id == entry->id) && 
(cur_entry->is_free)))
+break;
+   }
+ if (EINA_UNLIKELY(cur == itr_end))
+   {
+  EINA_LOG_DOM_INFO(_eo_log_objs_dom,
+"leaking obj_id=%p obj=%p class=%p (%s) 
[%0.4fs, %0.4f ago]",
+(void *)entry->id,
+entry->obj,
+entry->klass,
+entry->klass->desc->name,
+entry->timestamp - _eo_log_time_start, now 
- entry->timestamp);
+  _eo_log_obj_entry_show(entry, EINA_LOG_LEVEL_DBG, 
__FUNCTION__, __FILE__, __LINE__, now);
+  leaks++;
+   }
+  }
+if (leaks)
+  EINA_LOG_DOM_WARN(_eo_log_objs_dom, "Leaked %zd objects! Check 
details with EINA_LOG_LEVELS=eo_lifecycle:4", leaks);
+else
+  EINA_LOG_DOM_INFO(_eo_log_objs_dom, "No leaked objects!");
+ }
EINA_ARRAY_ITER_NEXT(&_eo_log_objs, idx, entry, it)
  _eo_log_obj_entry_free(entry);
eina_array_flush(&_eo_log_objs);

-- 




[EGIT] [core/efl] master 05/06: ecore_con_client_example: allow no-ssl verify and print errors.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit a5dd6aa1132ced47be2b098a4bed26a33c12ba4e
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 14:29:52 2016 -0200

ecore_con_client_example: allow no-ssl verify and print errors.

allow to not verify server certificate or hostname, so we can test
with local, self-signed certificates.

Also print errors, so we can say that the server handshake failed.
---
 src/examples/ecore/ecore_con_client_example.c | 22 +-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/src/examples/ecore/ecore_con_client_example.c 
b/src/examples/ecore/ecore_con_client_example.c
index c0c10e5..7882779 100644
--- a/src/examples/ecore/ecore_con_client_example.c
+++ b/src/examples/ecore/ecore_con_client_example.c
@@ -92,6 +92,13 @@ _write(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Writ
return ECORE_CALLBACK_RENEW;
 }
 
+Eina_Bool
+_error(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Error *ev)
+{
+   printf("Server Error: %s\n", ev->error);
+   return ECORE_CALLBACK_RENEW;
+}
+
 static const char *types_strs[] = {
   "tcp",
   "udp",
@@ -117,6 +124,9 @@ static const Ecore_Getopt options = {
 ECORE_GETOPT_STORE_TRUE('f', "flush", "Force a flush after every send 
call."),
 ECORE_GETOPT_STORE_TRUE('m', "single-message", "Send a single message and 
delete the server."),
 
+ECORE_GETOPT_STORE_FALSE(0, "no-verify", "Do not verify server's 
certificate"),
+ECORE_GETOPT_STORE_FALSE(0, "no-hostname-verify", "Do not Verify server's 
hostname based on its certificate."),
+
 ECORE_GETOPT_VERSION('V', "version"),
 ECORE_GETOPT_COPYRIGHT('C', "copyright"),
 ECORE_GETOPT_LICENSE('L', "license"),
@@ -138,6 +148,8 @@ main(int argc, char *argv[])
int port = -1;
Eina_Bool no_proxy = EINA_FALSE;
Eina_Bool quit_option = EINA_FALSE;
+   Eina_Bool verify = EINA_TRUE;
+   Eina_Bool hostname_verify = EINA_TRUE;
Ecore_Getopt_Value values[] = {
  ECORE_GETOPT_VALUE_STR(type_choice),
  ECORE_GETOPT_VALUE_BOOL(no_proxy),
@@ -145,6 +157,9 @@ main(int argc, char *argv[])
  ECORE_GETOPT_VALUE_BOOL(do_flush),
  ECORE_GETOPT_VALUE_BOOL(single_message),
 
+ ECORE_GETOPT_VALUE_BOOL(verify),
+ ECORE_GETOPT_VALUE_BOOL(hostname_verify),
+
  /* standard block to provide version, copyright, license and help */
  ECORE_GETOPT_VALUE_BOOL(quit_option), /* -V/--version quits */
  ECORE_GETOPT_VALUE_BOOL(quit_option), /* -C/--copyright quits */
@@ -224,7 +239,10 @@ main(int argc, char *argv[])
   }
 
 eina_iterator_free(it);
-ecore_con_ssl_server_verify(svr);
+if (verify)
+  ecore_con_ssl_server_verify(svr);
+if (hostname_verify)
+  ecore_con_ssl_server_verify_basic(svr);
  }
 
 /* set event handler for server connect */
@@ -235,6 +253,8 @@ main(int argc, char *argv[])
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_DATA, 
(Ecore_Event_Handler_Cb)_data, NULL);
 /* set event handler that notifies of sent data */
ecore_event_handler_add(ECORE_CON_EVENT_SERVER_WRITE, 
(Ecore_Event_Handler_Cb)_write, NULL);
+/* set event handler that notifies of errors */
+   ecore_event_handler_add(ECORE_CON_EVENT_SERVER_ERROR, 
(Ecore_Event_Handler_Cb)_error, NULL);
 
ecore_main_fd_handler_add(STDIN_FILENO, ECORE_FD_READ, _on_stdin, NULL, 
NULL, NULL);
 

-- 




[EGIT] [core/efl] master 02/06: efl_net_dialer_ssl: fix copy too much.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit b64df5e323cf633f6888432f24f984e6ebe34ff9
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 12:41:02 2016 -0200

efl_net_dialer_ssl: fix copy too much.
---
 src/lib/ecore_con/efl_net_dialer_ssl.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/lib/ecore_con/efl_net_dialer_ssl.c 
b/src/lib/ecore_con/efl_net_dialer_ssl.c
index e868374..f85274c 100644
--- a/src/lib/ecore_con/efl_net_dialer_ssl.c
+++ b/src/lib/ecore_con/efl_net_dialer_ssl.c
@@ -219,19 +219,19 @@ _efl_net_dialer_ssl_efl_io_closer_close(Eo *o, 
Efl_Net_Dialer_Ssl_Data *pd EINA_
 EOLIAN static Eina_Bool
 _efl_net_dialer_ssl_keep_alive_set(Eo *o EINA_UNUSED, Efl_Net_Dialer_Ssl_Data 
*pd, Eina_Bool keep_alive)
 {
-   return efl_net_dialer_ssl_keep_alive_set(pd->sock, keep_alive);
+   return efl_net_socket_tcp_keep_alive_set(pd->sock, keep_alive);
 }
 
 EOLIAN static Eina_Bool
 _efl_net_dialer_ssl_keep_alive_get(Eo *o EINA_UNUSED, Efl_Net_Dialer_Ssl_Data 
*pd)
 {
-   return efl_net_dialer_ssl_keep_alive_get(pd->sock);
+   return efl_net_socket_tcp_keep_alive_get(pd->sock);
 }
 
 EOLIAN static Eina_Bool
 _efl_net_dialer_ssl_no_delay_set(Eo *o EINA_UNUSED, Efl_Net_Dialer_Ssl_Data 
*pd, Eina_Bool no_delay)
 {
-   return efl_net_dialer_ssl_no_delay_set(pd->sock, no_delay);
+   return efl_net_socket_tcp_no_delay_set(pd->sock, no_delay);
 }
 
 EOLIAN static Eina_Bool

-- 




[EGIT] [core/efl] master 06/06: ecore_con_server_example: show client errors.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 7d1c7cff21476f8156e65d5d31ddc8e7f90f3330
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 15:58:09 2016 -0200

ecore_con_server_example: show client errors.
---
 src/examples/ecore/ecore_con_server_example.c | 10 ++
 1 file changed, 10 insertions(+)

diff --git a/src/examples/ecore/ecore_con_server_example.c 
b/src/examples/ecore/ecore_con_server_example.c
index ddf62e2..aa0fcea 100644
--- a/src/examples/ecore/ecore_con_server_example.c
+++ b/src/examples/ecore/ecore_con_server_example.c
@@ -79,6 +79,14 @@ _write(void *data EINA_UNUSED, int type EINA_UNUSED, void 
*event)
return ECORE_CALLBACK_RENEW;
 }
 
+Eina_Bool
+_error(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
+{
+   Ecore_Con_Event_Client_Error *ev = event;
+   printf("Client %s Error: %s\n", ecore_con_client_ip_get(ev->client), 
ev->error);
+   return ECORE_CALLBACK_RENEW;
+}
+
 static const char *types_strs[] = {
   "tcp",
   "udp",
@@ -226,6 +234,8 @@ main(int argc, char **argv)
ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_DATA, 
(Ecore_Event_Handler_Cb)_data, NULL);
 /* set event handler that notifies of sent data */
ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_WRITE, 
(Ecore_Event_Handler_Cb)_write, NULL);
+/* set event handler that notifies of errors */
+   ecore_event_handler_add(ECORE_CON_EVENT_CLIENT_ERROR, 
(Ecore_Event_Handler_Cb)_error, NULL);
 
 /* start server */
ecore_main_loop_begin();

-- 




[EGIT] [core/efl] master 03/06: efl_net_ssl_context: check and document constructor only properties.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 7c7ea6be066eea8b479cd8583a2c162de6097074
Author: Gustavo Sverzut Barbieri 
Date:   Thu Dec 8 13:00:30 2016 -0200

efl_net_ssl_context: check and document constructor only properties.

The context is shared and thus these lists should be static once
object is created.
---
 src/lib/ecore_con/efl_net_ssl_context.c  |  5 +
 src/lib/ecore_con/efl_net_ssl_context.eo | 25 -
 2 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/src/lib/ecore_con/efl_net_ssl_context.c 
b/src/lib/ecore_con/efl_net_ssl_context.c
index 22c5ad8..5779ff1 100644
--- a/src/lib/ecore_con/efl_net_ssl_context.c
+++ b/src/lib/ecore_con/efl_net_ssl_context.c
@@ -159,6 +159,7 @@ _efl_net_ssl_context_certificates_get(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Dat
 static void
 _efl_net_ssl_context_certificates_set(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Data *pd, Eina_Iterator *it)
 {
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(o));
_efl_net_ssl_context_string_list_free(>certificates);
pd->certificates = _efl_net_ssl_context_string_iter_to_list(it);
 }
@@ -172,6 +173,7 @@ _efl_net_ssl_context_private_keys_get(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Dat
 static void
 _efl_net_ssl_context_private_keys_set(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Data *pd, Eina_Iterator *it)
 {
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(o));
_efl_net_ssl_context_string_list_free(>private_keys);
pd->private_keys = _efl_net_ssl_context_string_iter_to_list(it);
 }
@@ -185,6 +187,7 @@ _efl_net_ssl_context_certificate_revogation_lists_get(Eo *o 
EINA_UNUSED, Efl_Net
 static void
 _efl_net_ssl_context_certificate_revogation_lists_set(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Data *pd, Eina_Iterator *it)
 {
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(o));
_efl_net_ssl_context_string_list_free(>certificate_revogation_lists);
pd->certificate_revogation_lists = 
_efl_net_ssl_context_string_iter_to_list(it);
 }
@@ -198,6 +201,7 @@ _efl_net_ssl_context_certificate_authorities_get(Eo *o 
EINA_UNUSED, Efl_Net_Ssl_
 static void
 _efl_net_ssl_context_certificate_authorities_set(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Data *pd, Eina_Iterator *it)
 {
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(o));
_efl_net_ssl_context_string_list_free(>certificate_authorities);
pd->certificate_authorities = _efl_net_ssl_context_string_iter_to_list(it);
 }
@@ -211,6 +215,7 @@ _efl_net_ssl_context_default_paths_load_get(Eo *o 
EINA_UNUSED, Efl_Net_Ssl_Conte
 static void
 _efl_net_ssl_context_default_paths_load_set(Eo *o EINA_UNUSED, 
Efl_Net_Ssl_Context_Data *pd, Eina_Bool load_defaults)
 {
+   EINA_SAFETY_ON_TRUE_RETURN(efl_finalized_get(o));
pd->load_defaults = load_defaults;
 }
 
diff --git a/src/lib/ecore_con/efl_net_ssl_context.eo 
b/src/lib/ecore_con/efl_net_ssl_context.eo
index 8549cdd..d980843 100644
--- a/src/lib/ecore_con/efl_net_ssl_context.eo
+++ b/src/lib/ecore_con/efl_net_ssl_context.eo
@@ -43,35 +43,50 @@ class Efl.Net.Ssl.Context (Efl.Object) {
 }
 
 @property certificates {
-[[The list of paths to certificates to use.]]
+[[The list of paths to certificates to use.
+
+  Can only be set during object construction!
+]]
 values {
 paths: free(own(iterator), eina_iterator_free); [[Path 
list for certificates]]
 }
 }
 
 @property private_keys {
-[[The list of paths to private keys to use.]]
+[[The list of paths to private keys to use.
+
+  Can only be set during object construction!
+]]
 values {
 paths: free(own(iterator), eina_iterator_free); [[Path 
list for private keys]]
 }
 }
 
 @property certificate_revogation_lists {
-[[The list of paths to CRL (certificate revogation list) to use.]]
+[[The list of paths to CRL (certificate revogation list) to use.
+
+  Can only be set during object construction!
+]]
 values {
 paths: free(own(iterator), eina_iterator_free); [[Path 
list for CRL's]]
 }
 }
 
 @property certificate_authorities {
-[[The list of paths to CA (certificate authoritie) to use.]]
+[[The list of paths to CA (certificate authoritie) to use.
+
+  Can only be set during object construction!
+]]
 values {
 paths: free(own(iterator), eina_iterator_free); [[Path 
list for CA's]]
 }
 }
 
 @property default_paths_load {
-[[If $true, will use system's default certificate storage]]
+[[If $true, will use system's default certificate storage
+
+  Can only 

[EGIT] [core/efl] master 01/01: elm_win: update opaque region on resize when borderless

2016-12-08 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit 3b67f8be4ce3636351176363a6f5d448ee2a9fe8
Author: Mike Blumenkrantz 
Date:   Thu Dec 8 11:36:47 2016 -0500

elm_win: update opaque region on resize when borderless

this fixes broken sizing on borderless windows
---
 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 1dab8de..720a125 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -895,6 +895,8 @@ _elm_win_resize_job(void *data)
 evas_object_move(sd->frame_obj, -fx, -fy);
 evas_object_resize(sd->frame_obj, w + fw, h + fh);
  }
+   else
+ _elm_win_opaque_update(sd, 0);
 
if (sd->main_menu)
  {

-- 




[EGIT] [core/enlightenment] master 01/01: null out animator pointers in efx stop() operations

2016-12-08 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch master.

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

commit f1c70e626f0fc0ea5a1416c43803ff870304f124
Author: Mike Blumenkrantz 
Date:   Thu Dec 8 11:20:45 2016 -0500

null out animator pointers in efx stop() operations
---
 src/bin/efx/efx_fade.c   | 1 +
 src/bin/efx/efx_move.c   | 1 +
 src/bin/efx/efx_resize.c | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/bin/efx/efx_fade.c b/src/bin/efx/efx_fade.c
index 158b689..1b5baf6 100644
--- a/src/bin/efx/efx_fade.c
+++ b/src/bin/efx/efx_fade.c
@@ -105,6 +105,7 @@ _fade_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped faded object %p", obj);
 if (efd->anim) ecore_animator_del(efd->anim);
+efd->anim = NULL;
 if (e_efx_queue_complete(efd->e, efd))
   e_efx_queue_process(efd->e);
  }
diff --git a/src/bin/efx/efx_move.c b/src/bin/efx/efx_move.c
index 0c5e040..9201695 100644
--- a/src/bin/efx/efx_move.c
+++ b/src/bin/efx/efx_move.c
@@ -123,6 +123,7 @@ _move_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped moved object %p", obj);
 if (emd->anim) ecore_animator_del(emd->anim);
+emd->anim = NULL;
 if (e_efx_queue_complete(emd->e, emd))
   e_efx_queue_process(emd->e);
  }
diff --git a/src/bin/efx/efx_resize.c b/src/bin/efx/efx_resize.c
index 33a1a0d..7784763 100644
--- a/src/bin/efx/efx_resize.c
+++ b/src/bin/efx/efx_resize.c
@@ -108,6 +108,7 @@ _resize_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped resized object %p", obj);
 if (erd->anim) ecore_animator_del(erd->anim);
+erd->anim = NULL;
 if (erd->moving)
   {
  erd->moving = 0;

-- 




[EGIT] [core/efl] master 01/01: elua: add bindings to new Eolian APIs

2016-12-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit e8d1ddd86ca6086525ed735023ed4e6ee4234d7d
Author: Daniel Kolesa 
Date:   Thu Dec 8 17:20:22 2016 +0100

elua: add bindings to new Eolian APIs
---
 src/bindings/luajit/eolian.lua | 143 +
 1 file changed, 143 insertions(+)

diff --git a/src/bindings/luajit/eolian.lua b/src/bindings/luajit/eolian.lua
index 8511152..c5e2e79 100644
--- a/src/bindings/luajit/eolian.lua
+++ b/src/bindings/luajit/eolian.lua
@@ -6,6 +6,7 @@ local bit = require("bit")
 
 ffi.cdef [[
 void eina_stringshare_del(const char *str);
+void free(void *ptr);
 ]]
 
 ffi.cdef [[
@@ -184,6 +185,35 @@ ffi.cdef [[
 EOLIAN_DECL_VAR
 } Eolian_Declaration_Type;
 
+typedef enum {
+EOLIAN_DOC_TOKEN_UNKNOWN = -1,
+EOLIAN_DOC_TOKEN_TEXT,
+EOLIAN_DOC_TOKEN_REF,
+EOLIAN_DOC_TOKEN_MARK_NOTE,
+EOLIAN_DOC_TOKEN_MARK_WARNING,
+EOLIAN_DOC_TOKEN_MARK_REMARK,
+EOLIAN_DOC_TOKEN_MARK_TODO,
+EOLIAN_DOC_TOKEN_MARKUP_MONOSPACE
+} Eolian_Doc_Token_Type;
+
+typedef enum {
+EOLIAN_DOC_REF_INVALID = 0,
+EOLIAN_DOC_REF_CLASS,
+EOLIAN_DOC_REF_FUNC,
+EOLIAN_DOC_REF_EVENT,
+EOLIAN_DOC_REF_ALIAS,
+EOLIAN_DOC_REF_STRUCT,
+EOLIAN_DOC_REF_STRUCT_FIELD,
+EOLIAN_DOC_REF_ENUM,
+EOLIAN_DOC_REF_ENUM_FIELD,
+EOLIAN_DOC_REF_VAR
+} Eolian_Doc_Ref_Type;
+
+typedef struct _Eolian_Doc_Token {
+Eolian_Doc_Token_Type type;
+const char *text, *text_end;
+} Eolian_Doc_Token;
+
 Eina_Bool eolian_file_parse(const char *filepath);
 Eina_Iterator *eolian_all_eo_file_paths_get(void);
 Eina_Iterator *eolian_all_eot_file_paths_get(void);
@@ -361,6 +391,12 @@ ffi.cdef [[
 const char *eolian_documentation_summary_get(const Eolian_Documentation 
*doc);
 const char *eolian_documentation_description_get(const 
Eolian_Documentation *doc);
 const char *eolian_documentation_since_get(const Eolian_Documentation 
*doc);
+
+const char *eolian_documentation_tokenize(const char *doc, 
Eolian_Doc_Token *ret);
+void eolian_doc_token_init(Eolian_Doc_Token *tok);
+Eolian_Doc_Token_Type eolian_doc_token_type_get(const Eolian_Doc_Token 
*tok);
+char *eolian_doc_token_text_get(const Eolian_Doc_Token *tok);
+Eolian_Doc_Ref_Type eolian_doc_token_ref_get(const Eolian_Doc_Token *tok, 
const void **data, const void **data2);
 ]]
 
 local cutil = require("cutil")
@@ -1484,4 +1520,111 @@ M.Documentation = ffi.metatype("Eolian_Documentation", {
 }
 })
 
+M.doc_token_type = {
+UNKNOWN  = -1,
+TEXT =  0,
+REF  =  1,
+MARK_NOTE=  2,
+MARK_WARNING =  3,
+MARK_REMARK  =  4,
+MARK_TODO=  5,
+MARKUP_MONOSPACE =  6
+}
+
+M.doc_ref_type = {
+INVALID  = 0,
+CLASS= 1,
+FUNC = 2,
+EVENT= 3,
+ALIAS= 4,
+STRUCT   = 5,
+STRUCT_FIELD = 6,
+ENUM = 7,
+ENUM_FIELD   = 8,
+VAR  = 9
+}
+
+M.documentation_string_split = function(str)
+if not str then
+return {}
+end
+local sep = str:find("\n\n", 1, true)
+local ret = {}
+while true do
+local pstr = (sep and str:sub(1, sep - 1) or 
pstr):match("^%s*(.-)%s*$")
+if #pstr > 0 then
+ret[#ret + 1] = pstr
+end
+if not sep then
+break
+end
+str = str:sub(sep + 2)
+sep = str:find("\n\n", 1, true)
+end
+return ret
+end
+
+M.documentation_tokenize = function(doc, ret)
+local ret = eolian.eolian_documentation_tokenize(doc, ret)
+if ret == nil then
+return nil
+end
+return ffi.string(ret)
+end
+
+M.doc_token_init = function()
+local ret = ffi.new("Eolian_Doc_Token")
+eolian.eolian_doc_token_init(ret)
+return ret
+end
+
+M.Eolian_Doc_Token = ffi.metatype("Eolian_Doc_Token", {
+__index = {
+type_get = function(self)
+return tonumber(eolian.eolian_doc_token_type_get(self))
+end,
+
+text_get = function(self)
+local str = eolian.eolian_doc_token_text_get(self)
+if str == nil then
+return nil
+end
+local ret = ffi.string(str)
+ffi.C.free(str)
+return ret
+end,
+
+ref_get = function(self)
+local stor = ffi.new("const void *[2]")
+local tp = tonumber(eolian.eolian_doc_token_ref_get(self, stor, 
stor + 1))
+local reft = M.doc_ref_type
+if tp == reft.CLASS then
+return tp, ffi.cast("const Eolian_Class *", stor[0])
+elseif tp == reft.FUNC then
+return tp, ffi.cast("const Eolian_Class *", stor[0]),
+  

[EGIT] [core/enlightenment] enlightenment-0.21 01/01: null out animator pointers in efx stop() operations

2016-12-08 Thread Mike Blumenkrantz
discomfitor pushed a commit to branch enlightenment-0.21.

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

commit f6292eb235185bcdf32e12e5b15ab1915f3c12ab
Author: Mike Blumenkrantz 
Date:   Thu Dec 8 11:20:45 2016 -0500

null out animator pointers in efx stop() operations
---
 src/bin/efx/efx_fade.c   | 1 +
 src/bin/efx/efx_move.c   | 1 +
 src/bin/efx/efx_resize.c | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/bin/efx/efx_fade.c b/src/bin/efx/efx_fade.c
index 158b689..1b5baf6 100644
--- a/src/bin/efx/efx_fade.c
+++ b/src/bin/efx/efx_fade.c
@@ -105,6 +105,7 @@ _fade_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped faded object %p", obj);
 if (efd->anim) ecore_animator_del(efd->anim);
+efd->anim = NULL;
 if (e_efx_queue_complete(efd->e, efd))
   e_efx_queue_process(efd->e);
  }
diff --git a/src/bin/efx/efx_move.c b/src/bin/efx/efx_move.c
index 0c5e040..9201695 100644
--- a/src/bin/efx/efx_move.c
+++ b/src/bin/efx/efx_move.c
@@ -123,6 +123,7 @@ _move_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped moved object %p", obj);
 if (emd->anim) ecore_animator_del(emd->anim);
+emd->anim = NULL;
 if (e_efx_queue_complete(emd->e, emd))
   e_efx_queue_process(emd->e);
  }
diff --git a/src/bin/efx/efx_resize.c b/src/bin/efx/efx_resize.c
index 33a1a0d..7784763 100644
--- a/src/bin/efx/efx_resize.c
+++ b/src/bin/efx/efx_resize.c
@@ -108,6 +108,7 @@ _resize_stop(Evas_Object *obj, Eina_Bool reset)
  {
 INF("stopped resized object %p", obj);
 if (erd->anim) ecore_animator_del(erd->anim);
+erd->anim = NULL;
 if (erd->moving)
   {
  erd->moving = 0;

-- 




[E-devel] EFL 1.18.4 release

2016-12-08 Thread Stefan Schmidt
Our fourth stable update for the 1.18.x series.

==Fixes:==

   * evas/x11: Fix EGL engine for recent nvidia binary
   * gl drm/x11: Fix compilation for EGL < 1.5
   * ecore_x: Early check image bpp based on depth (T4389)
   * wayland: fix compilation break

==Download:==

http://download.enlightenment.org/rel/libs/efl/efl-1.18.4.tar.gz
d19669eece770cc09733568c7dfef9870daa0f8b9f613ab76ad14b2f5de20040

http://download.enlightenment.org/rel/libs/efl/efl-1.18.4.tar.xz
39ebc07e37437d6ecdeb0f645783484e28a882b38f7e619ad12c2bf9b5548025



--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [website/www-content] master 01/01: Wiki page efl-1.18.4 changed with summary [created] by Stefan Schmidt

2016-12-08 Thread Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 576938867eb6f8dc346a6d9cf3cefdc9d06d006b
Author: Stefan Schmidt 
Date:   Thu Dec 8 07:34:18 2016 -0800

Wiki page efl-1.18.4 changed with summary [created] by Stefan Schmidt
---
 pages/news/efl-1.18.4.txt | 20 
 1 file changed, 20 insertions(+)

diff --git a/pages/news/efl-1.18.4.txt b/pages/news/efl-1.18.4.txt
new file mode 100644
index 000..0c6c92e
--- /dev/null
+++ b/pages/news/efl-1.18.4.txt
@@ -0,0 +1,20 @@
+=== EFL 1.18.4 release ===
+  * //2016-12-08 - by Stefan Schmidt//
+
+Our fourth stable update for the 1.18.x series.
+
+==Fixes:==
+
+   * evas/x11: Fix EGL engine for recent nvidia binary
+   * gl drm/x11: Fix compilation for EGL < 1.5
+   * ecore_x: Early check image bpp based on depth (T4389)
+   * wayland: fix compilation break  
+ 
+==Download:==
+
+^ ** LINK ** ^ ** SHA256 ** ^
+| [[http://download.enlightenment.org/rel/libs/efl/efl-1.18.4.tar.gz  | 
efl-1.18.4.tar.gz ]] |  
d19669eece770cc09733568c7dfef9870daa0f8b9f613ab76ad14b2f5de20040 |
+| [[http://download.enlightenment.org/rel/libs/efl/efl-1.18.4.tar.xz  | 
efl-1.18.4.tar.xz ]] | 
39ebc07e37437d6ecdeb0f645783484e28a882b38f7e619ad12c2bf9b5548025 |
+
+{{:blank.png?nolink&100|}}
+~~DISCUSSIONS~~
\ No newline at end of file

-- 




[EGIT] [website/www-content] master 01/01: Wiki page start-release changed with summary [] by Stefan Schmidt

2016-12-08 Thread Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 5b553b01a6fc55bef8eb2e22505bd7cf1f3ccf59
Author: Stefan Schmidt 
Date:   Thu Dec 8 07:28:07 2016 -0800

Wiki page start-release changed with summary [] by Stefan Schmidt
---
 pages/start-release.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/start-release.txt b/pages/start-release.txt
index 7e74b6f..ff0a9a4 100644
--- a/pages/start-release.txt
+++ b/pages/start-release.txt
@@ -1,3 +1,3 @@
 
-EFL 1.18.3 and Enlightenment 0.21.4 are out - go to our [[download]] page.
+EFL 1.18.4 and Enlightenment 0.21.4 are out - go to our [[download]] page.
 

-- 




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

2016-12-08 Thread Stefan Schmidt
WWW-www.enlightenment.org pushed a commit to branch master.

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

commit 216f1bcbc56c472f1534cb800ba9b5c6baa636ec
Author: Stefan Schmidt 
Date:   Thu Dec 8 07:27:51 2016 -0800

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

diff --git a/pages/download-latest.txt b/pages/download-latest.txt
index 67c50e9..5468809 100644
--- a/pages/download-latest.txt
+++ b/pages/download-latest.txt
@@ -1,5 +1,5 @@
 
-efl_v = 1.18.3
+efl_v = 1.18.4
 python_efl_v  = 1.18.0
 elm_v = In efl
 emotion_generic_players_v = In efl

-- 




[EGIT] [core/efl] annotated tag v1.18.4 created (now ec4aa5e)

2016-12-08 Thread Enlightenment Git
This is an automated email from the git hooks/post-receive script.

stefan pushed a change to annotated tag v1.18.4
in repository core/efl.

at  ec4aa5e   (tag)
   tagging  f3038adf5b6ce0da3e5edbc25f4ca85abb396bff (commit)
  replaces  v1.18.3
 tagged by  Stefan Schmidt
on  Thu Dec 8 16:25:18 2016 +0100

- Log -
v1.18.4

Jean-Philippe ANDRÉ (4):
  evas/x11: Fix EGL engine for recent nvidia binary
  gl drm/x11: Fix compilation for EGL < 1.5
  wayland_egl: Fix compilation
  ecore_x: Early check image bpp based on depth

Stefan Schmidt (1):
  release: Update NEWS and bump version for 1.18.4 release

---

No new revisions were added by this update.

-- 




[EGIT] [core/efl] master 01/01: evas-wayland-egl: Remove unused field from Outbuf structure

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 0397769a65fe8735f841ddfbf846a32db1211555
Author: Chris Michael 
Date:   Thu Dec 8 09:32:33 2016 -0500

evas-wayland-egl: Remove unused field from Outbuf structure

This patch just removes the 'evas' field from the Outbuf structure.
This should have actually gone in on the previous patch but I missed
removing it :(

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/wayland_egl/evas_engine.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.h 
b/src/modules/evas/engines/wayland_egl/evas_engine.h
index f37391a..06a9c7a 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.h
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.h
@@ -61,7 +61,6 @@ struct _Outbuf
int w, h;
int depth, screen, rot, alpha;
 
-   Evas *evas;
Evas_Engine_Info_Wayland *info;
Evas_Engine_GL_Context *gl_context;
 

-- 




Re: [E-devel] eo_isa() buggy

2016-12-08 Thread Gustavo Sverzut Barbieri
looks like my bad, maybe I forgot to rebase on the branch... I've
checked and it's fixed now! Thanks!

On Thu, Dec 8, 2016 at 12:23 PM, Tom Hacohen  wrote:
> On 07/12/16 20:18, Gustavo Sverzut Barbieri wrote:
>> On Wed, Dec 7, 2016 at 12:00 PM, Tom Hacohen  wrote:
>>> Hey,
>>>
>>> I just pushed 5424cdbd810042ba59e71bec6b8d91cb6a2c3e9c that I hope
>>> should fix it. This commit fixes a bug I've known for a while and just
>>> forgot to fix. From your description, I believe it is the same issue,
>>> but please verify.
>>>
>>> Thanks for reporting.
>>
>> great fix, but didn't fix my issue yet. Try with the
>> efl_net_dialer_simple_example using SSL:
>>
>> ./src/examples/ecore/efl_net_dialer_simple_example ssl localhost:1234
>>
>> This uses:
>>
>> Efl.Net.Dialer.Ssl -> Efl.Net.Dialer, Efl.Net.Socket.Ssl
>>
>> Efl.Net.Dialer -> Efl.Net.Socket -> Efl.Io.Reader, Efl.Io.Writer
>>
>> Efl.Net.Socket.Ssl -> Efl.Loop_User, Efl.Net.Socket -> Efl.Io.Reader,
>> Efl.Io.Writer
>>
>> what's funny is that it works for other complex hierarchies, such as:
>>
>> Efl.Net.Dialer.Tcp -> Efl.Net.Dialer, Efl.Net.Socket.Tcp
>>
>> Efl.Net.Socket.Tcp -> Efl.Net.Socket.Fd -> Efl.Loop_Fd. Efl.Net.Socket
>> -> Efl.Io.Reader, Efl.Io.Writer
>>
>> as you can see, it's even more complex since uses Efl.Net.Socket.Fd!
>>
>>
>
> Are you sure you tested with my fix? I just ran the example and got:
>
> % ./efl_net_dialer_simple_example ssl localhost:1234
> INFO: sending 'Hello World!'
> INFO: end of stream.
> -- BEGIN RECEIVED DATA --
> -- END RECEIVED DATA--
> INFO: done receiving
> ^C
> INFO: main loop finished.
>
> Looks correct to me.
>
> --
> Tom
>
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel



-- 
Gustavo Sverzut Barbieri
--
Mobile: +55 (16) 99354-9890

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/01: elementary: atspi accepts UTF-8 text

2016-12-08 Thread Tom Hacohen
Based on your commit message, your change looks wrong. Atspi accepts 
utf-8 not markup, it should be passed utf-8 without the markup.

I think the code that was there was correct, but furthermore, this code 
was just recently put there to fix an issue, so please speak to whoever 
added it.

Also, please elaborate more in the commit message, it's lacking.

Thanks!

--
Tom

On 08/12/16 14:22, Shinwoo Kim wrote:
> kimcinoo pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=4a8d37195f19c8435c33721fb3fd994783b6a351
>
> commit 4a8d37195f19c8435c33721fb3fd994783b6a351
> Author: Shinwoo Kim 
> Date:   Thu Dec 8 23:21:35 2016 +0900
>
> elementary: atspi accepts UTF-8 text
> ---
>  src/lib/elementary/elm_atspi_bridge.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/src/lib/elementary/elm_atspi_bridge.c 
> b/src/lib/elementary/elm_atspi_bridge.c
> index 237b47c..7d004cd 100644
> --- a/src/lib/elementary/elm_atspi_bridge.c
> +++ b/src/lib/elementary/elm_atspi_bridge.c
> @@ -2078,9 +2078,7 @@ _accessible_property_get(const Eldbus_Service_Interface 
> *interface, const char *
>  ret = elm_interface_atspi_accessible_name_get(obj);
>  if (!ret)
>ret = "";
> -char *plain_text = evas_textblock_text_markup_to_utf8(NULL, ret);
>  eldbus_message_iter_basic_append(iter, 's', ret);
> -free(plain_text);
>  return EINA_TRUE;
>   }
> else if (!strcmp(property, "Description"))
>


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas-wayland-shm: Remove unused varibles

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 269089c1bea42bf6944f0e545c95f0b9b090b5aa
Author: Chris Michael 
Date:   Thu Dec 8 09:23:36 2016 -0500

evas-wayland-shm: Remove unused varibles

These variables are unused (as reported by gcc), and 'ob' is not
really needed in eng_update so remove that also.

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/wayland_shm/evas_engine.c | 5 +
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c 
b/src/modules/evas/engines/wayland_shm/evas_engine.c
index a9a27f8..a5e8ecd 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -140,7 +140,6 @@ static void *
 eng_setup(void *info, unsigned int w, unsigned int h)
 {
Evas_Engine_Info_Wayland *einfo = info;
-   Render_Engine *re = NULL;
 
LOGFN(__FILE__, __LINE__, __FUNCTION__);
 
@@ -152,15 +151,13 @@ eng_update(void *data, void *info, unsigned int w, 
unsigned int h)
 {
Evas_Engine_Info_Wayland *einfo = info;
Render_Engine *re = data;
-   Outbuf *ob;
 
if (!einfo->info.wl_surface) return 0;
if (!einfo->info.hidden) return 1;
 
eng_output_resize(re, w, h);
-   if (!ob) return 0;
 
-   evas_render_engine_software_generic_update(>generic, ob,
+   evas_render_engine_software_generic_update(>generic, re->generic.ob,
   w, h);
 
return 1;

-- 




Re: [E-devel] eo_isa() buggy

2016-12-08 Thread Tom Hacohen
On 07/12/16 20:18, Gustavo Sverzut Barbieri wrote:
> On Wed, Dec 7, 2016 at 12:00 PM, Tom Hacohen  wrote:
>> Hey,
>>
>> I just pushed 5424cdbd810042ba59e71bec6b8d91cb6a2c3e9c that I hope
>> should fix it. This commit fixes a bug I've known for a while and just
>> forgot to fix. From your description, I believe it is the same issue,
>> but please verify.
>>
>> Thanks for reporting.
>
> great fix, but didn't fix my issue yet. Try with the
> efl_net_dialer_simple_example using SSL:
>
> ./src/examples/ecore/efl_net_dialer_simple_example ssl localhost:1234
>
> This uses:
>
> Efl.Net.Dialer.Ssl -> Efl.Net.Dialer, Efl.Net.Socket.Ssl
>
> Efl.Net.Dialer -> Efl.Net.Socket -> Efl.Io.Reader, Efl.Io.Writer
>
> Efl.Net.Socket.Ssl -> Efl.Loop_User, Efl.Net.Socket -> Efl.Io.Reader,
> Efl.Io.Writer
>
> what's funny is that it works for other complex hierarchies, such as:
>
> Efl.Net.Dialer.Tcp -> Efl.Net.Dialer, Efl.Net.Socket.Tcp
>
> Efl.Net.Socket.Tcp -> Efl.Net.Socket.Fd -> Efl.Loop_Fd. Efl.Net.Socket
> -> Efl.Io.Reader, Efl.Io.Writer
>
> as you can see, it's even more complex since uses Efl.Net.Socket.Fd!
>
>

Are you sure you tested with my fix? I just ran the example and got:

% ./efl_net_dialer_simple_example ssl localhost:1234
INFO: sending 'Hello World!'
INFO: end of stream.
-- BEGIN RECEIVED DATA --
-- END RECEIVED DATA--
INFO: done receiving
^C
INFO: main loop finished.

Looks correct to me.

--
Tom

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: elementary: atspi accepts UTF-8 text

2016-12-08 Thread Shinwoo Kim
kimcinoo pushed a commit to branch master.

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

commit 4a8d37195f19c8435c33721fb3fd994783b6a351
Author: Shinwoo Kim 
Date:   Thu Dec 8 23:21:35 2016 +0900

elementary: atspi accepts UTF-8 text
---
 src/lib/elementary/elm_atspi_bridge.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/lib/elementary/elm_atspi_bridge.c 
b/src/lib/elementary/elm_atspi_bridge.c
index 237b47c..7d004cd 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -2078,9 +2078,7 @@ _accessible_property_get(const Eldbus_Service_Interface 
*interface, const char *
 ret = elm_interface_atspi_accessible_name_get(obj);
 if (!ret)
   ret = "";
-char *plain_text = evas_textblock_text_markup_to_utf8(NULL, ret);
 eldbus_message_iter_basic_append(iter, 's', ret);
-free(plain_text);
 return EINA_TRUE;
  }
else if (!strcmp(property, "Description"))

-- 




[EGIT] [core/efl] master 01/01: evas-wayland-egl: Cleanup wayland_egl engine and fix build break

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 5a0c03ded16df82f9e1be412220f3a7e0edc25cf
Author: Chris Michael 
Date:   Thu Dec 8 09:11:28 2016 -0500

evas-wayland-egl: Cleanup wayland_egl engine and fix build break

A previous patch to refactor setup stage and reduce complexity
actually introduced several build breaks. This patch fixes the build
break for wayland-egl.

ref 73b308fb66f871b93ef8e324997872e3bf175906

BAD CEDRIC !

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/wayland_egl/evas_engine.c  | 20 +---
 src/modules/evas/engines/wayland_egl/evas_engine.h  |  2 +-
 src/modules/evas/engines/wayland_egl/evas_wl_main.c |  3 +--
 3 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c 
b/src/modules/evas/engines/wayland_egl/evas_engine.c
index a4687d4..761d3f9 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -608,7 +608,7 @@ eng_setup(void *info, unsigned int w, unsigned int h)
 glsym_evas_gl_preload_init();
  }
 
-   ob = eng_window_new(evas, inf, w, h, swap_mode);
+   ob = eng_window_new(inf, w, h, swap_mode);
if (!ob) goto ob_err;
 
if (!evas_render_engine_gl_generic_init(>generic, ob,
@@ -633,8 +633,7 @@ eng_setup(void *info, unsigned int w, unsigned int h)
w, h))
  {
 eng_window_free(ob);
-free(re);
-return NULL;
+goto ob_err;
  }
 
gl_wins++;
@@ -662,6 +661,10 @@ eng_setup(void *info, unsigned int w, unsigned int h)
eng_window_use(eng_get_ob(re));
 
return re;
+
+ob_err:
+   free(re);
+   return NULL;
 }
 
 static int
@@ -695,6 +698,8 @@ eng_update(void *data, void *info, unsigned int w, unsigned 
int h)
 (ob->info->info.depth != ob->depth) ||
 (ob->info->info.destination_alpha != ob->alpha))
   {
+ Render_Engine_Swap_Mode swap_mode = MODE_AUTO;
+
  gl_wins--;
  if (!ob->info->info.wl_display)
{
@@ -703,16 +708,17 @@ eng_update(void *data, void *info, unsigned int w, 
unsigned int h)
   goto ob_err;
}
 
- ob = eng_window_new(evas, inf, w, h, swap_mode);
+ swap_mode = _eng_swap_mode_get();
+ ob = eng_window_new(inf, w, h, swap_mode);
  if (!ob) goto ob_err;
 
  eng_window_use(ob);
 
- evas_render_engine_software_generic_update(>generic.software, 
ob,
-w, h);
+ evas_render_engine_software_generic_update(>generic.software,
+ob, w, h);
  gl_wins++;
   }
-else if ((ob->w != w) || (ob->h != h) ||
+else if ((ob->w != (int)w) || (ob->h != (int)h) ||
  (ob->info->info.rotation != ob->rot))
   {
  eng_outbuf_reconfigure(ob, w, h,
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.h 
b/src/modules/evas/engines/wayland_egl/evas_engine.h
index 50321a0..f37391a 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.h
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.h
@@ -108,7 +108,7 @@ extern Evas_GL_Preload_Render_Call 
glsym_evas_gl_preload_render_unlock;
 extern unsigned int (*glsym_eglSwapBuffersWithDamage) (EGLDisplay a, void *b, 
const EGLint *d, EGLint c);
 extern unsigned int (*glsym_eglSetDamageRegionKHR) (EGLDisplay a, EGLSurface 
b, EGLint *c, EGLint d);
 
-Outbuf *eng_window_new(Evas *evas, Evas_Engine_Info_Wayland *einfo, int w, int 
h, Render_Engine_Swap_Mode swap_mode);
+Outbuf *eng_window_new(Evas_Engine_Info_Wayland *einfo, int w, int h, 
Render_Engine_Swap_Mode swap_mode);
 void eng_window_free(Outbuf *gw);
 void eng_window_use(Outbuf *gw);
 void eng_window_unsurf(Outbuf *gw);
diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c 
b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
index a164eed..60b5f76 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -9,7 +9,7 @@ static struct wl_display *display = NULL;
 static int win_count = 0;
 
 Outbuf *
-eng_window_new(Evas *evas, Evas_Engine_Info_Wayland *einfo, int w, int h, 
Render_Engine_Swap_Mode swap_mode)
+eng_window_new(Evas_Engine_Info_Wayland *einfo, int w, int h, 
Render_Engine_Swap_Mode swap_mode)
 {
Outbuf *gw;
int context_attrs[3];
@@ -25,7 +25,6 @@ eng_window_new(Evas *evas, Evas_Engine_Info_Wayland *einfo, 
int w, int h, Render
 
win_count++;
gw->info = einfo;
-   gw->evas = evas;
gw->w = w;
gw->h = h;
gw->swap_mode = swap_mode;

-- 




[EGIT] [core/efl] master 01/01: evas-gl-drm: Cleanup evas-gl-drm engine build and fix build break

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit a85605553b13696380a1ba7d6740e99312140ac3
Author: Chris Michael 
Date:   Thu Dec 8 09:02:43 2016 -0500

evas-gl-drm: Cleanup evas-gl-drm engine build and fix build break

A previous patch from some french guy broke building of the gl_drm
engine. This patch fixes the build break and cleans up unused
variables, etc.

ref 73b308fb66f871b93ef8e324997872e3bf175906

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/gl_drm/evas_engine.c | 31 +++
 src/modules/evas/engines/gl_drm/evas_outbuf.c |  8 +++
 2 files changed, 17 insertions(+), 22 deletions(-)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index 20237eb..111c5ac 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -920,8 +920,7 @@ eng_setup(void *in, unsigned int w, unsigned int h)
Render_Engine_Merge_Mode merge_mode;
 
swap_mode = _eng_swap_mode_get(info->info.swap_mode);
-   merge_mode = _eng_merge_mode_get(void);
-
+   merge_mode = _eng_merge_mode_get();
 
if (!initted)
  {
@@ -947,8 +946,6 @@ eng_setup(void *in, unsigned int w, unsigned int h)
 return NULL;
  }
 
-   ob->evas = evas;
-
if (!evas_render_engine_gl_generic_init(>generic, ob,
evas_outbuf_buffer_state_get,
evas_outbuf_rot_get,
@@ -1002,9 +999,9 @@ eng_setup(void *in, unsigned int w, unsigned int h)
 }
 
 static int
-eng_update(void *data, void *info, unsigned int w, unsigned int h)
+eng_update(void *data, void *in, unsigned int w, unsigned int h)
 {
-   Evas_Engine_Info_GL_Drm *info = in;
+   Evas_Engine_Info_GL_Drm *info = (Evas_Engine_Info_GL_Drm *)in;
Render_Engine *re = data;
 
if (eng_get_ob(re) && _re_wincheck(eng_get_ob(re)))
@@ -1013,6 +1010,7 @@ eng_update(void *data, void *info, unsigned int w, 
unsigned int h)
 (info->info.destination_alpha != 
eng_get_ob(re)->destination_alpha))
   {
  Outbuf *ob, *ob_old;
+ Render_Engine_Swap_Mode swap_mode = MODE_AUTO;
 
  ob_old = re->generic.software.ob;
  re->generic.software.ob = NULL;
@@ -1020,6 +1018,7 @@ eng_update(void *data, void *info, unsigned int w, 
unsigned int h)
 
  if (ob_old) evas_outbuf_free(ob_old);
 
+ swap_mode = _eng_swap_mode_get(info->info.swap_mode);
  ob = evas_outbuf_new(info, w, h, swap_mode);
  if (!ob)
{
@@ -1029,25 +1028,20 @@ eng_update(void *data, void *info, unsigned int w, 
unsigned int h)
 
  evas_outbuf_use(ob);
 
- ob->evas = evas;
-
- evas_render_engine_software_generic_update(>generic.software, 
ob,
-w, h);
+ evas_render_engine_software_generic_update(>generic.software,
+ob, w, h);
 
  gl_wins++;
   }
-else if ((eng_get_ob(re)->w != w) ||
- (eng_get_ob(re)->h != h) ||
+else if ((eng_get_ob(re)->w != (int)w) ||
+ (eng_get_ob(re)->h != (int)h) ||
  (info->info.rotation != eng_get_ob(re)->rotation))
   {
- evas_outbuf_reconfigure(eng_get_ob(re),
- w, h,
- info->info.rotation,
- info->info.depth);
+ evas_outbuf_reconfigure(eng_get_ob(re), w, h,
+ info->info.rotation, info->info.depth);
  evas_render_engine_software_generic_update(>generic.software,
 
re->generic.software.ob,
-w,
-h);
+w, h);
   }
  }
 
@@ -1496,6 +1490,7 @@ module_open(Evas_Module *em)
EVAS_API_OVERRIDE(info, , eng_);
EVAS_API_OVERRIDE(info_free, , eng_);
EVAS_API_OVERRIDE(setup, , eng_);
+   EVAS_API_OVERRIDE(update, , eng_);
EVAS_API_OVERRIDE(canvas_alpha_get, , eng_);
EVAS_API_OVERRIDE(output_free, , eng_);
EVAS_API_OVERRIDE(output_dump, , eng_);
diff --git a/src/modules/evas/engines/gl_drm/evas_outbuf.c 
b/src/modules/evas/engines/gl_drm/evas_outbuf.c
index 2304889..43acdcc 100644
--- a/src/modules/evas/engines/gl_drm/evas_outbuf.c
+++ b/src/modules/evas/engines/gl_drm/evas_outbuf.c
@@ -729,8 +729,8 @@ evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *surface_damage, 
Tilebuf_Rect *buffer
 ob->vsync = 1;
  }
 

Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Vincent Torri
1.18.3 too, don't know for the others

On Thu, Dec 8, 2016 at 2:43 PM, Stefan Schmidt  wrote:
> Hello.
>
> On 08/12/16 13:55, Vincent Torri wrote:
>> it seems to work on windows though i have to launch autoreconf (pb with 
>> libtool)
>
> Thanks for testing.
>
> Is the autoreconf regression from 1.18.3 or earlier versions or does
> that problem exist for a longer time already?
>
> regards
> Stefan Schmidt
>
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: evas-drm: Remove unused variables and fix build break

2016-12-08 Thread Christopher Michael
devilhorns pushed a commit to branch master.

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

commit 4a5db373d16b50ef6334a083e6578334f695dd16
Author: Chris Michael 
Date:   Thu Dec 8 08:42:35 2016 -0500

evas-drm: Remove unused variables and fix build break

Seems Cedric's patch for refactoring setup stage broke building for
the evas drm engine. This patches fixes the issue.

ref 73b308fb66f871b93ef8e324997872e3bf175906

Signed-off-by: Chris Michael 
---
 src/modules/evas/engines/drm/evas_engine.c | 7 ++-
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/src/modules/evas/engines/drm/evas_engine.c 
b/src/modules/evas/engines/drm/evas_engine.c
index 6cbc067..810faa7 100644
--- a/src/modules/evas/engines/drm/evas_engine.c
+++ b/src/modules/evas/engines/drm/evas_engine.c
@@ -75,7 +75,6 @@ eng_info_free(Evas *evas EINA_UNUSED, void *einfo)
 static void *
 eng_setup(void *einfo, unsigned int w, unsigned int h)
 {
-   Render_Engine *re;
Evas_Engine_Info_Drm *info = einfo;
 
return _render_engine_setup(info, w, h);
@@ -86,14 +85,12 @@ eng_update(void *data, void *einfo, unsigned int w, 
unsigned int h)
 {
Evas_Engine_Info_Drm *info = einfo;
Render_Engine *re = data;
-   Outbuf *ob;
 
_outbuf_reconfigure(re->generic.ob, w, h,
info->info.rotation, info->info.depth);
-   if (!ob) return 0;
 
-   evas_render_engine_software_generic_update(>generic, ob,
-  ob->w, ob->h);
+   evas_render_engine_software_generic_update(>generic,
+  re->generic.ob, w, h);
 
return 1;
 }

-- 




Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Stefan Schmidt
Hello.

On 08/12/16 13:55, Vincent Torri wrote:
> it seems to work on windows though i have to launch autoreconf (pb with 
> libtool)

Thanks for testing.

Is the autoreconf regression from 1.18.3 or earlier versions or does 
that problem exist for a longer time already?

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 04/06: efl_io_buffered_stream: better detection of 'finished' state.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 994d66513f69b2feb506970d6e6fb7d204cb8f1e
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 17:39:01 2016 -0200

efl_io_buffered_stream: better detection of 'finished' state.

When used with sockets, if it's EOS (ie: remote peer terminated the
connection), but not closed, then it would not emit 'finished' event.

Now it does.
---
 src/lib/ecore/efl_io_buffered_stream.c | 29 +
 1 file changed, 25 insertions(+), 4 deletions(-)

diff --git a/src/lib/ecore/efl_io_buffered_stream.c 
b/src/lib/ecore/efl_io_buffered_stream.c
index 69ea69c..6d58e67 100644
--- a/src/lib/ecore/efl_io_buffered_stream.c
+++ b/src/lib/ecore/efl_io_buffered_stream.c
@@ -21,6 +21,7 @@ typedef struct
Eina_Bool can_read;
Eina_Bool can_write;
Eina_Bool is_closer;
+   Eina_Bool is_finished;
 } Efl_Io_Buffered_Stream_Data;
 
 #define MY_CLASS EFL_IO_BUFFERED_STREAM_CLASS
@@ -98,11 +99,21 @@ _efl_io_buffered_stream_sender_done(void *data, const 
Efl_Event *event EINA_UNUS
 {
Eo *o = data;
Efl_Io_Buffered_Stream_Data *pd = efl_data_scope_get(o, MY_CLASS);
+   size_t pending = pd->receiver ? 
efl_io_copier_pending_size_get(pd->receiver) : 0;
+
efl_ref(o);
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_PROGRESS, NULL);
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_WRITE_FINISHED, 
NULL);
-   if (efl_io_copier_done_get(pd->receiver))
- efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, NULL);
+   if ((pending == 0) || efl_io_copier_done_get(pd->receiver))
+ {
+if (!pd->is_finished)
+  {
+ pd->is_finished = EINA_TRUE;
+ efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, 
NULL);
+  }
+ }
+   else
+ DBG("%p sender done, waiting for receiver to process %zd to call it 
'finished'", o, pending);
efl_unref(o);
 }
 
@@ -269,6 +280,8 @@ _efl_io_buffered_stream_efl_io_reader_eos_get(Eo *o 
EINA_UNUSED, Efl_Io_Buffered
 EOLIAN static void
 _efl_io_buffered_stream_efl_io_reader_eos_set(Eo *o, 
Efl_Io_Buffered_Stream_Data *pd, Eina_Bool is_eos)
 {
+   size_t pending = pd->sender ? efl_io_copier_pending_size_get(pd->sender) : 
0;
+
EINA_SAFETY_ON_TRUE_RETURN(efl_io_closer_closed_get(o));
if (pd->eos == is_eos) return;
pd->eos = is_eos;
@@ -278,8 +291,16 @@ _efl_io_buffered_stream_efl_io_reader_eos_set(Eo *o, 
Efl_Io_Buffered_Stream_Data
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_PROGRESS, NULL);
efl_event_callback_call(o, EFL_IO_READER_EVENT_EOS, NULL);
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_READ_FINISHED, 
NULL);
-   if (efl_io_copier_done_get(pd->sender))
- efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, NULL);
+   if ((pending == 0) || efl_io_copier_done_get(pd->sender))
+ {
+if (!pd->is_finished)
+  {
+ pd->is_finished = EINA_TRUE;
+ efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, 
NULL);
+  }
+ }
+   else
+ DBG("%p eos, waiting for sender process %zd to call 'finished'", o, 
pending);
efl_unref(o);
 }
 

-- 




[EGIT] [core/efl] master 05/06: ecore_con_client_example: allow more features and protocols to be used.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit b38681f72524e2265206b6ec1342dc7da3798f23
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 13:29:49 2016 -0200

ecore_con_client_example: allow more features and protocols to be used.

Instead of a single SSL connection, allow for local, tcp and udp,
optional flush and delete-after-write (--single-message).

Very similar to ecore_ipc_client_example.c
---
 src/examples/ecore/ecore_con_client_example.c | 226 ++
 1 file changed, 190 insertions(+), 36 deletions(-)

diff --git a/src/examples/ecore/ecore_con_client_example.c 
b/src/examples/ecore/ecore_con_client_example.c
index 24c0484..c0c10e5 100644
--- a/src/examples/ecore/ecore_con_client_example.c
+++ b/src/examples/ecore/ecore_con_client_example.c
@@ -8,27 +8,56 @@
 #include 
 #include 
 #include 
+#include 
 
 /* Ecore_Con client example
  * 2010 Mike Blumenkrantz
  */
 
-#ifdef HAVE_GNUTLS
-#include 
+static Ecore_Con_Server *svr;
+static int retval = EXIT_SUCCESS;
+static Eina_Bool do_flush = EINA_FALSE;
+static Eina_Bool single_message = EINA_FALSE;
 
-static void
-tls_log_func(int level, const char *str)
+static Eina_Bool
+_on_stdin(void *data EINA_UNUSED, Ecore_Fd_Handler *fdh EINA_UNUSED)
 {
-   fprintf(stderr, "|<%d>| %s", level, str);
+   char *line = NULL;
+   size_t len = 0;
+   ssize_t r = getline(, , stdin);
+
+   if (r < 0)
+ {
+fprintf(stderr, "ERROR: could not read from stdin: %s\n", 
strerror(errno));
+return ECORE_CALLBACK_CANCEL;
+ }
+
+   if (!svr)
+ fputs("WARNING: not connected to server, ignored input.\n", stderr);
+   else
+ {
+ecore_con_server_send(svr, line, r);
+printf("INFO: sent %zd bytes to server.\n", r);
+if (do_flush) ecore_con_server_flush(svr);
+if (single_message)
+  {
+ ecore_con_server_del(svr);
+ svr = NULL;
+ ecore_main_loop_quit();
+  }
+ }
+
+   free(line);
+
+   return ECORE_CALLBACK_RENEW;
 }
-#endif
 
 Eina_Bool
 _add(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Con_Event_Server_Add 
*ev)
 {
printf("Server with ip %s connected!\n", 
ecore_con_server_ip_get(ev->server));
-   ecore_con_server_send(ev->server, "hello!", 6);
-   ecore_con_server_flush(ev->server);
+   ecore_con_server_send(ev->server, "hello!", strlen("hello!"));
+   if (do_flush) ecore_con_server_flush(ev->server);
 
return ECORE_CALLBACK_RENEW;
 }
@@ -37,6 +66,8 @@ Eina_Bool
 _del(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Con_Event_Server_Del 
*ev)
 {
printf("Lost server with ip %s!\n", ecore_con_server_ip_get(ev->server));
+   ecore_con_server_del(svr);
+   svr = NULL;
ecore_main_loop_quit();
return ECORE_CALLBACK_RENEW;
 }
@@ -44,51 +75,157 @@ _del(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Del *e
 Eina_Bool
 _data(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Data *ev)
 {
-   char fmt[128];
+   printf("Received %i bytes from server:\n"
+  ">\n"
+  "%.*s\n"
+  ">\n",
+  ev->size,
+  ev->size, ev->data);
 
-   snprintf(fmt, sizeof(fmt),
-"Received %i bytes from server:\n"
-">\n"
-"%%.%is\n"
-">\n",
-ev->size, ev->size);
+   return ECORE_CALLBACK_RENEW;
+}
 
-   printf(fmt, ev->data);
+Eina_Bool
+_write(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Server_Write *ev)
+{
+   printf("Sent %d bytes to server\n", ev->size);
return ECORE_CALLBACK_RENEW;
 }
 
+static const char *types_strs[] = {
+  "tcp",
+  "udp",
+  "ssl",
+  "local-user",
+  "local-system",
+  NULL
+};
+
+static const Ecore_Getopt options = {
+  "ecore_con_client_example", /* program name */
+  NULL, /* usage line */
+  "1", /* version */
+  "(C) 2016 Enlightenment Project; 2010 Mike Blumenkrantz", /* copyright */
+  "BSD 2-Clause", /* license */
+  /* long description, may be multiline and contain \n */
+  "Example of ecore_con_server_connect()\n",
+  EINA_FALSE,
+  {
+ECORE_GETOPT_CHOICE('t', "type", "Server type to use, defaults to 'tcp'", 
types_strs),
+ECORE_GETOPT_STORE_TRUE('P', "no-proxy", "Do not use SOCKS proxy for 
remote connections."),
+
+ECORE_GETOPT_STORE_TRUE('f', "flush", "Force a flush after every send 
call."),
+ECORE_GETOPT_STORE_TRUE('m', "single-message", "Send a single message and 
delete the server."),
+
+ECORE_GETOPT_VERSION('V', "version"),
+ECORE_GETOPT_COPYRIGHT('C', "copyright"),
+ECORE_GETOPT_LICENSE('L', "license"),
+ECORE_GETOPT_HELP('h', "help"),
+
+ECORE_GETOPT_STORE_METAVAR_STR(0, NULL, "The server name.", "name"),
+ECORE_GETOPT_STORE_METAVAR_INT(0, NULL, "The server port.", "port"),
+
+ECORE_GETOPT_SENTINEL
+  }
+};
+
 int
-main()
+main(int argc, 

[EGIT] [core/efl] master 03/06: efl_io_copier: expose pending_size and add debug to done_get.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit c33ed61e1735020953b67f1049c11cedd51950dc
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 17:31:48 2016 -0200

efl_io_copier: expose pending_size and add debug to done_get.

In some cases the copier isn't done but you know there is not more
data to arrive at it, then you want to know if all pending data was
flushed from the copier's intermediate buffer to the destination, if
so you can call it closed yourself.
---
 src/lib/ecore/efl_io_copier.c  | 21 +++--
 src/lib/ecore/efl_io_copier.eo | 17 +
 2 files changed, 36 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/efl_io_copier.c b/src/lib/ecore/efl_io_copier.c
index c92a8ef..78d14f1 100644
--- a/src/lib/ecore/efl_io_copier.c
+++ b/src/lib/ecore/efl_io_copier.c
@@ -781,9 +781,26 @@ _efl_io_copier_flush(Eo *o, Efl_Io_Copier_Data *pd, 
Eina_Bool may_block, Eina_Bo
return pd->done;
 }
 
-EOLIAN static Eina_Bool
-_efl_io_copier_done_get(Eo *o EINA_UNUSED, Efl_Io_Copier_Data *pd)
+EOLIAN static size_t
+_efl_io_copier_pending_size_get(Eo *o EINA_UNUSED, Efl_Io_Copier_Data *pd)
 {
+   return pd->buf ? eina_binbuf_length_get(pd->buf) : 0;
+}
+
+EOLIAN static Eina_Bool
+_efl_io_copier_done_get(Eo *o, Efl_Io_Copier_Data *pd)
+{
+   DBG("%p done=%d pending=%zd source={%p %s, eos=%d, closed=%d}, 
destination={%p %s, closed=%d}",
+   o, pd->done,
+   pd->buf ? eina_binbuf_length_get(pd->buf) : 0,
+   pd->source,
+   pd->source ? efl_class_name_get(pd->source) : "",
+   pd->source ? efl_io_reader_eos_get(pd->source) : 1,
+   pd->source ? (efl_isa(pd->source, EFL_IO_CLOSER_MIXIN) ? 
efl_io_closer_closed_get(pd->source) : 0) : 1,
+   pd->destination,
+   pd->destination ? efl_class_name_get(pd->destination) : "",
+   pd->destination ? (efl_isa(pd->destination, EFL_IO_CLOSER_MIXIN) ? 
efl_io_closer_closed_get(pd->destination) : 0) : 1);
+
return pd->done;
 }
 
diff --git a/src/lib/ecore/efl_io_copier.eo b/src/lib/ecore/efl_io_copier.eo
index 36ad624..23198e8 100644
--- a/src/lib/ecore/efl_io_copier.eo
+++ b/src/lib/ecore/efl_io_copier.eo
@@ -313,6 +313,23 @@ class Efl.Io.Copier (Efl.Loop_User, Efl.Io.Closer) {
return: free(own(ptr(Eina.Binbuf)), eina_binbuf_free) @warn_unused; 
[[Binbuf]]
 }
 
+@property pending_size {
+[[Returns the size of the pending buffer.
+
+  The pending buffer is an intermediate buffer where data
+  is read from @.source before it's written to
+  @.destination, if any.
+
+  This is the equivalent of the size of returned by
+  @.binbuf_steal, however it doesn't steal or modify the
+  buffer at all, just query its internal size.
+]]
+get { }
+values {
+size: size; [[The pending buffer size, in bytes.]]
+}
+}
+
 flush {
 [[Forces reading from source and writing to destination.
 

-- 




[EGIT] [core/efl] master 01/06: eina_btlog: flush stdout for each line.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 5242c3b1d4120133a7d428760f5cbc27f7d5e067
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 12:09:34 2016 -0200

eina_btlog: flush stdout for each line.

The huge buffer from stdout is annoying when running inside eo_debug.
---
 src/bin/eina/eina_btlog.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/bin/eina/eina_btlog.c b/src/bin/eina/eina_btlog.c
index 0be9301..db8eb93 100644
--- a/src/bin/eina/eina_btlog.c
+++ b/src/bin/eina/eina_btlog.c
@@ -477,6 +477,7 @@ main(int argc, char **argv)
 func_color, bt->func_name, reset_color,
 file_color, bt->file_name, reset_color,
 line_color, bt->line, reset_color);
+ fflush(stdout);
  continue;
   }
 
@@ -504,6 +505,7 @@ main(int argc, char **argv)
sep_color,
reset_color);
  }
+   fflush(stdout);
EINA_LIST_FREE(btl, bt)
  {
 free(bt->bin_dir);

-- 




[EGIT] [core/efl] master 06/06: ecore_con_server_example: allow more features and protocols to be used.

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit 2d2dc4de4b63a4fef5c38786211443ccc5e9157d
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 15:53:52 2016 -0200

ecore_con_server_example: allow more features and protocols to be used.

Instead of a single SSL connection, allow for local, tcp and udp,
optional flush and delete-after-write (--single-message) and echo
mode.

Very similar to ecore_ipc_server_example.c
---
 src/examples/ecore/ecore_con_server_example.c | 229 +-
 1 file changed, 190 insertions(+), 39 deletions(-)

diff --git a/src/examples/ecore/ecore_con_server_example.c 
b/src/examples/ecore/ecore_con_server_example.c
index e835ab0..ddf62e2 100644
--- a/src/examples/ecore/ecore_con_server_example.c
+++ b/src/examples/ecore/ecore_con_server_example.c
@@ -8,85 +8,236 @@
 #include 
 #include 
 #include 
+#include 
 
 /* Ecore_Con server example
  * 2010 Mike Blumenkrantz
  */
 
-#ifdef HAVE_GNUTLS
-#include 
+static int retval = EXIT_SUCCESS;
+static Eina_Bool echo = EINA_FALSE;
+static Eina_Bool do_flush = EINA_FALSE;
+static Eina_Bool single_message = EINA_FALSE;
 
-static void
-tls_log_func(int level, const char *str)
+Eina_Bool
+_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
-   fprintf(stderr, "|<%d>| %s", level, str);
+   Ecore_Con_Event_Client_Add *ev = event;
+
+   printf("INFO: client added %p: %s\n", ev->client, 
ecore_con_client_ip_get(ev->client));
+
+   if (!echo)
+ {
+ecore_con_client_send(ev->client, "Hello World!", strlen("Hello 
World!"));
+if (do_flush) ecore_con_client_flush(ev->client);
+if (single_message) ecore_con_client_del(ev->client);
+ }
+
+   return ECORE_CALLBACK_RENEW;
 }
-#endif
 
 Eina_Bool
-_add(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Con_Event_Client_Add 
*ev)
+_del(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
-   printf("Client with ip %s connected!\n", 
ecore_con_client_ip_get(ev->client));
-   ecore_con_client_send(ev->client, "hello!", 6);
-//   ecore_con_client_flush(ev->client);
-   ecore_con_client_timeout_set(ev->client, 5);
+   Ecore_Con_Event_Client_Del *ev = event;
 
+   printf("INFO: client deleted %p: %s!\n", ev->client, 
ecore_con_client_ip_get(ev->client));
+   ecore_con_client_del(ev->client);
return ECORE_CALLBACK_RENEW;
 }
 
 Eina_Bool
-_del(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_Con_Event_Client_Del 
*ev)
+_data(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
-   printf("Lost client with ip %s!\n", ecore_con_client_ip_get(ev->client));
-   ecore_main_loop_quit();
+   Ecore_Con_Event_Client_Data *ev = event;
+
+   printf("INFO: client data %p: %s\n"
+  "INFO:  - size: %d\n"
+  "-- BEGIN DATA --\n",
+  ev->client, ecore_con_client_ip_get(ev->client),
+  ev->size);
+
+   fwrite(ev->data, ev->size, 1, stdout);
+   puts("-- END DATA --");
+
+   if (echo)
+ {
+ecore_con_client_send(ev->client, ev->data, ev->size);
+if (do_flush) ecore_con_client_flush(ev->client);
+if (single_message) ecore_con_client_del(ev->client);
+ }
+
return ECORE_CALLBACK_RENEW;
 }
 
+
 Eina_Bool
-_data(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Con_Event_Client_Data *ev)
+_write(void *data EINA_UNUSED, int type EINA_UNUSED, void *event)
 {
-   char fmt[128];
-
-   snprintf(fmt, sizeof(fmt),
-"Received %i bytes from client:\n"
-">\n"
-"%%.%is\n"
-">\n",
-ev->size, ev->size);
-
-   printf(fmt, ev->data);
+   Ecore_Con_Event_Client_Write *ev = event;
+   printf("Sent %d bytes to client %s\n", ev->size, 
ecore_con_client_ip_get(ev->client));
return ECORE_CALLBACK_RENEW;
 }
 
+static const char *types_strs[] = {
+  "tcp",
+  "udp",
+  "ssl",
+  "mcast",
+  "local-user",
+  "local-system",
+  NULL
+};
+
+static const Ecore_Getopt options = {
+  "ecore_con_server_example", /* program name */
+  NULL, /* usage line */
+  "1", /* version */
+  "(C) 2016 Enlightenment Project; 2010 Mike Blumenkrantz", /* copyright */
+  "BSD 2-Clause", /* license */
+  /* long description, may be multiline and contain \n */
+  "Example of ecore_con_server_add() usage.\n",
+  EINA_FALSE,
+  {
+ECORE_GETOPT_CHOICE('t', "type", "Server type to use, defaults to 'tcp'", 
types_strs),
+
+ECORE_GETOPT_STORE_INT('l', "clients-limit",
+"If set will limit number of clients to accept"),
+ECORE_GETOPT_STORE_TRUE('r', "clients-reject-excess",
+"Immediately reject excess clients (over limit)"),
+
+ECORE_GETOPT_STORE_TRUE('e', "echo",
+"Behave as 'echo' server, send back to client all 
the data receive"),
+ECORE_GETOPT_STORE_TRUE('f', "flush", "Force a flush after every send 
call."),
+ 

[EGIT] [core/efl] master 02/06: efl_io_buffered_stream: property and event 'progress'

2016-12-08 Thread Gustavo Sverzut Barbieri
barbieri pushed a commit to branch master.

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

commit bb5f91273c68e350fbe4aeeb282942c1bd017178
Author: Gustavo Sverzut Barbieri 
Date:   Wed Dec 7 16:55:42 2016 -0200

efl_io_buffered_stream: property and event 'progress'

useful to get feedback on when data was actually sent/received, and
how much.
---
 src/lib/ecore/efl_io_buffered_stream.c  | 27 +++
 src/lib/ecore/efl_io_buffered_stream.eo | 10 ++
 2 files changed, 37 insertions(+)

diff --git a/src/lib/ecore/efl_io_buffered_stream.c 
b/src/lib/ecore/efl_io_buffered_stream.c
index f75c033..69ea69c 100644
--- a/src/lib/ecore/efl_io_buffered_stream.c
+++ b/src/lib/ecore/efl_io_buffered_stream.c
@@ -35,6 +35,13 @@ _efl_io_buffered_stream_error(void *data, const Efl_Event 
*event)
 }
 
 static void
+_efl_io_buffered_stream_copier_progress(void *data, const Efl_Event *event 
EINA_UNUSED)
+{
+   Eo *o = data;
+   efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_PROGRESS, NULL);
+}
+
+static void
 _efl_io_buffered_stream_incoming_can_read_changed(void *data, const Efl_Event 
*event)
 {
Eo *o = data;
@@ -69,6 +76,7 @@ _efl_io_buffered_stream_receiver_done(void *data, const 
Efl_Event *event EINA_UN
 }
 
 EFL_CALLBACKS_ARRAY_DEFINE(_efl_io_buffered_stream_receiver_cbs,
+   { EFL_IO_COPIER_EVENT_PROGRESS, 
_efl_io_buffered_stream_copier_progress },
{ EFL_IO_COPIER_EVENT_DONE, 
_efl_io_buffered_stream_receiver_done },
{ EFL_IO_COPIER_EVENT_LINE, 
_efl_io_buffered_stream_receiver_line },
{ EFL_IO_COPIER_EVENT_ERROR, 
_efl_io_buffered_stream_error });
@@ -90,12 +98,16 @@ _efl_io_buffered_stream_sender_done(void *data, const 
Efl_Event *event EINA_UNUS
 {
Eo *o = data;
Efl_Io_Buffered_Stream_Data *pd = efl_data_scope_get(o, MY_CLASS);
+   efl_ref(o);
+   efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_PROGRESS, NULL);
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_WRITE_FINISHED, 
NULL);
if (efl_io_copier_done_get(pd->receiver))
  efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, NULL);
+   efl_unref(o);
 }
 
 EFL_CALLBACKS_ARRAY_DEFINE(_efl_io_buffered_stream_sender_cbs,
+   { EFL_IO_COPIER_EVENT_PROGRESS, 
_efl_io_buffered_stream_copier_progress },
{ EFL_IO_COPIER_EVENT_DONE, 
_efl_io_buffered_stream_sender_done },
{ EFL_IO_COPIER_EVENT_ERROR, 
_efl_io_buffered_stream_error });
 
@@ -262,10 +274,13 @@ _efl_io_buffered_stream_efl_io_reader_eos_set(Eo *o, 
Efl_Io_Buffered_Stream_Data
pd->eos = is_eos;
if (!is_eos) return;
 
+   efl_ref(o);
+   efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_PROGRESS, NULL);
efl_event_callback_call(o, EFL_IO_READER_EVENT_EOS, NULL);
efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_READ_FINISHED, 
NULL);
if (efl_io_copier_done_get(pd->sender))
  efl_event_callback_call(o, EFL_IO_BUFFERED_STREAM_EVENT_FINISHED, NULL);
+   efl_unref(o);
 }
 
 EOLIAN static Eina_Error
@@ -482,6 +497,18 @@ _efl_io_buffered_stream_pending_read_get(Eo *o 
EINA_UNUSED, Efl_Io_Buffered_Stre
return efl_io_queue_usage_get(pd->incoming);
 }
 
+EOLIAN static void
+_efl_io_buffered_stream_progress_get(Eo *o EINA_UNUSED, 
Efl_Io_Buffered_Stream_Data *pd, size_t *pr, size_t *pw)
+{
+   size_t r = 0, w = 0;
+
+   if (pd->sender) efl_io_copier_progress_get(pd->sender, NULL, , NULL);
+   if (pd->receiver) efl_io_copier_progress_get(pd->receiver, , NULL, NULL);
+
+   if (pr) *pr = r;
+   if (pw) *pw = w;
+}
+
 EOLIAN static Eina_Bool
 _efl_io_buffered_stream_slice_get(Eo *o EINA_UNUSED, 
Efl_Io_Buffered_Stream_Data *pd, Eina_Slice *slice)
 {
diff --git a/src/lib/ecore/efl_io_buffered_stream.eo 
b/src/lib/ecore/efl_io_buffered_stream.eo
index 28049c4..e8a7b52 100644
--- a/src/lib/ecore/efl_io_buffered_stream.eo
+++ b/src/lib/ecore/efl_io_buffered_stream.eo
@@ -146,6 +146,15 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, 
Efl.Io.Reader, Efl.Io.Writer, Efl.I
 }
 }
 
+@property progress {
+[[How many bytes were written and read.]]
+get { }
+values {
+read_bytes: size; [[Bytes that were read until now]]
+written_bytes: size; [[Bytes that were written until now]]
+}
+}
+
 slice_get { // TODO: property and return of Eina.Slice (not pointer)
 [[Get a temporary access to input queue's internal read memory.
 
@@ -231,6 +240,7 @@ class Efl.Io.Buffered_Stream (Efl.Loop_User, Efl.Io.Reader, 
Efl.Io.Writer, Efl.I
 read,finished; [[Same as @Efl.Io.Reader "eos", for consistency.]]
 finished; [[Both read and write are finished.]]
 error: Eina.Error; [[An error happened and the 

[EGIT] [core/efl] master 01/01: gl_drm: Check for the correct dma_buf extension

2016-12-08 Thread Derek Foreman
derekf pushed a commit to branch master.

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

commit add19c8a77e80b33c44263e926a4285115d2461c
Author: Derek Foreman 
Date:   Thu Dec 8 07:35:10 2016 -0600

gl_drm: Check for the correct dma_buf extension

We're importing, not exporting
---
 src/modules/evas/engines/gl_drm/evas_engine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c 
b/src/modules/evas/engines/gl_drm/evas_engine.c
index 18ac39d..20237eb 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -270,7 +270,7 @@ gl_extn_veto(Render_Engine *re)
 
 if (!strstr(str, "EGL_EXT_swap_buffers_with_damage"))
   glsym_eglSwapBuffersWithDamage = NULL;
-if (strstr(str, "EGL_MESA_image_dma_buf_export"))
+if (strstr(str, "EGL_EXT_image_dma_buf_import"))
   dmabuf_present = EINA_TRUE;
  }
else

-- 




Re: [E-devel] [EGIT] [core/efl] master 01/02: exore_exe: fix from @raster

2016-12-08 Thread Stefan Schmidt
Hello.

On 08/12/16 14:35, Stefan Schmidt wrote:
> Hello.
>
> On 08/12/16 13:14, Andrii Kroitor wrote:
>> lorddrew pushed a commit to branch master.
>>
>> http://git.enlightenment.org/core/efl.git/commit/?id=c505b754ce43a711024f6bad6150c7294e067046
>>
>> commit c505b754ce43a711024f6bad6150c7294e067046
>> Author: Andrii Kroitor 
>> Date:   Fri Dec 2 12:01:41 2016 +0200
>>
>> exore_exe: fix from @raster
>> ---
>>  src/lib/ecore/ecore_exe_private.h |  23 +-
>>  src/lib/ecore/ecore_exe_win32.c   | 665 
>> +++---
>>  2 files changed, 337 insertions(+), 351 deletions(-)
>
> Having a short commit message is one think but the one above tells us
> nothing. I felt tempted to just revert it based on that fact. Especially
> if one sees how big the commit is and how much code it changes.
>
> You have commit rights now and I expect better from people that got them.

My apologies. Just seen the revert after I have sent the mail.

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] [EGIT] [core/efl] master 01/02: exore_exe: fix from @raster

2016-12-08 Thread Stefan Schmidt
Hello.

On 08/12/16 13:14, Andrii Kroitor wrote:
> lorddrew pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=c505b754ce43a711024f6bad6150c7294e067046
>
> commit c505b754ce43a711024f6bad6150c7294e067046
> Author: Andrii Kroitor 
> Date:   Fri Dec 2 12:01:41 2016 +0200
>
> exore_exe: fix from @raster
> ---
>  src/lib/ecore/ecore_exe_private.h |  23 +-
>  src/lib/ecore/ecore_exe_win32.c   | 665 
> +++---
>  2 files changed, 337 insertions(+), 351 deletions(-)

Having a short commit message is one think but the one above tells us 
nothing. I felt tempted to just revert it based on that fact. Especially 
if one sees how big the commit is and how much code it changes.

You have commit rights now and I expect better from people that got them.

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: ecore_exe: fix ecore_exe_send on Windows

2016-12-08 Thread Andrii Kroitor
lorddrew pushed a commit to branch master.

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

commit 52d4313bb65f4fc224d3b35e37243b08f5b16234
Author: Andrii Kroitor 
Date:   Thu Dec 8 15:15:38 2016 +0200

ecore_exe: fix ecore_exe_send on Windows

Do not repeat already sent data.
Remove pipe_write.data_buf because data was sent directly anyway and it was
used only in this method.
---
 src/lib/ecore/ecore_exe_private.h |  2 --
 src/lib/ecore/ecore_exe_win32.c   | 11 +--
 2 files changed, 1 insertion(+), 12 deletions(-)

diff --git a/src/lib/ecore/ecore_exe_private.h 
b/src/lib/ecore/ecore_exe_private.h
index 53e4442..030b046 100644
--- a/src/lib/ecore/ecore_exe_private.h
+++ b/src/lib/ecore/ecore_exe_private.h
@@ -92,8 +92,6 @@ struct _Ecore_Exe_Data
{
   HANDLE child_pipe;
   HANDLE child_pipe_x;
-  void *data_buf;
-  int data_size;
} pipe_write;
 
struct
diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c
index 7b9f41d..67b26fb 100644
--- a/src/lib/ecore/ecore_exe_win32.c
+++ b/src/lib/ecore/ecore_exe_win32.c
@@ -558,19 +558,10 @@ _impl_ecore_exe_send(Ecore_Exe  *obj,
const void *data,
int size)
 {
-   void *buf = NULL;
DWORD num_exe;
BOOL res;
 
-   buf = realloc(exe->pipe_write.data_buf, exe->pipe_write.data_size + size);
-   if (!buf) return EINA_FALSE;
-
-   exe->pipe_write.data_buf = buf;
-   memcpy((char *)exe->pipe_write.data_buf + exe->pipe_write.data_size, data, 
size);
-   exe->pipe_write.data_size += size;
-
-   res = WriteFile(exe->pipe_write.child_pipe_x, buf, 
exe->pipe_write.data_size, _exe, NULL);
-   printf(" ** res : %d\n", res);
+   res = WriteFile(exe->pipe_write.child_pipe_x, data, size, _exe, NULL);
if (!res || num_exe == 0)
  {
 ERR("Ecore_Exe %p stdin is closed! Cannot send %d bytes from %p",

-- 




[EGIT] [core/efl] master 01/01: eolian gen: remove dead code

2016-12-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 698631578f044cf3a419b9d60bf46438bfa415ea
Author: Daniel Kolesa 
Date:   Thu Dec 8 14:06:09 2016 +0100

eolian gen: remove dead code

Cedric forgot to remove all of the promise code.

Fixes CID1365652.
---
 src/bin/eolian/sources.c | 8 
 1 file changed, 8 deletions(-)

diff --git a/src/bin/eolian/sources.c b/src/bin/eolian/sources.c
index 9114435..6e6961c 100644
--- a/src/bin/eolian/sources.c
+++ b/src/bin/eolian/sources.c
@@ -115,7 +115,6 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function 
*fid,
Eina_Strbuf *params_full_imp = eina_strbuf_new(); /* as above, for impl */
Eina_Strbuf *params_init = eina_strbuf_new(); /* default value inits */
 
-   Eina_Bool has_promise = EINA_FALSE;
Eina_Stringshare *promise_param_name = NULL;
Eina_Stringshare *promise_param_type = NULL;
 
@@ -402,13 +401,6 @@ _gen_func(const Eolian_Class *cl, const Eolian_Function 
*fid,
 
 eina_strbuf_append(buf, ");\n");
 
-if (has_promise)
-  {
- eina_strbuf_append(buf, "\n#undef 
_EFL_OBJECT_API_BEFORE_HOOK\n#undef _EFL_OBJECT_API_AFTER_HOOK\n#undef 
_EFL_OBJECT_API_CALL_HOOK\n"
- "#define 
_EFL_OBJECT_API_BEFORE_HOOK\n#define _EFL_OBJECT_API_AFTER_HOOK\n"
- "#define _EFL_OBJECT_API_CALL_HOOK(x) 
x\n");
-  }
-
 /* now try legacy */
 Eina_Stringshare *lfn = eolian_function_full_c_name_get(fid, ftype, 
EINA_TRUE);
 if (!eolian_function_is_beta(fid) && lfn)

-- 




[EGIT] [core/efl] master 01/01: eolian gen: fix leak in type generator

2016-12-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 6e8f97a22fff59235dd40aa89c20981e41506644
Author: Daniel Kolesa 
Date:   Thu Dec 8 14:00:02 2016 +0100

eolian gen: fix leak in type generator

Fixes CID1365322.
---
 src/bin/eolian/types.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/bin/eolian/types.c b/src/bin/eolian/types.c
index ccc9bc6..7ad63f7 100644
--- a/src/bin/eolian/types.c
+++ b/src/bin/eolian/types.c
@@ -269,6 +269,7 @@ void eo_gen_types_source_gen(const char *eof, Eina_Strbuf 
*buf)
 Eina_Stringshare *ct = eolian_type_c_type_get(vt);
 eina_strbuf_append_printf(buf, "EWAPI %s %s = ", ct, fn);
 eina_stringshare_del(ct);
+free(fn);
 
 Eolian_Value val = eolian_expression_eval_type(vv, vt);
 Eina_Stringshare *lit = eolian_expression_value_to_literal();

-- 




Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Vincent Torri
it seems to work on windows though i have to launch autoreconf (pb with libtool)

Vincent

On Thu, Dec 8, 2016 at 11:01 AM, Stefan Schmidt  wrote:
> Hello.
>
> On 07/12/16 23:07, Jean Guyomarc'h wrote:
>> Hi Stefan,
>>
>> 1.18.4 is ready to roll on macOS :)
>
> Thanks.
>
> Also let me underline that I'm very happy with such quick and short
> feedback on the pre-release tarballs.
>
> regards
> Stefan Schmidt
>
> --
> Developer Access Program for Intel Xeon Phi Processors
> Access to Intel Xeon Phi processor-based developer platforms.
> With one year of Intel Parallel Studio XE.
> Training and support from Colfax.
> Order your platform today.http://sdm.link/xeonphi
> ___
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [core/efl] master 01/01: eolian: clean up unnecessary logic in eolian_documentation_string_split

2016-12-08 Thread Daniel Kolesa
q66 pushed a commit to branch master.

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

commit 7df8625c4078c496f2e7a156fcca4ad698112005
Author: Daniel Kolesa 
Date:   Thu Dec 8 13:53:03 2016 +0100

eolian: clean up unnecessary logic in eolian_documentation_string_split

Fixes CID1366824.
---
 src/lib/eolian/eolian_database.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/eolian/eolian_database.c b/src/lib/eolian/eolian_database.c
index 5ce1777..2298b80 100644
--- a/src/lib/eolian/eolian_database.c
+++ b/src/lib/eolian/eolian_database.c
@@ -216,9 +216,11 @@ EAPI Eina_List *
 eolian_documentation_string_split(const char *doc)
 {
EINA_SAFETY_ON_NULL_RETURN_VAL(doc, NULL);
+   if (!doc[0])
+ return NULL;
const char *sep = strstr(doc, "\n\n");
Eina_List *ret = NULL;
-   while (doc)
+   for (;;)
  {
 Eina_Strbuf *buf = eina_strbuf_new();
 if (sep)

-- 




[EGIT] [core/efl] master 01/01: Revert "exore_exe: fix from @raster"

2016-12-08 Thread Andrii Kroitor
lorddrew pushed a commit to branch master.

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

commit 6f6323d12e7797768098e64b1593f656574b250a
Author: Andrii Kroitor 
Date:   Thu Dec 8 14:16:38 2016 +0200

Revert "exore_exe: fix from @raster"

This reverts commit c505b754ce43a711024f6bad6150c7294e067046.

Accidentally pushed this with build fix. Sorry :(
This commit is related to T4938 and it's goint to be updated, checked and 
pushed later.
---
 src/lib/ecore/ecore_exe_private.h |  23 +-
 src/lib/ecore/ecore_exe_win32.c   | 665 +++---
 2 files changed, 351 insertions(+), 337 deletions(-)

diff --git a/src/lib/ecore/ecore_exe_private.h 
b/src/lib/ecore/ecore_exe_private.h
index 7551e7d..53e4442 100644
--- a/src/lib/ecore/ecore_exe_private.h
+++ b/src/lib/ecore/ecore_exe_private.h
@@ -80,26 +80,29 @@ struct _Ecore_Exe_Data
Ecore_Win32_Handler *h_close;
Ecore_Exe_Win32_Signal sig;
 
-   Ecore_Thread *th;
-
-   struct {
+   struct
+   {
   HANDLE child_pipe;
+  HANDLE thread;
   void *data_buf;
-  int data_size;
+  DWORD data_size;
} pipe_read;
 
-   struct {
+   struct
+   {
   HANDLE child_pipe;
+  HANDLE child_pipe_x;
   void *data_buf;
   int data_size;
-   } pipe_error;
+   } pipe_write;
 
-   struct {
+   struct
+   {
   HANDLE child_pipe;
-  HANDLE child_pipe_x;
+  HANDLE thread;
   void *data_buf;
-  int data_size;
-   } pipe_write;
+  DWORD data_size;
+   } pipe_error;
 
Eina_Bool close_threads : 1;
Eina_Bool is_suspended : 1;
diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c
index eb7b092..7b9f41d 100644
--- a/src/lib/ecore/ecore_exe_win32.c
+++ b/src/lib/ecore/ecore_exe_win32.c
@@ -40,11 +40,27 @@ static void
 _ecore_exe_threads_terminate(Ecore_Exe *obj)
 {
Ecore_Exe_Data *exe = efl_data_scope_get(obj, ECORE_EXE_CLASS);
+   HANDLE threads[2] = { NULL, NULL };
+   int i = 0;
 
if (!exe) return;
-   if (!exe->th) return;
-   ecore_thread_cancel(exe->th);
-   ecore_thread_wait(exe->th, 0.3);
+   if (exe->pipe_read.thread)
+ {
+threads[i] = exe->pipe_read.thread;
+i++;
+ }
+   if (exe->pipe_error.thread)
+ {
+threads[i] = exe->pipe_error.thread;
+i++;
+ }
+   if (i > 0)
+ {
+exe->close_threads = 1;
+WaitForMultipleObjects(i, threads, TRUE, INFINITE);
+   IF_FN_DEL(CloseHandle, exe->pipe_error.thread);
+   IF_FN_DEL(CloseHandle, exe->pipe_read.thread);
+ }
 }
 
 static Eina_Bool
@@ -65,8 +81,10 @@ _ecore_exe_close_cb(void *data,
/* FIXME : manage the STILL_ACTIVE returned error */
if (!GetExitCodeProcess(exe->process, _code))
  {
-char *msg = evil_last_error_get();
-DBG("%s", msg);
+char *msg;
+
+msg = evil_last_error_get();
+printf("%s\n", msg);
 free(msg);
  }
 
@@ -76,182 +94,154 @@ _ecore_exe_close_cb(void *data,
e->exe = obj;
exe->h_close = NULL; // It's going to get deleted in the next callback.
 
-   ecore_event_add(ECORE_EXE_EVENT_DEL, e, _ecore_exe_event_del_free, NULL);
+   ecore_event_add(ECORE_EXE_EVENT_DEL, e,
+   _ecore_exe_event_del_free, NULL);
 
DBG("Exiting process %s with exit code %d\n", exe->cmd, e->exit_code);
+
return 0;
 }
 
-typedef struct
-{
-   Ecore_Exe  *obj;
-   HANDLE  read_pipe;
-   HANDLE  error_pipe;
-   Eina_Bool   read : 1;
-   Eina_Bool   error : 1;
-} Threaddata;
-
-typedef struct
-{
-   Ecore_Exe *obj;
-   unsigned char *buf;
-   intbuf_size;
-   Eina_Bool  read : 1;
-   Eina_Bool  error : 1;
-} Threadreply;
-
-static void
-_ecore_exe_win32_io_poll_thread(void *data, Ecore_Thread *th)
+static unsigned int __stdcall
+_ecore_exe_pipe_read_thread_cb(void *data)
 {
-   Threaddata *tdat = data;
-   Threadreply *trep;
-   Eina_Bool data_read, data_write;
-   char buf[4096];
-   DWORD size, current_size;
+   char buf[64];
+   Ecore_Exe *obj = data;
+   Ecore_Exe_Data *exe = efl_data_scope_get(obj, ECORE_EXE_CLASS);
+   Ecore_Exe_Event_Data *event_data;
+   char *current_buf = NULL;
+   DWORD size;
+   DWORD current_size = 0;
BOOL res;
 
-   while (EINA_TRUE)
+   if (!exe) return 0;
+   while (1)
  {
-data_read = EINA_FALSE;
-data_write = EINA_FALSE;
+res = PeekNamedPipe(exe->pipe_read.child_pipe,
+buf, sizeof(buf) - 1, , _size, NULL);
+if (!res || (size == 0))
+  {
+ if (exe->close_threads)
+   break;
+
+ Sleep(100);
+ continue;
+  }
 
-if (tdat->read)
+current_buf = (char *)malloc(current_size);
+if (!current_buf)
+  continue;
+
+res = ReadFile(exe->pipe_read.child_pipe, current_buf, current_size, 
, NULL);
+if (!res || (size == 0))
+  {
+   

[EGIT] [core/efl] master 02/02: evas: fix software_gdi engine compilation

2016-12-08 Thread Andrii Kroitor
lorddrew pushed a commit to branch master.

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

commit 0c9182b970fde73d419aff0973aa7ca176ea7cd7
Author: Andrii Kroitor 
Date:   Thu Dec 8 14:13:01 2016 +0200

evas: fix software_gdi engine compilation
---
 src/modules/evas/engines/software_gdi/evas_engine.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/modules/evas/engines/software_gdi/evas_engine.c 
b/src/modules/evas/engines/software_gdi/evas_engine.c
index 1e156f7..413d20b 100644
--- a/src/modules/evas/engines/software_gdi/evas_engine.c
+++ b/src/modules/evas/engines/software_gdi/evas_engine.c
@@ -94,7 +94,6 @@ static void *
 eng_setup(void *in, unsigned int w, unsigned int h)
 {
Evas_Engine_Info_Software_Gdi *info;
-   Render_Engine *re;
 
info = (Evas_Engine_Info_Software_Gdi *)in;
return _output_setup(w,
@@ -110,10 +109,12 @@ eng_setup(void *in, unsigned int w, unsigned int h)
 static int
 eng_update(void *data, void *in, unsigned int w, unsigned int h)
 {
+   Evas_Engine_Info_Software_Gdi *info;
Render_Engine *re = data;
Outbuf *ob;
int ponebuf = 0;
 
+   info = (Evas_Engine_Info_Software_Gdi *)in;
ponebuf = re->generic.ob->onebuf;
 
ob = evas_software_gdi_outbuf_setup(w,

-- 




[EGIT] [core/efl] master 01/02: exore_exe: fix from @raster

2016-12-08 Thread Andrii Kroitor
lorddrew pushed a commit to branch master.

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

commit c505b754ce43a711024f6bad6150c7294e067046
Author: Andrii Kroitor 
Date:   Fri Dec 2 12:01:41 2016 +0200

exore_exe: fix from @raster
---
 src/lib/ecore/ecore_exe_private.h |  23 +-
 src/lib/ecore/ecore_exe_win32.c   | 665 +++---
 2 files changed, 337 insertions(+), 351 deletions(-)

diff --git a/src/lib/ecore/ecore_exe_private.h 
b/src/lib/ecore/ecore_exe_private.h
index 53e4442..7551e7d 100644
--- a/src/lib/ecore/ecore_exe_private.h
+++ b/src/lib/ecore/ecore_exe_private.h
@@ -80,29 +80,26 @@ struct _Ecore_Exe_Data
Ecore_Win32_Handler *h_close;
Ecore_Exe_Win32_Signal sig;
 
-   struct
-   {
+   Ecore_Thread *th;
+
+   struct {
   HANDLE child_pipe;
-  HANDLE thread;
   void *data_buf;
-  DWORD data_size;
+  int data_size;
} pipe_read;
 
-   struct
-   {
+   struct {
   HANDLE child_pipe;
-  HANDLE child_pipe_x;
   void *data_buf;
   int data_size;
-   } pipe_write;
+   } pipe_error;
 
-   struct
-   {
+   struct {
   HANDLE child_pipe;
-  HANDLE thread;
+  HANDLE child_pipe_x;
   void *data_buf;
-  DWORD data_size;
-   } pipe_error;
+  int data_size;
+   } pipe_write;
 
Eina_Bool close_threads : 1;
Eina_Bool is_suspended : 1;
diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c
index 7b9f41d..eb7b092 100644
--- a/src/lib/ecore/ecore_exe_win32.c
+++ b/src/lib/ecore/ecore_exe_win32.c
@@ -40,27 +40,11 @@ static void
 _ecore_exe_threads_terminate(Ecore_Exe *obj)
 {
Ecore_Exe_Data *exe = efl_data_scope_get(obj, ECORE_EXE_CLASS);
-   HANDLE threads[2] = { NULL, NULL };
-   int i = 0;
 
if (!exe) return;
-   if (exe->pipe_read.thread)
- {
-threads[i] = exe->pipe_read.thread;
-i++;
- }
-   if (exe->pipe_error.thread)
- {
-threads[i] = exe->pipe_error.thread;
-i++;
- }
-   if (i > 0)
- {
-exe->close_threads = 1;
-WaitForMultipleObjects(i, threads, TRUE, INFINITE);
-   IF_FN_DEL(CloseHandle, exe->pipe_error.thread);
-   IF_FN_DEL(CloseHandle, exe->pipe_read.thread);
- }
+   if (!exe->th) return;
+   ecore_thread_cancel(exe->th);
+   ecore_thread_wait(exe->th, 0.3);
 }
 
 static Eina_Bool
@@ -81,10 +65,8 @@ _ecore_exe_close_cb(void *data,
/* FIXME : manage the STILL_ACTIVE returned error */
if (!GetExitCodeProcess(exe->process, _code))
  {
-char *msg;
-
-msg = evil_last_error_get();
-printf("%s\n", msg);
+char *msg = evil_last_error_get();
+DBG("%s", msg);
 free(msg);
  }
 
@@ -94,154 +76,182 @@ _ecore_exe_close_cb(void *data,
e->exe = obj;
exe->h_close = NULL; // It's going to get deleted in the next callback.
 
-   ecore_event_add(ECORE_EXE_EVENT_DEL, e,
-   _ecore_exe_event_del_free, NULL);
+   ecore_event_add(ECORE_EXE_EVENT_DEL, e, _ecore_exe_event_del_free, NULL);
 
DBG("Exiting process %s with exit code %d\n", exe->cmd, e->exit_code);
-
return 0;
 }
 
-static unsigned int __stdcall
-_ecore_exe_pipe_read_thread_cb(void *data)
+typedef struct
 {
-   char buf[64];
-   Ecore_Exe *obj = data;
-   Ecore_Exe_Data *exe = efl_data_scope_get(obj, ECORE_EXE_CLASS);
-   Ecore_Exe_Event_Data *event_data;
-   char *current_buf = NULL;
-   DWORD size;
-   DWORD current_size = 0;
+   Ecore_Exe  *obj;
+   HANDLE  read_pipe;
+   HANDLE  error_pipe;
+   Eina_Bool   read : 1;
+   Eina_Bool   error : 1;
+} Threaddata;
+
+typedef struct
+{
+   Ecore_Exe *obj;
+   unsigned char *buf;
+   intbuf_size;
+   Eina_Bool  read : 1;
+   Eina_Bool  error : 1;
+} Threadreply;
+
+static void
+_ecore_exe_win32_io_poll_thread(void *data, Ecore_Thread *th)
+{
+   Threaddata *tdat = data;
+   Threadreply *trep;
+   Eina_Bool data_read, data_write;
+   char buf[4096];
+   DWORD size, current_size;
BOOL res;
 
-   if (!exe) return 0;
-   while (1)
+   while (EINA_TRUE)
  {
-res = PeekNamedPipe(exe->pipe_read.child_pipe,
-buf, sizeof(buf) - 1, , _size, NULL);
-if (!res || (size == 0))
-  {
- if (exe->close_threads)
-   break;
-
- Sleep(100);
- continue;
-  }
+data_read = EINA_FALSE;
+data_write = EINA_FALSE;
 
-current_buf = (char *)malloc(current_size);
-if (!current_buf)
-  continue;
-
-res = ReadFile(exe->pipe_read.child_pipe, current_buf, current_size, 
, NULL);
-if (!res || (size == 0))
-  {
- free(current_buf);
- current_buf = NULL;
- continue;
-  }
-
-current_size = size;
-
-if (!exe->pipe_read.data_buf)
-  {
- exe->pipe_read.data_buf = current_buf;
- 

[EGIT] [core/efl] efl-1.16 01/02: Eo gdb: Add workaround for gdb oddities.

2016-12-08 Thread Tom Hacohen
tasn pushed a commit to branch efl-1.16.

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

commit 1a39c10ccbbe9be8e92165268e06329c2ccd2649
Author: Tom Hacohen 
Date:   Thu Dec 8 11:03:25 2016 +

Eo gdb: Add workaround for gdb oddities.

These workarounds are required to make sure the plugin works across
gdb and python versions.
---
 data/eo/eo_gdb.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/eo/eo_gdb.py b/data/eo/eo_gdb.py
index f56be99..c330dc3 100644
--- a/data/eo/eo_gdb.py
+++ b/data/eo/eo_gdb.py
@@ -55,7 +55,7 @@ class Eo_resolve(gdb.Function):
 gdb.Function.__init__(self, 'eo_resolve')
 
 def invoke(self, arg):
-obj_id = int(arg.cast(zero_uintptr_t.type))
+obj_id = int(str(arg.cast(zero_uintptr_t.type)), 0)
 
 mid_table_id = (obj_id >> SHIFT_MID_TABLE_ID) & MASK_MID_TABLE_ID
 table_id = (obj_id >> SHIFT_TABLE_ID) & MASK_TABLE_ID
@@ -112,7 +112,7 @@ class Eo_data_get(gdb.Function):
 return null_void_ptr
 
 # Check if not mixin
-if int(kls['desc']['type']) != 3:
+if int(kls['desc']['type'].cast(zero_uintptr_t.type)) != 3:
 return gdb.parse_and_eval('(void *) (((char *) {}) + {})'
   .format(ptr, kls['data_offset']))
 else:

-- 




[EGIT] [core/efl] master 01/01: Eo gdb: Add workaround for gdb oddities.

2016-12-08 Thread Tom Hacohen
tasn pushed a commit to branch master.

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

commit 874071ca42d59d0870b2f7055c15d878cbdf1368
Author: Tom Hacohen 
Date:   Thu Dec 8 11:03:25 2016 +

Eo gdb: Add workaround for gdb oddities.

These workarounds are required to make sure the plugin works across
gdb and python versions.
---
 data/eo/eo_gdb.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/data/eo/eo_gdb.py b/data/eo/eo_gdb.py
index e02dd10..2f86fdc 100644
--- a/data/eo/eo_gdb.py
+++ b/data/eo/eo_gdb.py
@@ -66,7 +66,7 @@ class Eo_resolve(gdb.Function):
 gdb.Function.__init__(self, 'eo_resolve')
 
 def invoke(self, arg):
-obj_id = int(arg.cast(zero_uintptr_t.type))
+obj_id = int(str(arg.cast(zero_uintptr_t.type)), 0)
 
 mid_table_id = (obj_id >> SHIFT_MID_TABLE_ID) & MASK_MID_TABLE_ID
 table_id = (obj_id >> SHIFT_TABLE_ID) & MASK_TABLE_ID
@@ -124,7 +124,7 @@ class Eo_data_get(gdb.Function):
 return null_void_ptr
 
 # Check if not mixin
-if int(kls['desc']['type']) != 3:
+if int(kls['desc']['type'].cast(zero_uintptr_t.type)) != 3:
 return gdb.parse_and_eval('(void *) (((char *) {}) + {})'
   .format(ptr, kls['data_offset']))
 else:

-- 




[EGIT] [core/efl] efl-1.16 02/02: Eo gdb: Fix data_get calculation.

2016-12-08 Thread Tom Hacohen
tasn pushed a commit to branch efl-1.16.

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

commit 46d08ae4152210c8aa7a34dd1acea812f68b9bda
Author: Tom Hacohen 
Date:   Thu Dec 8 11:15:21 2016 +

Eo gdb: Fix data_get calculation.

I forgot to account for the offset from the beginning of the eo object.
---
 data/eo/eo_gdb.py | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/data/eo/eo_gdb.py b/data/eo/eo_gdb.py
index c330dc3..e403bf9 100644
--- a/data/eo/eo_gdb.py
+++ b/data/eo/eo_gdb.py
@@ -113,8 +113,9 @@ class Eo_data_get(gdb.Function):
 
 # Check if not mixin
 if int(kls['desc']['type'].cast(zero_uintptr_t.type)) != 3:
-return gdb.parse_and_eval('(void *) (((char *) {}) + {})'
-  .format(ptr, kls['data_offset']))
+return gdb.parse_and_eval(
+'(void *) (((char *) {}) + _eo_sz + {})'
+.format(ptr, kls['data_offset']))
 else:
 extn_off = ptr['klass']['extn_data_off']
 if int(extn_off) == 0:
@@ -124,8 +125,9 @@ class Eo_data_get(gdb.Function):
 while int(extn_off[i]['klass']) != 0:
 kls = extn_off[i]['klass']
 if kls['desc']['name'].string() == kls_name:
-return gdb.parse_and_eval('(void *) (((char *) {}) + {})'
-  .format(ptr, kls['data_offset']))
+return gdb.parse_and_eval(
+'(void *) (((char *) {}) + _eo_sz + {})'
+.format(ptr, kls['data_offset']))
 i += 1
 
 return null_void_ptr

-- 




Re: [E-devel] [EGIT] [core/efl] master 03/05: eina: Reinstall magic checks on Eina_File

2016-12-08 Thread Stefan Schmidt
Hello.

On 08/12/16 08:51, Jean-Philippe ANDRÉ wrote:
> jpeg pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=208e152bafca9165d3dfccb99d96a4308a663ade
>
> commit 208e152bafca9165d3dfccb99d96a4308a663ade
> Author: Jean-Philippe Andre 
> Date:   Thu Dec 8 15:49:03 2016 +0900
>
> eina: Reinstall magic checks on Eina_File
>
> file != NULL does not mean it's valid. Since Eina_File is
> a basic eina type a magic check is still better than nothing.
> It can avoid doing eina_file_dup() on a closed file for instance.
>
> This "fixes" a crash in eina_file_close with invalid files.
>
> Now I can go hunt the root cause...

Git bisect points me to this commit when bisecting a new failure in the 
eina test suite. It fails in eina_file_virtual.

JP, would be great if you could have a look.

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Simon Lees


On 12/08/2016 08:31 PM, Stefan Schmidt wrote:
> Hello.
> 
> On 07/12/16 23:07, Jean Guyomarc'h wrote:
>> Hi Stefan,
>>
>> 1.18.4 is ready to roll on macOS :)
> 
> Thanks.
> 
> Also let me underline that I'm very happy with such quick and short 
> feedback on the pre-release tarballs.
> 
> regards
> Stefan Schmidt
> 

For completeness even though i said it on IRC openSUSE is looking good
for X11 + Wayland (well it builds on wayland i didn't run anything)


-- 

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
--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Pre-release tarballs for efl 1.18.4

2016-12-08 Thread Stefan Schmidt
Hello.

On 07/12/16 23:07, Jean Guyomarc'h wrote:
> Hi Stefan,
>
> 1.18.4 is ready to roll on macOS :)

Thanks.

Also let me underline that I'm very happy with such quick and short 
feedback on the pre-release tarballs.

regards
Stefan Schmidt

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


[EGIT] [tools/eflete] master 01/01: string: allocate the string memory dynamically.

2016-12-08 Thread Jaehwan Kim
jaehwan pushed a commit to branch master.

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

commit aee2f39e4493721a9e2eff59012c021a26158c72
Author: Jaehwan Kim 
Date:   Thu Dec 8 17:44:18 2016 +0900

string: allocate the string memory dynamically.
---
 src/bin/common/string_common.c | 9 +++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/bin/common/string_common.c b/src/bin/common/string_common.c
index a11e825..712a0c9 100644
--- a/src/bin/common/string_common.c
+++ b/src/bin/common/string_common.c
@@ -102,8 +102,11 @@ char *
 string_backslash_insert(const char *str, char src)
 {
assert(str != NULL);
-   char dst[256];
+   char *dst;
int i = 0;
+   int count = 1;
+
+   dst = mem_malloc((strlen(str) + count) * sizeof(char));
 
while (*str != '\0')
  {
@@ -111,6 +114,8 @@ string_backslash_insert(const char *str, char src)
   dst[i] = *str;
 else
   {
+ count++;
+ dst = mem_malloc((strlen(str) + count) * sizeof(char));
  dst[i++] = '\\';
  dst[i] = src;
   }
@@ -119,7 +124,7 @@ string_backslash_insert(const char *str, char src)
  }
dst[i] = '\0';
 
-   return strdup(dst);
+   return dst;
 }
 
 /**

--