[EGIT] [core/efl] master 01/01: evas: Last fix... now it builds
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b88093c847ba75bc36d91d17cf1b3769190bf820 commit b88093c847ba75bc36d91d17cf1b3769190bf820 Author: Jean-Philippe AndreDate: Wed Oct 19 14:05:31 2016 +0900 evas: Last fix... now it builds --- src/modules/evas/engines/gl_x11/evas_engine.c | 4 1 file changed, 4 insertions(+) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index 5a26a0a..5685625 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -79,6 +79,10 @@ glsym_func_void_ptr glsym_evas_gl_common_current_context_get = NULL; #ifdef GL_GLES +#if !defined(EGL_KHR_cl_event2) && !defined(EGL_VERSION_1_5) +typedef intptr_t EGLAttribKHR; +#endif + _eng_fn (*glsym_eglGetProcAddress)(const char *a) = NULL; EGLImageKHR (*glsym_eglCreateImage)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttribKHR *e) = NULL; EGLImageKHR (*glsym_eglCreateImageKHR) (EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, EGLint *e) = NULL; --
[EGIT] [core/efl] master 01/01: evas: More compilation fixup with EGLImage
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e67d9c4e1c507715434c6f5da43bdfac51a59da5 commit e67d9c4e1c507715434c6f5da43bdfac51a59da5 Author: Jean-Philippe AndreDate: Wed Oct 19 13:39:02 2016 +0900 evas: More compilation fixup with EGLImage This is what happens when you can't test a patch yourself ^^ --- src/modules/evas/engines/gl_x11/evas_engine.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index b5a2ea3..5a26a0a 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -80,7 +80,7 @@ glsym_func_void_ptr glsym_evas_gl_common_current_context_get = NULL; #ifdef GL_GLES _eng_fn (*glsym_eglGetProcAddress)(const char *a) = NULL; -EGLImageKHR (*glsym_eglCreateImage)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttrib *e) = NULL; +EGLImageKHR (*glsym_eglCreateImage)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttribKHR *e) = NULL; EGLImageKHR (*glsym_eglCreateImageKHR) (EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, EGLint *e) = NULL; void (*glsym_eglDestroyImage) (EGLDisplay a, void *b) = NULL; void (*glsym_glEGLImageTargetTexture2DOES) (int a, void *b) = NULL; @@ -1327,8 +1327,8 @@ gl_symbols(void) } #ifdef GL_GLES -static EGLImage -_eflCreateImage(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttrib *attrib_list) +static EGLImageKHR +_eflCreateImage(EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLAttribKHR *attrib_list) { if (glsym_eglCreateImage) return glsym_eglCreateImage(dpy, ctx, target, buffer, attrib_list); @@ -3037,7 +3037,7 @@ eng_image_native_set(void *data, void *image, void *native) { if ((n = calloc(1, sizeof(Native { - EGLAttrib attribs[3]; + EGLAttribKHR attribs[3]; int format, yinvert = 1; glsym_eglQueryWaylandBufferWL(eng_get_ob(re)->egl_disp, wl_buf, --
[EGIT] [core/efl] master 01/01: evas: Fix compilation with older EGL (maybe <1.5)
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5fd4875ad4832e03d33c3493bfa996509f3ae944 commit 5fd4875ad4832e03d33c3493bfa996509f3ae944 Author: Jean-Philippe AndreDate: Wed Oct 19 13:32:55 2016 +0900 evas: Fix compilation with older EGL (maybe <1.5) EGLImage was not introduced until very recently. EGLImageKHR was the proper type. Thanks Roy for the report. --- src/modules/evas/engines/gl_x11/evas_engine.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index f79d566..b5a2ea3 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -80,8 +80,8 @@ glsym_func_void_ptr glsym_evas_gl_common_current_context_get = NULL; #ifdef GL_GLES _eng_fn (*glsym_eglGetProcAddress)(const char *a) = NULL; -EGLImage (*glsym_eglCreateImage) (EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttrib *e) = NULL; -EGLImage (*glsym_eglCreateImageKHR)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, EGLint *e) = NULL; +EGLImageKHR (*glsym_eglCreateImage)(EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, const EGLAttrib *e) = NULL; +EGLImageKHR (*glsym_eglCreateImageKHR) (EGLDisplay a, EGLContext b, EGLenum c, EGLClientBuffer d, EGLint *e) = NULL; void (*glsym_eglDestroyImage) (EGLDisplay a, void *b) = NULL; void (*glsym_glEGLImageTargetTexture2DOES) (int a, void *b) = NULL; unsigned int (*glsym_eglSwapBuffersWithDamage) (EGLDisplay a, void *b, const EGLint *d, EGLint c) = NULL; --
[EGIT] [apps/ephoto] master 01/01: Ephoto: Fix segfault on directory single click
okra pushed a commit to branch master. http://git.enlightenment.org/apps/ephoto.git/commit/?id=580dc2aa764aeacad402847d034cb8b27ed48262 commit 580dc2aa764aeacad402847d034cb8b27ed48262 Author: Stephen okra HoustonDate: Tue Oct 18 19:33:06 2016 -0500 Ephoto: Fix segfault on directory single click --- src/bin/ephoto_directory_browser.c | 38 -- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/src/bin/ephoto_directory_browser.c b/src/bin/ephoto_directory_browser.c index 38c81a1..d1d60d7 100644 --- a/src/bin/ephoto_directory_browser.c +++ b/src/bin/ephoto_directory_browser.c @@ -27,7 +27,6 @@ struct _Ephoto_Directory_Browser Eina_List *todo_items; Ecore_Job *change_dir_job; Ecore_Timer *click_timer; - Eina_Bool dragging; Eina_Bool processing; Eina_Bool initializing; struct @@ -150,11 +149,8 @@ _drop_leave(void *data, Evas_Object *obj EINA_UNUSED) { Ephoto_Directory_Browser *db = data; - if (db->dragging) - { -if (db->dir_current) - elm_genlist_item_selected_set(db->dir_current, EINA_TRUE); - } + if (db->dir_current) + elm_genlist_item_selected_set(db->dir_current, EINA_TRUE); } static void @@ -312,8 +308,8 @@ _on_list_contracted(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) static void _dir_job(void *data) { - Elm_Object_Item *it = data; - Ephoto_Directory_Browser *db = evas_object_data_get(it, "directory_browser"); + Ephoto_Directory_Browser *db = data; + Elm_Object_Item *it = evas_object_data_get(db->fsel, "current_item"); Ephoto_Entry *entry; const char *path; @@ -330,12 +326,11 @@ _dir_job(void *data) static void _wait_job(void *data) { - Elm_Object_Item *it = data; - Ephoto_Directory_Browser *db = evas_object_data_get(it, "directory_browser"); + Ephoto_Directory_Browser *db = data; if (db->change_dir_job) ecore_job_del(db->change_dir_job); - db->change_dir_job = ecore_job_add(_dir_job, it); + db->change_dir_job = ecore_job_add(_dir_job, db); } static void @@ -345,13 +340,12 @@ _on_list_selected(void *data, Evas_Object *obj EINA_UNUSED, Ephoto_Directory_Browser *db = data; Elm_Object_Item *it = event_info; - evas_object_data_set(it, "directory_browser", db); - if (!db->dragging) - { -db->dir_current = it; + if (!it) + return; -ecore_job_add(_wait_job, it); - } + evas_object_data_set(db->fsel, "current_item", it); + db->dir_current = it; + ecore_job_add(_wait_job, db); } static char * @@ -488,8 +482,8 @@ _dir_go_trash(void *data, Evas_Object *obj EINA_UNUSED, static Eina_Bool _click_timer_cb(void *data) { - Elm_Object_Item *item = data; - Ephoto_Directory_Browser *db = evas_object_data_get(item, "directory_browser"); + Ephoto_Directory_Browser *db = data; + Elm_Object_Item *item = evas_object_data_get(db->fsel, "current_item"); _on_list_selected(db, NULL, item); db->click_timer = NULL; @@ -597,9 +591,10 @@ _fsel_mouse_up_cb(void *data, Evas *e EINA_UNUSED, } else { - evas_object_data_set(item, "directory_browser", db); + evas_object_data_del(db->fsel, "current_item"); + evas_object_data_set(db->fsel, "current_item", item); if (elm_genlist_item_type_get(item) == ELM_GENLIST_ITEM_TREE) - db->click_timer = ecore_timer_add(.3, _click_timer_cb, item); + db->click_timer = ecore_timer_add(.3, _click_timer_cb, db); else _on_list_selected(db, NULL, item); } @@ -624,7 +619,6 @@ _fsel_mouse_up_cb(void *data, Evas *e EINA_UNUSED, } if (item) { -evas_object_data_set(item, "directory_browser", db); elm_menu_item_add(menu, NULL, "edit", _("Rename"), _fsel_menu_rename_cb, db); elm_menu_item_add(menu, NULL, "edit-paste", _("Paste"), --
Re: [E-devel] [EGIT] [core/efl] master 01/01: ecore: handle recursive trigger of promise by the cancel of a future.
Hi Cedric, Tried this fix for efl_net_server_example and it doesn't fix the problem, instead it stops crashes but enters an infinite loop: ERR<17134>:ecore lib/ecore/efl_promise.c:301 _efl_loop_future_cancel() Triggering cancel on an already fulfilled Efl.Future. since it's now expected that the promise will NULL-ify the pointer once its done, this must be done earlier as well, otherwise my pd->job (efl_io_copier.c) will still use that in its destructor. On Tue, Oct 18, 2016 at 9:49 PM, Cedric BAILwrote: > cedric pushed a commit to branch master. > > http://git.enlightenment.org/core/efl.git/commit/?id=efda7d492d55b2117bdc29d5c03f03fc1a32db3a > > commit efda7d492d55b2117bdc29d5c03f03fc1a32db3a > Author: Cedric BAIL > Date: Tue Oct 18 16:49:04 2016 -0700 > > ecore: handle recursive trigger of promise by the cancel of a future. > > This avoid double free/double callback call. > --- > src/lib/ecore/efl_promise.c | 10 +++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c > index 4bc7496..aa59b8b 100644 > --- a/src/lib/ecore/efl_promise.c > +++ b/src/lib/ecore/efl_promise.c > @@ -139,11 +139,16 @@ static void > _efl_loop_future_propagate(Eo *obj, Efl_Loop_Future_Data *pd) > { > Efl_Event ev; > + Eina_Bool cancel; > > ev.object = obj; > + cancel = pd->fulfilled && !pd->message; > > - if (pd->fulfilled && > - !pd->message) > + // This has to be done early on to avoid recursive success/failure to > + // bypass the fulfilled check. > + pd->fulfilled = EINA_TRUE; > + > + if (cancel) > { > _efl_loop_future_failure(, pd, EINA_ERROR_FUTURE_CANCEL); > } > @@ -155,7 +160,6 @@ _efl_loop_future_propagate(Eo *obj, Efl_Loop_Future_Data > *pd) > { > _efl_loop_future_failure(, pd, pd->message->error); > } > - pd->fulfilled = EINA_TRUE; > > if (!pd->delayed) > { > > -- > > -- Gustavo Sverzut Barbieri -- Mobile: +55 (16) 99354-9890 -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [core/efl] master 01/01: ecore: handle recursive trigger of promise by the cancel of a future.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=efda7d492d55b2117bdc29d5c03f03fc1a32db3a commit efda7d492d55b2117bdc29d5c03f03fc1a32db3a Author: Cedric BAILDate: Tue Oct 18 16:49:04 2016 -0700 ecore: handle recursive trigger of promise by the cancel of a future. This avoid double free/double callback call. --- src/lib/ecore/efl_promise.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore/efl_promise.c b/src/lib/ecore/efl_promise.c index 4bc7496..aa59b8b 100644 --- a/src/lib/ecore/efl_promise.c +++ b/src/lib/ecore/efl_promise.c @@ -139,11 +139,16 @@ static void _efl_loop_future_propagate(Eo *obj, Efl_Loop_Future_Data *pd) { Efl_Event ev; + Eina_Bool cancel; ev.object = obj; + cancel = pd->fulfilled && !pd->message; - if (pd->fulfilled && - !pd->message) + // This has to be done early on to avoid recursive success/failure to + // bypass the fulfilled check. + pd->fulfilled = EINA_TRUE; + + if (cancel) { _efl_loop_future_failure(, pd, EINA_ERROR_FUTURE_CANCEL); } @@ -155,7 +160,6 @@ _efl_loop_future_propagate(Eo *obj, Efl_Loop_Future_Data *pd) { _efl_loop_future_failure(, pd, pd->message->error); } - pd->fulfilled = EINA_TRUE; if (!pd->delayed) { --
[EGIT] [core/efl] master 01/01: efl_net_dialer_udp: enable SO_BROADCAST before sending to 255.255.255.255
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=69e330e781663a1ac1ead69cf71350a80fe688cc commit 69e330e781663a1ac1ead69cf71350a80fe688cc Author: Gustavo Sverzut BarbieriDate: Tue Oct 18 20:00:52 2016 -0200 efl_net_dialer_udp: enable SO_BROADCAST before sending to 255.255.255.255 Like other toolkits, let's enable this automatically for users before connecting to 255.255.255.255 IPv4 (IPADDR_BROADCAST), otherwise most systems will just fail to connect and send packets. --- src/lib/ecore_con/ecore_con.c | 22 ++ 1 file changed, 22 insertions(+) diff --git a/src/lib/ecore_con/ecore_con.c b/src/lib/ecore_con/ecore_con.c index cb66b27..6c788e0 100644 --- a/src/lib/ecore_con/ecore_con.c +++ b/src/lib/ecore_con/ecore_con.c @@ -3197,6 +3197,17 @@ _efl_net_connect_async_run(void *data, Ecore_Thread *thread EINA_UNUSED) if (eina_log_domain_level_check(_ecore_con_log_dom, EINA_LOG_LEVEL_DBG)) efl_net_ip_port_fmt(buf, sizeof(buf), d->addr); + if ((d->type == SOCK_DGRAM) && + (d->addr->sa_family == AF_INET) && + (((const struct sockaddr_in *)d->addr)->sin_addr.s_addr == INADDR_BROADCAST)) + { +int enable = 1; +if (setsockopt(d->sockfd, SOL_SOCKET, SO_BROADCAST, , sizeof(enable)) == 0) + DBG("enabled SO_BROADCAST for socket=%d", d->sockfd); +else + WRN("could not enable SO_BROADCAST for socket=%d: %s", d->sockfd, strerror(errno)); + } + DBG("connecting fd=%d to %s", d->sockfd, buf); r = connect(d->sockfd, d->addr, d->addrlen); @@ -3377,6 +3388,17 @@ _efl_net_ip_connect(const struct addrinfo *addr, int *sockfd) DBG("connect fd=%d to %s", fd, buf); } +if ((addr->ai_socktype == SOCK_DGRAM) && +(addr->ai_family == AF_INET) && +(((const struct sockaddr_in *)addr->ai_addr)->sin_addr.s_addr == INADDR_BROADCAST)) + { + int enable = 1; + if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, , sizeof(enable)) == 0) + DBG("enabled SO_BROADCAST for socket=%d", fd); + else + WRN("could not enable SO_BROADCAST for socket=%d: %s", fd, strerror(errno)); + } + r = connect(fd, addr->ai_addr, addr->ai_addrlen); if (r == 0) { --
[EGIT] [core/efl] master 01/02: efl_net_socket_tcp: only emit error message if cork is being enabled.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=23b9b0d78dc5ee247a55e32d17a5711b4f7a51aa commit 23b9b0d78dc5ee247a55e32d17a5711b4f7a51aa Author: Gustavo Sverzut BarbieriDate: Tue Oct 18 16:32:04 2016 -0200 efl_net_socket_tcp: only emit error message if cork is being enabled. by default we'll start with cork=0 and on adoption of a FD we'll apply cached values, thus we'd try to apply cork=0 (default) and it would error, which is annoying on platforms without such feature. since users interested in TCP_CORK will enable it first, they will get the error at that point. --- src/lib/ecore_con/efl_net_socket_tcp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_con/efl_net_socket_tcp.c b/src/lib/ecore_con/efl_net_socket_tcp.c index bedf230..aa70f8b 100644 --- a/src/lib/ecore_con/efl_net_socket_tcp.c +++ b/src/lib/ecore_con/efl_net_socket_tcp.c @@ -198,7 +198,8 @@ _efl_net_socket_tcp_cork_set(Eo *o, Efl_Net_Socket_Tcp_Data *pd, Eina_Bool cork) option = _cork_option_get(); if (EINA_UNLIKELY(option < 0)) { -ERR("Could not find a TCP_CORK equivalent on your system"); +if (cork) + ERR("Could not find a TCP_CORK equivalent on your system"); return EINA_FALSE; } --
[EGIT] [core/efl] master 02/02: efl_net_dialer_udp: "connect" to an UDP server to send and receive data.
barbieri pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=278866da2c0f770db5ebe3b5c0cd27839dd1c257 commit 278866da2c0f770db5ebe3b5c0cd27839dd1c257 Author: Gustavo Sverzut BarbieriDate: Tue Oct 18 18:51:59 2016 -0200 efl_net_dialer_udp: "connect" to an UDP server to send and receive data. Like existing ecore_con code, this does not use SOCKSv5 UDP proxy. It's kinda cumbersome to add since requires a keep alive TCP connection to the server, a second UDP channel and framing around the original UDP frame. Added UDP_CORK (if present) to match TCP_UDP present in TCP sockets, this allows one to execute multiple write() calls that will result in a single datagram, generated when CORK becomes FALSE again. The efl_io_copier_example.c now accepts this as output. There is no input UDP as there is no way to notify the server of a connection (since such thing doesn't exit), usually servers react after a datagram is received, replying to the source. --- configure.ac| 2 + src/Makefile_Ecore_Con.am | 4 + src/examples/ecore/.gitignore | 1 + src/examples/ecore/Makefile.am | 9 +- src/examples/ecore/efl_io_copier_example.c | 28 +++ src/examples/ecore/efl_net_dialer_udp_example.c | 197 + src/lib/ecore_con/Ecore_Con_Eo.h| 3 + src/lib/ecore_con/efl_net_dialer_udp.c | 220 src/lib/ecore_con/efl_net_dialer_udp.eo | 18 ++ src/lib/ecore_con/efl_net_socket_udp.c | 155 + src/lib/ecore_con/efl_net_socket_udp.eo | 26 +++ 11 files changed, 661 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 0794852..c743063 100644 --- a/configure.ac +++ b/configure.ac @@ -477,6 +477,7 @@ EFL_CHECK_PATH_MAX EFL_CHECK_DEFINE(TCP_CORK, netinet/tcp.h) EFL_CHECK_DEFINE(TCP_NOPUSH, netinet/tcp.h) +EFL_CHECK_DEFINE(UDP_CORK, netinet/udp.h) Checks for types @@ -1784,6 +1785,7 @@ langinfo.h \ features.h \ netinet/in.h \ netinet/tcp.h \ +netinet/udp.h \ sys/prctl.h \ sys/resource.h \ sys/timerfd.h \ diff --git a/src/Makefile_Ecore_Con.am b/src/Makefile_Ecore_Con.am index ae7166d..e5a5cd0 100644 --- a/src/Makefile_Ecore_Con.am +++ b/src/Makefile_Ecore_Con.am @@ -9,8 +9,10 @@ ecore_con_eolian_files = \ lib/ecore_con/efl_net_socket.eo \ lib/ecore_con/efl_net_socket_fd.eo \ lib/ecore_con/efl_net_socket_tcp.eo \ +lib/ecore_con/efl_net_socket_udp.eo \ lib/ecore_con/efl_net_dialer.eo \ lib/ecore_con/efl_net_dialer_tcp.eo \ +lib/ecore_con/efl_net_dialer_udp.eo \ lib/ecore_con/efl_net_dialer_http.eo \ lib/ecore_con/efl_net_dialer_websocket.eo \ lib/ecore_con/efl_net_server.eo \ @@ -73,8 +75,10 @@ lib/ecore_con/ecore_con_info.c \ lib/ecore_con/efl_net_socket.c \ lib/ecore_con/efl_net_socket_fd.c \ lib/ecore_con/efl_net_socket_tcp.c \ +lib/ecore_con/efl_net_socket_udp.c \ lib/ecore_con/efl_net_dialer.c \ lib/ecore_con/efl_net_dialer_tcp.c \ +lib/ecore_con/efl_net_dialer_udp.c \ lib/ecore_con/efl_net_dialer_http.c \ lib/ecore_con/efl_net_dialer_websocket.c \ lib/ecore_con/efl_net_server.c \ diff --git a/src/examples/ecore/.gitignore b/src/examples/ecore/.gitignore index 826eebe..3aaec19 100644 --- a/src/examples/ecore/.gitignore +++ b/src/examples/ecore/.gitignore @@ -54,3 +54,4 @@ /efl_net_dialer_http_example /efl_net_dialer_websocket_example /efl_net_dialer_websocket_autobahntestee +/efl_net_dialer_udp_example diff --git a/src/examples/ecore/Makefile.am b/src/examples/ecore/Makefile.am index 35c930b..da6b086 100644 --- a/src/examples/ecore/Makefile.am +++ b/src/examples/ecore/Makefile.am @@ -84,7 +84,8 @@ efl_io_queue_example \ efl_net_server_example \ efl_net_dialer_http_example \ efl_net_dialer_websocket_example \ -efl_net_dialer_websocket_autobahntestee +efl_net_dialer_websocket_autobahntestee \ +efl_net_dialer_udp_example ECORE_COMMON_LDADD = \ $(top_builddir)/src/lib/ecore/libecore.la \ @@ -310,6 +311,9 @@ efl_net_dialer_websocket_example_LDADD = $(ECORE_CON_COMMON_LDADD) efl_net_dialer_websocket_autobahntestee_SOURCES = efl_net_dialer_websocket_autobahntestee.c efl_net_dialer_websocket_autobahntestee_LDADD = $(ECORE_CON_COMMON_LDADD) +efl_net_dialer_udp_example_SOURCES = efl_net_dialer_udp_example.c +efl_net_dialer_udp_example_LDADD = $(ECORE_CON_COMMON_LDADD) + SRCS = \ ecore_animator_example.c \ ecore_buffer_example.c \ @@ -363,7 +367,8 @@ efl_io_queue_example.c \ efl_net_server_example.c \ efl_net_dialer_http_example.c \ efl_net_dialer_websocket_example.c \ -efl_net_dialer_websocket_autobahntestee.c +efl_net_dialer_websocket_autobahntestee.c \ +efl_net_dialer_udp_example.c DATA_FILES = red.png Makefile.examples diff --git
[EGIT] [core/efl] master 01/01: ecore: replace arbitrary time with 32-bit safe arbitrary time
derekf pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7785bfa167bd75027bb0a62af39a1010a9471523 commit 7785bfa167bd75027bb0a62af39a1010a9471523 Author: Derek ForemanDate: Tue Oct 18 15:52:56 2016 -0500 ecore: replace arbitrary time with 32-bit safe arbitrary time The end of time is much closer than you think. it_value.tv_sec is a signed 32-bit number on 32-bit machines. Using a negative tv_sec causes timerfd_settime() to fail. --- src/lib/ecore/ecore_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index d1b66a6..4a2a829 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -952,7 +952,7 @@ detect_time_changes_start(void) if (realtime_fd < 0) return; memset(, 0, sizeof(its)); - its.it_value.tv_sec += 0xfff0; // end of time - 0xf + its.it_value.tv_sec = 0x7ff0; // end of time - 0xf if (timerfd_settime(realtime_fd, TFD_TIMER_ABSTIME | TFD_TIMER_CANCELON_SET, , NULL) < 0) --
[EGIT] [apps/terminology] master 01/01: include private.h everywhere
billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=fbe747fbfdda338fd176e62d9e876512605b4de3 commit fbe747fbfdda338fd176e62d9e876512605b4de3 Author: Boris FaureDate: Tue Oct 18 20:21:50 2016 +0200 include private.h everywhere that way, terminology_config.h is included if present --- src/bin/extns.c| 1 + src/bin/tyalpha.c | 1 + src/bin/tybg.c | 1 + src/bin/tycat.c| 1 + src/bin/tycommon.c | 1 + src/bin/tyls.c | 1 + src/bin/typop.c| 1 + src/bin/tyq.c | 1 + src/bin/utf8.c | 1 + 9 files changed, 9 insertions(+) diff --git a/src/bin/extns.c b/src/bin/extns.c index 82796f3..f8ed2e0 100644 --- a/src/bin/extns.c +++ b/src/bin/extns.c @@ -1,3 +1,4 @@ +#include "private.h" #include const char *extn_img[] = diff --git a/src/bin/tyalpha.c b/src/bin/tyalpha.c index e0b2646..8b0223b 100644 --- a/src/bin/tyalpha.c +++ b/src/bin/tyalpha.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/tybg.c b/src/bin/tybg.c index 11969cc..595d090 100644 --- a/src/bin/tybg.c +++ b/src/bin/tybg.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/tycat.c b/src/bin/tycat.c index c90dec5..690650b 100644 --- a/src/bin/tycat.c +++ b/src/bin/tycat.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/tycommon.c b/src/bin/tycommon.c index 6ae6efb..df6c486 100644 --- a/src/bin/tycommon.c +++ b/src/bin/tycommon.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include "tycommon.h" diff --git a/src/bin/tyls.c b/src/bin/tyls.c index 340101e..0ec6809 100644 --- a/src/bin/tyls.c +++ b/src/bin/tyls.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/typop.c b/src/bin/typop.c index 8f76e2d..0466d1d 100644 --- a/src/bin/typop.c +++ b/src/bin/typop.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/tyq.c b/src/bin/tyq.c index 2b6af4a..95ca8a7 100644 --- a/src/bin/tyq.c +++ b/src/bin/tyq.c @@ -1,3 +1,4 @@ +#include "private.h" #include #include #include diff --git a/src/bin/utf8.c b/src/bin/utf8.c index 3f8d500..5aac2f7 100644 --- a/src/bin/utf8.c +++ b/src/bin/utf8.c @@ -1,3 +1,4 @@ +#include "private.h" #include "utf8.h" int --
[EGIT] [tools/eflete] master 01/01: project manager: return API for reload file
rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=944e642040e2961340010098fc6b4883640ea33f commit 944e642040e2961340010098fc6b4883640ea33f Author: Vyacheslav ReutskiyDate: Tue Oct 18 17:11:07 2016 +0300 project manager: return API for reload file This API need for normal work with editable object. because after hard changes, like group add, need to reload file and groups for correct display it. @fix Fixes T4626 Change-Id: I2a059d7d2aed28b0dd37ce215ad0e104000d693e --- src/bin/project_manager/project_manager2.c | 8 src/bin/project_manager/project_manager2.h | 10 ++ src/bin/ui/tabs.c | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/bin/project_manager/project_manager2.c b/src/bin/project_manager/project_manager2.c index 3a255a2..acac5d7 100644 --- a/src/bin/project_manager/project_manager2.c +++ b/src/bin/project_manager/project_manager2.c @@ -1516,3 +1516,11 @@ pm_project_result_string_get(PM_Project_Result result) return "Unknown error"; } } + +void +pm_project_file_reload(Project *project) +{ + eina_file_close(project->mmap_file); + project->mmap_file = eina_file_open(project->dev, false); + edje_object_mmap_set(project->global_object, project->mmap_file, EFLETE_INTERNAL_GROUP_NAME); +} diff --git a/src/bin/project_manager/project_manager2.h b/src/bin/project_manager/project_manager2.h index fd5d6e8..3586d63 100644 --- a/src/bin/project_manager/project_manager2.h +++ b/src/bin/project_manager/project_manager2.h @@ -315,4 +315,14 @@ pm_project_group_import(Project *project, const char *edj, const char *group); const char * pm_project_result_string_get(PM_Project_Result result); +/** + * Reload project dev file. + * + * @param project The project which need to reload + * + * @ingroup ProjectManager + */ +void +pm_project_file_reload(Project *project); + #endif /* PROJECT_MANAGER_H */ diff --git a/src/bin/ui/tabs.c b/src/bin/ui/tabs.c index 5150dae..a55276f 100644 --- a/src/bin/ui/tabs.c +++ b/src/bin/ui/tabs.c @@ -448,7 +448,7 @@ _editor_saved(void *data __UNUSED__, Eina_List *l; Tabs_Item *item; - //pm_dev_file_reload(ap.project); + pm_project_file_reload(ap.project); EINA_LIST_FOREACH(tabs.items, l, item) { if (!item->group) continue; /* skip home tab */ --
[EGIT] [core/enlightenment] master 01/01: fix bryce upgrade path from 0 -> 2 re:naming
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=39d561c8b48cf327ed7dd70bb7e35fbf5f45a0e3 commit 39d561c8b48cf327ed7dd70bb7e35fbf5f45a0e3 Author: Mike BlumenkrantzDate: Tue Oct 18 10:59:04 2016 -0400 fix bryce upgrade path from 0 -> 2 re:naming --- src/bin/e_bryce.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/e_bryce.c b/src/bin/e_bryce.c index d441646..8d62216 100644 --- a/src/bin/e_bryce.c +++ b/src/bin/e_bryce.c @@ -433,8 +433,11 @@ _bryce_rename(Bryce *b, int num) char buf[1024], buf2[1024], *name, *p; name = strdup(b->name); - p = strrchr(name, '_'); - p[0] = 0; + if (b->version >= 2) + { +p = strrchr(name, '_'); +p[0] = 0; + } snprintf(buf, sizeof(buf), "__bryce%s", name); snprintf(buf2, sizeof(buf2), "__bryce%s_%d", name, num); e_gadget_site_rename(buf, buf2); --
Re: [E-devel] [EGIT] [apps/terminology] master 02/02: configure.ac: remove --with_max_log_level
On Tue, Oct 18, 2016 at 10:14 AM, Boris Faurewrote: > Yesterday I wasted time wondering why EINA_LOG_LEVELS="win:4,termpty:4" > was showing the "win" debug logs but not the "termpty" ones. I checked > EFL and since I'm using the dev profile, EINA_LOG_LEVEL_MAXIMUM > was not set. It was in termpty.c but not win.c because this one included > config.h and not the other. I was fed up and removed your code. that's okay, I just wanted to clarify what it's purpose, as I said I see no problem in removing that as one can easily get the same effect with CFLAGS. OTOH it did show a bug in the code, all source files in a project should use `config.h` since it will define stuff as _GNU_SOURCE and other checks. -- Gustavo Sverzut Barbieri -- Mobile: +55 (16) 99354-9890 -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [apps/terminology] master 02/02: configure.ac: remove --with_max_log_level
Yesterday I wasted time wondering why EINA_LOG_LEVELS="win:4,termpty:4" was showing the "win" debug logs but not the "termpty" ones. I checked EFL and since I'm using the dev profile, EINA_LOG_LEVEL_MAXIMUM was not set. It was in termpty.c but not win.c because this one included config.h and not the other. I was fed up and removed your code. On 16-10-18 09:51, Gustavo Sverzut Barbieri wrote: > Hi Boris, > > This is not a correct understanding. If you disable a log using > maximum log level, then the compiler will see a "small_int > big_int", > which always evaluate to FALSE, and will remove the block on -O2 and > up and this is PER USER, not in the EFL itself. The value you apply to > EFL will only be valid for EFL itself (its .c) as this won't go in the > public headers. > > That said, dropping such from terminology is likely okay as nobody > uses it. If one wants to force a maximum log level, simply using > CFLAGS+="-DEINA_LOG_LEVEL_MAXIMUM=2" will do it. > > > > On Mon, Oct 17, 2016 at 6:34 PM, Boris Faurewrote: > > billiob pushed a commit to branch master. > > > > http://git.enlightenment.org/apps/terminology.git/commit/?id=6907ecf9f2060b7743528dd0147b262c17f1dc28 > > > > commit 6907ecf9f2060b7743528dd0147b262c17f1dc28 > > Author: Boris Faure > > Date: Mon Oct 17 22:32:35 2016 +0200 > > > > configure.ac: remove --with_max_log_level > > > > If one don't want logs, it can already be done at efl's level. > > I wasted too much time on that stupid setting. > > --- > > configure.ac | 17 - > > 1 file changed, 17 deletions(-) > > > > diff --git a/configure.ac b/configure.ac > > index 0c86801..e9ecd97 100644 > > --- a/configure.ac > > +++ b/configure.ac > > @@ -135,23 +135,6 @@ CFLAGS=$orig_cflags > > > > EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) > > > > -with_max_log_level="EINA_LOG_LEVEL_ERR" > > -AC_ARG_WITH(maximum-log-level, > > - [AC_HELP_STRING([--with-maximum-log-level=NUMBER], > > - [limit terminology log level to the given number, any > > call to EINA_LOG() with values greater than this will be compiled out, > > ignoring runtime settings, but saving function calls.])], > > - [ > > -if test "x${withval}" != "xno"; then > > - if echo "${withval}" | grep -E '^[[0-9]]+$' >/dev/null 2>/dev/null; > > then > > - AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than > > ${withval}]) > > - with_max_log_level="${withval}" > > - else > > - AC_MSG_ERROR([--with-maximum-log-level takes a decimal number, > > got "${withval}" instead.]) > > - fi > > -fi > > -], [:]) > > - > > -AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${with_max_log_level}, [if set, > > logging is limited to this amount.]) > > - > > AC_CONFIG_FILES([ > > terminology.spec > > pkgbuild/PKGBUILD > > > > -- > > > > > > > > -- > Gustavo Sverzut Barbieri > -- > Mobile: +55 (16) 99354-9890 > > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Boris Faure Pointer Arithmetician -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] Removal of elm_app_server/client
+1 for removal. The idea was nice (my idea, so it had to be nice, right ;-P) but never catch up to its potential due lack of apps and time to properly integrate stuff. Currently unmaintained as you state. For the records, its idea was to allow applications to easily implement single instance and expose its internal "view", such as make tabs available to the WM so we could use that external entity to list tabs and windows, somehow like Android does for Google Chrome tabs. It would also expose some application methods, like to open something, which would easily work for first time launch (ie: argc/argv) or already running processes, also a way to request the app to close and save state, like done in phones or Mac applications. Great potential, but not realized. So be gone On Tue, Oct 18, 2016 at 12:58 AM, Jean-Philippe Andréwrote: > Hello, > > > I would like to get rid of elm_app_server and elm_app_client. > I have no special hatred against those APIs, but: > - they are unmaintained > - EO-only APIs (iow: never released) > - unused (except in terminology 0.4 to 0.7) > > > Thoughts? > > > PS: The patch is ready, at: > https://git.enlightenment.org/core/efl.git/patch/?id=9660d5c2a48ec4183bd33d63e6cb977501709828 > > > -- > Jean-Philippe André > -- > Check out the vibrant tech community on one of the world's most > engaging tech sites, SlashDot.org! http://sdm.link/slashdot > ___ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Gustavo Sverzut Barbieri -- Mobile: +55 (16) 99354-9890 -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] [EGIT] [apps/terminology] master 02/02: configure.ac: remove --with_max_log_level
Hi Boris, This is not a correct understanding. If you disable a log using maximum log level, then the compiler will see a "small_int > big_int", which always evaluate to FALSE, and will remove the block on -O2 and up and this is PER USER, not in the EFL itself. The value you apply to EFL will only be valid for EFL itself (its .c) as this won't go in the public headers. That said, dropping such from terminology is likely okay as nobody uses it. If one wants to force a maximum log level, simply using CFLAGS+="-DEINA_LOG_LEVEL_MAXIMUM=2" will do it. On Mon, Oct 17, 2016 at 6:34 PM, Boris Faurewrote: > billiob pushed a commit to branch master. > > http://git.enlightenment.org/apps/terminology.git/commit/?id=6907ecf9f2060b7743528dd0147b262c17f1dc28 > > commit 6907ecf9f2060b7743528dd0147b262c17f1dc28 > Author: Boris Faure > Date: Mon Oct 17 22:32:35 2016 +0200 > > configure.ac: remove --with_max_log_level > > If one don't want logs, it can already be done at efl's level. > I wasted too much time on that stupid setting. > --- > configure.ac | 17 - > 1 file changed, 17 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 0c86801..e9ecd97 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -135,23 +135,6 @@ CFLAGS=$orig_cflags > > EFL_WITH_BIN([edje], [edje-cc], [edje_cc]) > > -with_max_log_level="EINA_LOG_LEVEL_ERR" > -AC_ARG_WITH(maximum-log-level, > - [AC_HELP_STRING([--with-maximum-log-level=NUMBER], > - [limit terminology log level to the given number, any > call to EINA_LOG() with values greater than this will be compiled out, > ignoring runtime settings, but saving function calls.])], > - [ > -if test "x${withval}" != "xno"; then > - if echo "${withval}" | grep -E '^[[0-9]]+$' >/dev/null 2>/dev/null; > then > - AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than > ${withval}]) > - with_max_log_level="${withval}" > - else > - AC_MSG_ERROR([--with-maximum-log-level takes a decimal number, got > "${withval}" instead.]) > - fi > -fi > -], [:]) > - > -AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${with_max_log_level}, [if set, > logging is limited to this amount.]) > - > AC_CONFIG_FILES([ > terminology.spec > pkgbuild/PKGBUILD > > -- > > -- Gustavo Sverzut Barbieri -- Mobile: +55 (16) 99354-9890 -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[E-devel] EFL 1.18.2 release
Our second stable update for the 1.18.x series. **Efl fixes:** * efreet - fix command generation by fixing string buffer expansion * elm_toolbar: Show icons in icon only mode * Evas_Common: Fix typo. * Evas_Device: Use eo_del() in evas_device_del(). * ecore_evas x - dont set withdrawn to fals on show but wait for wm state (T4699) * ecore-evas - x fix intial iconified state so terminology -I works * evas: Fix evas_object_smart_clipped_clipper_get * epp: fix memory corruption when using #warning and #error * fix edje_cc segv when compiling bling bling theme **Download** http://download.enlightenment.org/rel/libs/efl/efl-1.18.2.tar.gz 05a71b44b1dbcea2492410ca57afe119bcbacb7e89a1984b9eb2422a8803a12a http://download.enlightenment.org/rel/libs/efl/efl-1.18.2.tar.xz 292faf76557fe56a6bc15b48b5ea3eb1f0790e2ed7f2ade4ae79ef7973d67bed -- Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[EGIT] [website/www-content] master 01/01: Wiki page efl-1.18.2 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=6a6ea5358f6bb70fcda5f13535b319b86b496604 commit 6a6ea5358f6bb70fcda5f13535b319b86b496604 Author: Stefan SchmidtDate: Tue Oct 18 03:47:33 2016 -0700 Wiki page efl-1.18.2 changed with summary [created] by Stefan Schmidt --- pages/news/efl-1.18.2.txt | 24 1 file changed, 24 insertions(+) diff --git a/pages/news/efl-1.18.2.txt b/pages/news/efl-1.18.2.txt new file mode 100644 index 000..af40680 --- /dev/null +++ b/pages/news/efl-1.18.2.txt @@ -0,0 +1,24 @@ +=== EFL 1.18.2 release === + * //2016-10-18 - by Stefan Schmidt// + +Our second stable update for the 1.18.x series. + +**Efl fixes:** + + * efreet - fix command generation by fixing string buffer expansion + * elm_toolbar: Show icons in icon only mode + * Evas_Common: Fix typo. + * Evas_Device: Use eo_del() in evas_device_del(). + * ecore_evas x - dont set withdrawn to fals on show but wait for wm state (T4699) + * ecore-evas - x fix intial iconified state so terminology -I works + * evas: Fix evas_object_smart_clipped_clipper_get + * epp: fix memory corruption when using #warning and #error + * fix edje_cc segv when compiling bling bling theme + +**Download** + +| [[http://download.enlightenment.org/rel/libs/efl/efl-1.18.2.tar.gz | efl-1.18.2.tar.gz ]] | 05a71b44b1dbcea2492410ca57afe119bcbacb7e89a1984b9eb2422a8803a12a | +| [[http://download.enlightenment.org/rel/libs/efl/efl-1.18.2.tar.xz | efl-1.18.2.tar.xz ]] | 292faf76557fe56a6bc15b48b5ea3eb1f0790e2ed7f2ade4ae79ef7973d67bed | + +{{:blank.png?nolink&100|}} +~~DISCUSSIONS~~ --
[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=7ce1e38569782850c2a12bddc7b4ff386b896f3d commit 7ce1e38569782850c2a12bddc7b4ff386b896f3d Author: Stefan SchmidtDate: Tue Oct 18 03:39:35 2016 -0700 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 45745be..960896f 100644 --- a/pages/start-release.txt +++ b/pages/start-release.txt @@ -1,3 +1,3 @@ -EFL 1.18.1 and Enlightenment 0.21.3 are out - go to our [[download]] page. +EFL 1.18.2 and Enlightenment 0.21.3 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=5232cf9117b7f9441a7a5ae24c9f271e5b593ed4 commit 5232cf9117b7f9441a7a5ae24c9f271e5b593ed4 Author: Stefan SchmidtDate: Tue Oct 18 03:39:21 2016 -0700 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 f0edff9..331abcc 100644 --- a/pages/download-latest.txt +++ b/pages/download-latest.txt @@ -1,5 +1,5 @@ -efl_v = 1.18.1 +efl_v = 1.18.2 python_efl_v = 1.18.0 elm_v = In efl emotion_generic_players_v = In efl --
[EGIT] [core/efl] annotated tag v1.18.2 created (now cadd3a6)
This is an automated email from the git hooks/post-receive script. stefan pushed a change to annotated tag v1.18.2 in repository core/efl. at cadd3a6 (tag) tagging 8e89840193b104d500d068f05f1f2d45fec6d191 (commit) replaces v1.18.1 tagged by Stefan Schmidt on Tue Oct 18 12:37:18 2016 +0200 - Log - v1.18.2 Andrii Kroitor (1): windows: remove expicit -levil flag Andy Williams (1): elm_toolbar: Show icons in icon only mode Carsten Haitzler (4): efreet - fix command generation by fixing string buffer expansion ecore_evas x - dont set withdrawn to fals on show but wait for wm state ecore-evas - x fix intial iconified state so terminology -I works fix edje_cc segv when compiling bling bling theme Cedric BAIL (1): eina: populate memory in the right limit. Davide Andreoli (1): FDO icons: add missing system-file-manager icon Guilherme Iscaro (5): Evas_Common: Fix typo. Evas_Device: Use eo_del() in evas_device_del(). Ecore Evas Cocoa: Properly unregister the window events. Ecore Cocoa: Add missing modifiers field to Ecore Events Ecore_Cocoa: Fix repeat modifers keys. Jean Guyomarc'h (2): ecore_cocoa: upgrade API to macOS Sierra epp: fix memory corruption when using #warning and #error Jean-Philippe ANDRÉ (1): evas: Fix evas_object_smart_clipped_clipper_get Simon Lees (1): ecore_ssl: Use stricter cipher suites Stefan Schmidt (2): data: elm: images: fix double data file definitions leading to races release: Update NEWS and bump version for 1.18.2 release --- No new revisions were added by this update. --
[EGIT] [core/efl] master 01/01: wayland_shm: Add swap mode fallback when buffer age changes
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=62ca4486ea30fd63a5589ea7af373a5cb9982031 commit 62ca4486ea30fd63a5589ea7af373a5cb9982031 Author: Jean-Philippe AndreDate: Tue Oct 18 17:36:43 2016 +0900 wayland_shm: Add swap mode fallback when buffer age changes This copies the behaviour in opengl_x11 engine, where the buffer age needs to be continuously the same to be taken into account. If the age varies, then we fallback to a full redraw. Apparently this fixes issues on actual devices. I tested this patch in weston (I didn't have issues before and buffer age is 1). --- src/modules/evas/engines/wayland_shm/evas_engine.h | 1 + src/modules/evas/engines/wayland_shm/evas_outbuf.c | 15 ++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.h b/src/modules/evas/engines/wayland_shm/evas_engine.h index 7436c6b..bae4e37 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.h +++ b/src/modules/evas/engines/wayland_shm/evas_engine.h @@ -107,6 +107,7 @@ struct _Outbuf int rotation; int onebuf; int num_buff; + int prev_age; Outbuf_Depth depth; Evas_Engine_Info_Wayland_Shm *info; diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c index 6dafa85..b372864 100644 --- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c @@ -314,17 +314,22 @@ _evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects EINA_UNUSED, Evas_Render_Mode Render_Engine_Swap_Mode _evas_outbuf_swap_mode_get(Outbuf *ob) { + Render_Engine_Swap_Mode mode; int age; LOGFN(__FILE__, __LINE__, __FUNCTION__); age = ob->surface->funcs.assign(ob->surface); - if (age == 1) return MODE_COPY; - else if (age == 2) return MODE_DOUBLE; - else if (age == 3) return MODE_TRIPLE; - else if (age == 4) return MODE_QUADRUPLE; + if (age == 1) mode = MODE_COPY; + else if (age == 2) mode = MODE_DOUBLE; + else if (age == 3) mode = MODE_TRIPLE; + else if (age == 4) mode = MODE_QUADRUPLE; + else mode = MODE_FULL; - return MODE_FULL; + if (ob->prev_age != age) mode = MODE_FULL; + ob->prev_age = age; + + return mode; } int --