[EGIT] [website/www-content] master 01/01: Wiki page osx-start changed with summary [Homebrew ships EFL 1.18.4] by 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'hDate: 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.
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8784ba97ad2adea5b3709e35c90da56ad9a6d702 commit 8784ba97ad2adea5b3709e35c90da56ad9a6d702 Author: JEONGHYUN YUNDate: 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
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=17b2f8efaedbd259689abdf2af5e47861cd4f38c commit 17b2f8efaedbd259689abdf2af5e47861cd4f38c Author: SimonDate: 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
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=1eb210fe0a488e0f724a6d47a378ca9191e78fb0 commit 1eb210fe0a488e0f724a6d47a378ca9191e78fb0 Author: SimonDate: 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
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=576f9fa175fad912f006619d1c78fd946edacca7 commit 576f9fa175fad912f006619d1c78fd946edacca7 Author: SimonDate: 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
Hi Stefan, On 8 December 2016 at 19:36, Stefan Schmidtwrote: > 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
WWW-www.enlightenment.org pushed a commit to branch master. http://git.enlightenment.org/website/www-content.git/commit/?id=fa15abb33b8a9d1335fd246e16d9cee830395b6b commit fa15abb33b8a9d1335fd246e16d9cee830395b6b Author: SimonDate: 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
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=509cce5e433a9e524be276b7b89fb12fae666bff commit 509cce5e433a9e524be276b7b89fb12fae666bff Author: Jean-Philippe AndreDate: 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"
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=68e6e46015ebd3b52fd360e532a635e133a364bf commit 68e6e46015ebd3b52fd360e532a635e133a364bf Author: Jean-Philippe AndreDate: 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
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.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7316bda15096841ef3564647b92304736d5387f3 commit 7316bda15096841ef3564647b92304736d5387f3 Author: Cedric BailDate: 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
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
On 07/12/16 08:27 PM, Jean-Philippe André wrote: > Hey Derek, > > On 8 December 2016 at 07:41, Derek Foremanwrote: >> >> 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.
Oh my... I had a bad feeling when reading the commit message... Jean On Thu, Dec 8, 2016 at 8:43 AM, Vincent Torriwrote: > 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
jayji pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=42a722be23e91301cc269f2abb10d4e407bf444a commit 42a722be23e91301cc269f2abb10d4e407bf444a Author: Jean Guyomarc'hDate: 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b66324644c3466bfd58df10631fb82f9a1d4815f commit b66324644c3466bfd58df10631fb82f9a1d4815f Author: Chris MichaelDate: 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8ebf4cd972674406b1fbfc497617996f1d7f4462 commit 8ebf4cd972674406b1fbfc497617996f1d7f4462 Author: Chris MichaelDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=17e0204ab334494e051a52435687390375634e69 commit 17e0204ab334494e051a52435687390375634e69 Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=87bed5622eb377cf93935e3cdad6051f3d126d6e commit 87bed5622eb377cf93935e3cdad6051f3d126d6e Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a5dd6aa1132ced47be2b098a4bed26a33c12ba4e commit a5dd6aa1132ced47be2b098a4bed26a33c12ba4e Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b64df5e323cf633f6888432f24f984e6ebe34ff9 commit b64df5e323cf633f6888432f24f984e6ebe34ff9 Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7d1c7cff21476f8156e65d5d31ddc8e7f90f3330 commit 7d1c7cff21476f8156e65d5d31ddc8e7f90f3330 Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7c7ea6be066eea8b479cd8583a2c162de6097074 commit 7c7ea6be066eea8b479cd8583a2c162de6097074 Author: Gustavo Sverzut BarbieriDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b67f8be4ce3636351176363a6f5d448ee2a9fe8 commit 3b67f8be4ce3636351176363a6f5d448ee2a9fe8 Author: Mike BlumenkrantzDate: 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
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f1c70e626f0fc0ea5a1416c43803ff870304f124 commit f1c70e626f0fc0ea5a1416c43803ff870304f124 Author: Mike BlumenkrantzDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e8d1ddd86ca6086525ed735023ed4e6ee4234d7d commit e8d1ddd86ca6086525ed735023ed4e6ee4234d7d Author: Daniel KolesaDate: 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
discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f6292eb235185bcdf32e12e5b15ab1915f3c12ab commit f6292eb235185bcdf32e12e5b15ab1915f3c12ab Author: Mike BlumenkrantzDate: 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
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
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 SchmidtDate: 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
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 SchmidtDate: 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
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 SchmidtDate: 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)
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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0397769a65fe8735f841ddfbf846a32db1211555 commit 0397769a65fe8735f841ddfbf846a32db1211555 Author: Chris MichaelDate: 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
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 Hacohenwrote: > 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
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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=269089c1bea42bf6944f0e545c95f0b9b090b5aa commit 269089c1bea42bf6944f0e545c95f0b9b090b5aa Author: Chris MichaelDate: 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
On 07/12/16 20:18, Gustavo Sverzut Barbieri wrote: > On Wed, Dec 7, 2016 at 12:00 PM, Tom Hacohenwrote: >> 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
kimcinoo pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4a8d37195f19c8435c33721fb3fd994783b6a351 commit 4a8d37195f19c8435c33721fb3fd994783b6a351 Author: Shinwoo KimDate: 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5a0c03ded16df82f9e1be412220f3a7e0edc25cf commit 5a0c03ded16df82f9e1be412220f3a7e0edc25cf Author: Chris MichaelDate: 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a85605553b13696380a1ba7d6740e99312140ac3 commit a85605553b13696380a1ba7d6740e99312140ac3 Author: Chris MichaelDate: 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
1.18.3 too, don't know for the others On Thu, Dec 8, 2016 at 2:43 PM, Stefan Schmidtwrote: > 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
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4a5db373d16b50ef6334a083e6578334f695dd16 commit 4a5db373d16b50ef6334a083e6578334f695dd16 Author: Chris MichaelDate: 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
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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=994d66513f69b2feb506970d6e6fb7d204cb8f1e commit 994d66513f69b2feb506970d6e6fb7d204cb8f1e Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b38681f72524e2265206b6ec1342dc7da3798f23 commit b38681f72524e2265206b6ec1342dc7da3798f23 Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c33ed61e1735020953b67f1049c11cedd51950dc commit c33ed61e1735020953b67f1049c11cedd51950dc Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5242c3b1d4120133a7d428760f5cbc27f7d5e067 commit 5242c3b1d4120133a7d428760f5cbc27f7d5e067 Author: Gustavo Sverzut BarbieriDate: 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.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2d2dc4de4b63a4fef5c38786211443ccc5e9157d commit 2d2dc4de4b63a4fef5c38786211443ccc5e9157d Author: Gustavo Sverzut BarbieriDate: 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'
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bb5f91273c68e350fbe4aeeb282942c1bd017178 commit bb5f91273c68e350fbe4aeeb282942c1bd017178 Author: Gustavo Sverzut BarbieriDate: 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
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=add19c8a77e80b33c44263e926a4285115d2461c commit add19c8a77e80b33c44263e926a4285115d2461c Author: Derek ForemanDate: 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
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
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
lorddrew pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=52d4313bb65f4fc224d3b35e37243b08f5b16234 commit 52d4313bb65f4fc224d3b35e37243b08f5b16234 Author: Andrii KroitorDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=698631578f044cf3a419b9d60bf46438bfa415ea commit 698631578f044cf3a419b9d60bf46438bfa415ea Author: Daniel KolesaDate: 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6e8f97a22fff59235dd40aa89c20981e41506644 commit 6e8f97a22fff59235dd40aa89c20981e41506644 Author: Daniel KolesaDate: 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
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 Schmidtwrote: > 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
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7df8625c4078c496f2e7a156fcca4ad698112005 commit 7df8625c4078c496f2e7a156fcca4ad698112005 Author: Daniel KolesaDate: 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"
lorddrew pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6f6323d12e7797768098e64b1593f656574b250a commit 6f6323d12e7797768098e64b1593f656574b250a Author: Andrii KroitorDate: 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
lorddrew pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0c9182b970fde73d419aff0973aa7ca176ea7cd7 commit 0c9182b970fde73d419aff0973aa7ca176ea7cd7 Author: Andrii KroitorDate: 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
lorddrew pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c505b754ce43a711024f6bad6150c7294e067046 commit c505b754ce43a711024f6bad6150c7294e067046 Author: Andrii KroitorDate: 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.
tasn pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=1a39c10ccbbe9be8e92165268e06329c2ccd2649 commit 1a39c10ccbbe9be8e92165268e06329c2ccd2649 Author: Tom HacohenDate: 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.
tasn pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=874071ca42d59d0870b2f7055c15d878cbdf1368 commit 874071ca42d59d0870b2f7055c15d878cbdf1368 Author: Tom HacohenDate: 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.
tasn pushed a commit to branch efl-1.16. http://git.enlightenment.org/core/efl.git/commit/?id=46d08ae4152210c8aa7a34dd1acea812f68b9bda commit 46d08ae4152210c8aa7a34dd1acea812f68b9bda Author: Tom HacohenDate: 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
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
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
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.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=aee2f39e4493721a9e2eff59012c021a26158c72 commit aee2f39e4493721a9e2eff59012c021a26158c72 Author: Jaehwan KimDate: 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; } /** --