[EGIT] [core/efl] master 01/01: evas/vg: Use always blending op while drawing the vector.
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d838220d5671875eaef1dcea9dd024cc126360e0 commit d838220d5671875eaef1dcea9dd024cc126360e0 Author: subhransu mohanty Date: Mon Jan 8 19:16:59 2018 +0900 evas/vg: Use always blending op while drawing the vector. Summary: The default backend overrides this operation depending on the fill color but the cairo backend dosen't hence cairo will always use bled mode while drwaing the vector. Reviewers: jpeg Subscribers: vtorri, cedric, jpeg Differential Revision: https://phab.enlightenment.org/D5724 --- src/modules/evas/engines/gl_generic/evas_engine.c | 16 +--- .../evas/engines/software_generic/evas_engine.c | 19 ++- 2 files changed, 3 insertions(+), 32 deletions(-) diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 0829e7a0b4..d5c8544fda 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -2546,20 +2546,6 @@ eng_ector_buffer_new(void *engine, Evas *evas, int w, int h, evas_ector_gl_buffer_prepare(efl_added, engine, w, h, cspace, flags)); } -static Efl_Gfx_Render_Op -_evas_render_op_to_ector_rop(Evas_Render_Op op) -{ - switch (op) - { - case EVAS_RENDER_BLEND: - return EFL_GFX_RENDER_OP_BLEND; - case EVAS_RENDER_COPY: - return EFL_GFX_RENDER_OP_COPY; - default: - return EFL_GFX_RENDER_OP_BLEND; - } -} - static void eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output, void *context EINA_UNUSED, void *surface EINA_UNUSED, @@ -2575,7 +2561,7 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *output, eng_image_size_get(engine, glimg, &w, &h); eina_array_push(c, eina_rectangle_new(0, 0, w, h)); -ector_renderer_draw(renderer, _evas_render_op_to_ector_rop(EVAS_RENDER_COPY), c, 0x); +ector_renderer_draw(renderer, EFL_GFX_RENDER_OP_BLEND, c, 0x); while ((r = eina_array_pop(c))) eina_rectangle_free(r); diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 016179da2f..139ccc1a1c 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -4420,20 +4420,6 @@ eng_ector_buffer_new(void *data EINA_UNUSED, Evas *evas, int width, int height, return buf; } -static Efl_Gfx_Render_Op -_evas_render_op_to_ector_rop(Evas_Render_Op op) -{ - switch (op) - { - case EVAS_RENDER_BLEND: - return EFL_GFX_RENDER_OP_BLEND; - case EVAS_RENDER_COPY: - return EFL_GFX_RENDER_OP_COPY; - default: - return EFL_GFX_RENDER_OP_BLEND; - } -} - static void _draw_thread_ector_cleanup(Evas_Thread_Command_Ector *ector) { @@ -4518,9 +4504,8 @@ eng_ector_renderer_draw(void *engine EINA_UNUSED, void *surface, ector.r = renderer; // This has already been refcounted by Evas_Object_VG ector.clips = c; - ector.render_op = _evas_render_op_to_ector_rop(dc->render_op); - ector.mul_col = ector_color_multiply(dc->mul.use ? dc->mul.col : 0x, -dc->col.col);; + ector.render_op = EFL_GFX_RENDER_OP_BLEND; + ector.mul_col = 0x; ector.free_it = EINA_FALSE; if (do_async) --
[EGIT] [core/efl] master 01/02: elm example : on some OS (windows...) struct tm has 9 fields and not 11. Fix warning.
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4c44890872034d85dc1d4cf1d3506d5bafbd806c commit 4c44890872034d85dc1d4cf1d3506d5bafbd806c Author: Vincent Torri Date: Mon Jan 8 21:10:22 2018 +0900 elm example : on some OS (windows...) struct tm has 9 fields and not 11. Fix warning. Test Plan: compilation Reviewers: raster, jpeg Reviewed By: raster, jpeg Subscribers: jpeg, cedric, raster Differential Revision: https://phab.enlightenment.org/D5723 --- src/examples/elementary/calendar_example_06.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/examples/elementary/calendar_example_06.c b/src/examples/elementary/calendar_example_06.c index 61e46a259c..6e25bb87a8 100644 --- a/src/examples/elementary/calendar_example_06.c +++ b/src/examples/elementary/calendar_example_06.c @@ -27,12 +27,21 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED) Elm_Calendar_Mark *mark; struct tm selected_time; time_t current_time; - struct tm sunday = { 0, 0, 12, 7, 0, 0, 0, 0, -1, 0, NULL }; - /* tm {sec, min, hour, mday, mon, year, wday, yday, isdst } */ - /* weekdays since Sunday, range 0 to 6 */ + struct tm sunday; struct tm christmas; + + /* +* At least on Windows, tm has 9 fields. +* As a workaround, set sunday to 0 and set +* th needed fields to correct value +*/ + memset(&sunday, 0, sizeof(struct tm)); + sunday.tm_hour = 12; + sunday.tm_mday = 7; + sunday.tm_isdst = -1; + + memset(&christmas, 0, sizeof(struct tm)); christmas.tm_mday = 25; - /* months since Jan, in the range 0 to 11 */ christmas.tm_mon = 11; win = elm_win_util_standard_add("calendar", "Calendar Marks Example"); --
[EGIT] [core/efl] master 02/02: csharp: Fix an example
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ade2c9ed520e20b7855b08df61077874e8d1d6c1 commit ade2c9ed520e20b7855b08df61077874e8d1d6c1 Author: Jean-Philippe Andre Date: Mon Jan 8 21:24:25 2018 +0900 csharp: Fix an example Event name changed. The definition of the type BUTTON_CLICKED_Args seems odd as it's in efl.ui namespace directly. --- src/examples/elementary/efl_ui_unit_converter.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/elementary/efl_ui_unit_converter.cs b/src/examples/elementary/efl_ui_unit_converter.cs index f167e68ca2..9e14c4b6c0 100644 --- a/src/examples/elementary/efl_ui_unit_converter.cs +++ b/src/examples/elementary/efl_ui_unit_converter.cs @@ -23,7 +23,7 @@ public class Example popup.SetVisible(true); popup.SetButton(efl.ui.popup_alert.Button.Positive, "Ok"); popup.SetSize(150, 30); -popup.CLICKED += (object sender, efl.ui.CLICKED_Args e) => { +popup.BUTTON_CLICKED += (object sender, efl.ui.BUTTON_CLICKED_Args e) => { popup.SetParent(null); popup.Del(); }; --
[EGIT] [core/enlightenment] master 01/05: simplify icon suffix detection in vkbd module
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=d86b2447996802810f1f8442b43e98ef5cbf0d85 commit d86b2447996802810f1f8442b43e98ef5cbf0d85 Author: Mike Blumenkrantz Date: Mon Jan 8 10:23:54 2018 -0500 simplify icon suffix detection in vkbd module CID 1132746, 1132747 --- src/modules/vkbd/e_kbd_int.c | 10 ++ 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/modules/vkbd/e_kbd_int.c b/src/modules/vkbd/e_kbd_int.c index 5fbe6856e..277470494 100644 --- a/src/modules/vkbd/e_kbd_int.c +++ b/src/modules/vkbd/e_kbd_int.c @@ -175,12 +175,10 @@ _e_kbd_int_layout_state_update(E_Kbd_Int *ki) if (st->icon) { char buf[PATH_MAX]; - char *p; snprintf(buf, sizeof(buf), "%s/%s", ki->layout.directory, st->icon); - p = strrchr(st->icon, '.'); - if (!strcmp(p, ".edj")) + if (eina_str_has_extension(st->icon, ".edj")) e_icon_file_edje_set(ky->icon_obj, buf, "icon"); else e_icon_file_set(ky->icon_obj, buf); @@ -975,7 +973,6 @@ _e_kbd_int_layout_parse(E_Kbd_Int *ki, const char *layout) if ((!strcmp(str, "normal")) || (!strcmp(str, "shift")) || (!strcmp(str, "capslock")) || (!strcmp(str, "altgr"))) { - char *p; char label[4096]; if (sscanf(buf, "%*s %4000s", label) != 1) continue; @@ -986,10 +983,7 @@ _e_kbd_int_layout_parse(E_Kbd_Int *ki, const char *layout) if (!strcmp(str, "shift")) st->state = SHIFT; if (!strcmp(str, "capslock")) st->state = CAPSLOCK; if (!strcmp(str, "altgr")) st->state = ALTGR; - p = strrchr(label, '.'); - if ((p) && (!strcmp(p, ".png"))) - st->icon = eina_stringshare_add(label); - else if ((p) && (!strcmp(p, ".edj"))) + if (eina_str_has_extension(label, ".png") || eina_str_has_extension(label, ".edj")) st->icon = eina_stringshare_add(label); else st->label = eina_stringshare_add(label); --
[EGIT] [core/enlightenment] master 03/05: protect against null deref when emitting efm/eeze error messages
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6ad75a5e854b332c635abab9d0f9402adc1b3573 commit 6ad75a5e854b332c635abab9d0f9402adc1b3573 Author: Mike Blumenkrantz Date: Mon Jan 8 10:41:45 2018 -0500 protect against null deref when emitting efm/eeze error messages CID 1382954 --- src/bin/e_fm/e_fm_main_eeze.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c index 0383e8860..baac5dfa5 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -108,14 +108,17 @@ _e_fm_main_eeze_format_error_msg(char **buf, char *tmp; vu = strlen(v->udi) + 1; - vm = strlen(v->mount_point) + 1; + vm = (v->mount_point ? strlen(v->mount_point) : 0) + 1; en = strlen(name) + 1; size = vu + vm + en + strlen(msg) + 1; tmp = *buf = malloc(size); strcpy(tmp, v->udi); tmp += vu; - strcpy(tmp, v->mount_point); + if (v->mount_point) + strcpy(tmp, v->mount_point); + else + tmp[0] = 0; tmp += vm; strcpy(tmp, name); tmp += en; --
[EGIT] [core/enlightenment] master 05/05: protect against null deref when setting proxy vars in connman module
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7dcc295e6be68de4816f85e8bdd606d10ee83fd8 commit 7dcc295e6be68de4816f85e8bdd606d10ee83fd8 Author: Mike Blumenkrantz Date: Mon Jan 8 10:45:46 2018 -0500 protect against null deref when setting proxy vars in connman module CID 1382957, 1382958 --- src/modules/connman/e_connman.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/connman/e_connman.c b/src/modules/connman/e_connman.c index 220c705b9..9c37c157a 100644 --- a/src/modules/connman/e_connman.c +++ b/src/modules/connman/e_connman.c @@ -236,7 +236,7 @@ static void _service_parse_prop_changed(struct Connman_Service *cs, if (strcmp(method, "manual") == 0) { - if (eina_array_count(proxy_servers) > 0) + if (proxy_servers && (eina_array_count(proxy_servers) > 0)) { DBG("New {all,http{,s}}_proxy: %s", (const char*)eina_array_data_get(proxy_servers, 0)); @@ -244,7 +244,7 @@ static void _service_parse_prop_changed(struct Connman_Service *cs, e_env_set("http_proxy", eina_array_data_get(proxy_servers, 0)); e_env_set("HTTPS_PROXY", eina_array_data_get(proxy_servers, 0)); } - if (eina_array_count(proxy_excludes) > 0) + if (proxy_excludes && (eina_array_count(proxy_excludes) > 0)) { Eina_Strbuf *buf; Eina_Array_Iterator it; --
[EGIT] [core/enlightenment] master 04/05: print error when failing to unlink efm/eeze mount point after unmount
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f34c780db3789f9f7bbf3b02580dd43c3b69f0e8 commit f34c780db3789f9f7bbf3b02580dd43c3b69f0e8 Author: Mike Blumenkrantz Date: Mon Jan 8 10:43:46 2018 -0500 print error when failing to unlink efm/eeze mount point after unmount CID 1382955 --- src/bin/e_fm/e_fm_main_eeze.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c index baac5dfa5..b7d9e3eba 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -244,7 +244,8 @@ _e_fm_main_eeze_cb_vol_unmounted(void *user_data EINA_UNUSED, v->mounted = EINA_FALSE; INF("UNMOUNT: %s from %s", v->udi, v->mount_point); if (!strncmp(v->mount_point, e_user_dir_get(), strlen(e_user_dir_get( - unlink(v->mount_point); + if (unlink(v->mount_point)) + printf("Error unlinking mount point!\n"); size = strlen(v->udi) + 1 + strlen(v->mount_point) + 1; buf = alloca(size); strcpy(buf, v->udi); --
[EGIT] [core/enlightenment] master 02/05: refactor E_Storage finding for efm/eeze volumes in backend
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b9a9bd1da9f6949b1c1562dd46760db793a57506 commit b9a9bd1da9f6949b1c1562dd46760db793a57506 Author: Mike Blumenkrantz Date: Mon Jan 8 10:32:56 2018 -0500 refactor E_Storage finding for efm/eeze volumes in backend CID 1382951 --- src/bin/e_fm/e_fm_main_eeze.c | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c index 4e3edf740..0383e8860 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -404,18 +404,19 @@ _e_fm_main_eeze_volume_add(const char *syspath, v->partition_label = eeze_disk_udev_get_property(v->disk, "ID_FS_LABEL"); } - /* if we have dev/sda ANd dev/sda1 - ia a parent vol - del the parent vol -* since we actually have real child partition volumes to mount */ - if ((v->partition != 0) && (v->parent)) + if (v->parent) { -E_Volume *v2 = _e_fm_main_eeze_volume_find_fast(v->parent); - -if ((v2) && (v2->partition == 0)) - _e_fm_main_eeze_volume_del(v2->udi); - } +E_Storage *s; + +if (v->partition) + { + /* prevent having storage and volume from same device */ + E_Volume *v2 = _e_fm_main_eeze_volume_find_fast(v->parent); + + if ((v2) && (v2->partition == 0)) + _e_fm_main_eeze_volume_del(v2->udi); + } - { - E_Storage *s; s = e_storage_find(v->parent); INF("++VOL:\n syspath: %s\n uuid: %s\n fstype: %s\n size: %llu\n label: %s\n" " partition: %d\n partition_number: %d\n partition_label: %s\n mounted: %d\n mount_point: %s", @@ -423,7 +424,7 @@ _e_fm_main_eeze_volume_add(const char *syspath, v->partition ? v->partition_label : "(not a partition)", v->mounted, v->mount_point); if (s) v->storage = s; - else if (v->parent) + else s = v->storage = _e_fm_main_eeze_storage_add(v->parent); if (s) --
[EGIT] [core/enlightenment] master 02/03: always throw error in wl_surface.commit for unparented popup surfaces
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=beb6922a17db471d5d0f1fe94c13b8d5981660c9 commit beb6922a17db471d5d0f1fe94c13b8d5981660c9 Author: Mike Blumenkrantz Date: Mon Jan 8 11:52:58 2018 -0500 always throw error in wl_surface.commit for unparented popup surfaces --- src/bin/e_comp_wl.c | 8 1 file changed, 8 insertions(+) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index fa83d2d07..224ed4aa1 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1341,6 +1341,14 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state) first = !e_pixmap_usable_get(e_comp_x_client_pixmap_get(ec)); #endif + if (e_client_util_is_popup(ec) && (!ec->parent)) + { +wl_resource_post_error(ec->comp_data->surface, + WL_DISPLAY_ERROR_INVALID_OBJECT, + "Popup requires a parent shell surface before commit"); +return; + } + ec->comp_data->in_commit = 1; if (ec->ignored && ec->comp_data->shell.surface) { --
[EGIT] [core/enlightenment] master 01/03: handle passed output resource for xdg-shell fullscreen request
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5cc08794ee5893685914dd6a3db9a878bac474df commit 5cc08794ee5893685914dd6a3db9a878bac474df Author: Mike Blumenkrantz Date: Mon Jan 8 11:13:36 2018 -0500 handle passed output resource for xdg-shell fullscreen request --- src/bin/e_comp_wl.c | 4 src/bin/e_comp_wl.h | 1 + src/modules/wl_desktop_shell/xdg6.c | 13 - 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 320830451..fa83d2d07 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1392,6 +1392,10 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state) "min surface height cannot be larger than max surface height"); if (ec->comp_data->shell.set.fullscreen && (!ec->fullscreen)) { + E_Zone *zone = e_comp_zone_id_get(ec->comp_data->shell.set.fs_zone); + + if (zone && (zone != ec->zone)) + e_client_zone_set(ec, zone); e_client_fullscreen(ec, E_FULLSCREEN_RESIZE); } if (ec->comp_data->shell.set.unfullscreen) diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h index 1569bf1b8..5235508c2 100644 --- a/src/bin/e_comp_wl.h +++ b/src/bin/e_comp_wl.h @@ -325,6 +325,7 @@ struct _E_Comp_Wl_Client_Data Eina_Bool maximize E_BITFIELD; Eina_Bool unmaximize E_BITFIELD; Eina_Bool minimize E_BITFIELD; + int fs_zone; } set; } shell; struct diff --git a/src/modules/wl_desktop_shell/xdg6.c b/src/modules/wl_desktop_shell/xdg6.c index da1807e19..4b5ea7cac 100644 --- a/src/modules/wl_desktop_shell/xdg6.c +++ b/src/modules/wl_desktop_shell/xdg6.c @@ -582,7 +582,7 @@ _e_xdg_toplevel_cb_maximized_unset(struct wl_client *client EINA_UNUSED, struct } static void -_e_xdg_toplevel_cb_fullscreen_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_resource *output_resource EINA_UNUSED) +_e_xdg_toplevel_cb_fullscreen_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource, struct wl_resource *output_resource) { E_Client *ec; @@ -596,6 +596,17 @@ _e_xdg_toplevel_cb_fullscreen_set(struct wl_client *client EINA_UNUSED, struct w } if (ec->lock_user_fullscreen) return; + if (output_resource) + { +Eina_List *l; +E_Zone *zone; +E_Comp_Wl_Output *wlo = wl_resource_get_user_data(output_resource); +EINA_LIST_FOREACH(e_comp->zones, l, zone) + if (zone->output == wlo) +ec->comp_data->shell.set.fs_zone = zone->id; + } + else + ec->comp_data->shell.set.fs_zone = ec->zone->id; _xdg_shell_surface_send_configure(resource, 1, !!ec->maximized || ec->comp_data->max, 0, ec->zone->w, ec->zone->h); } --
[EGIT] [core/enlightenment] master 03/03: throw unconfigured buffer error as necessary in wl_surface.commit
discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6985df9058895e2b1ac027e8b0d8b7cb450e493e commit 6985df9058895e2b1ac027e8b0d8b7cb450e493e Author: Mike Blumenkrantz Date: Mon Jan 8 11:53:52 2018 -0500 throw unconfigured buffer error as necessary in wl_surface.commit --- src/bin/e_comp_wl.c | 7 ++- src/bin/e_comp_wl.h | 3 ++- src/modules/wl_desktop_shell/xdg6.c | 17 + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 224ed4aa1..b0ebe6b64 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1559,7 +1559,7 @@ _e_comp_wl_surface_state_commit(E_Client *ec, E_Comp_Wl_Surface_State *state) ec->want_focus |= ec->icccm.accepts_focus && (!ec->override); } } - else if (ec->comp_data->need_xdg6_configure && ec->comp_data->shell.surface) + else if (ec->comp_data->need_xdg_configure && ec->comp_data->shell.surface) _e_comp_wl_configure_send(ec, 0); state->sx = 0; @@ -1663,6 +1663,11 @@ _e_comp_wl_surface_cb_attach(struct wl_client *client EINA_UNUSED, struct wl_res if (!(ec = wl_resource_get_user_data(resource))) return; if (e_object_is_del(E_OBJECT(ec))) return; + if (ec->comp_data->need_xdg_configure) + { +ec->comp_data->shell.buffer_attach_error(ec); +return; + } if (buffer_resource) { diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h index 5235508c2..406a85d97 100644 --- a/src/bin/e_comp_wl.h +++ b/src/bin/e_comp_wl.h @@ -314,6 +314,7 @@ struct _E_Comp_Wl_Client_Data void (*ping)(struct wl_resource *resource); void (*map)(struct wl_resource *resource); void (*unmap)(struct wl_resource *resource); +void (*buffer_attach_error)(E_Client *ec); Eina_Rectangle window; E_Shell_Data *data; struct @@ -372,7 +373,7 @@ struct _E_Comp_Wl_Client_Data Eina_Bool is_xdg_surface E_BITFIELD; Eina_Bool grab E_BITFIELD; Eina_Bool buffer_commit E_BITFIELD; - Eina_Bool need_xdg6_configure E_BITFIELD; + Eina_Bool need_xdg_configure E_BITFIELD; Eina_Bool maximize_anims_disabled E_BITFIELD; Eina_Bool ssd_mouse_in E_BITFIELD; Eina_Bool need_center E_BITFIELD; diff --git a/src/modules/wl_desktop_shell/xdg6.c b/src/modules/wl_desktop_shell/xdg6.c index 4b5ea7cac..976ed13d7 100644 --- a/src/modules/wl_desktop_shell/xdg6.c +++ b/src/modules/wl_desktop_shell/xdg6.c @@ -374,7 +374,7 @@ _xdg_shell_surface_send_configure(struct wl_resource *resource, Eina_Bool fullsc zxdg_surface_v6_send_configure(shd->surface, serial); wl_array_release(&states); - ec->comp_data->need_xdg6_configure = 0; + ec->comp_data->need_xdg_configure = 0; } static void @@ -400,7 +400,7 @@ _e_xdg_shell_surface_configure_send(struct wl_resource *resource, uint32_t edges serial = wl_display_next_serial(e_comp_wl->wl.disp); zxdg_popup_v6_send_configure(resource, ec->x - ec->parent->x, ec->y - ec->parent->y, width ?: ec->w, height ?: ec->h); zxdg_surface_v6_send_configure(shd->surface, serial); -ec->comp_data->need_xdg6_configure = 0; +ec->comp_data->need_xdg_configure = 0; return; } @@ -942,7 +942,7 @@ _e_xdg_surface_cb_popup_get(struct wl_client *client, struct wl_resource *resour cdata->shell.configure = _e_xdg_shell_surface_configure; cdata->shell.map = _e_xdg_shell_surface_map; cdata->shell.unmap = _e_xdg_shell_surface_unmap; - cdata->need_xdg6_configure = 1; + cdata->need_xdg_configure = 1; if (!ec->internal) ec->borderless = !ec->internal_elm_win; @@ -1245,7 +1245,7 @@ _e_xdg_surface_cb_toplevel_get(struct wl_client *client EINA_UNUSED, struct wl_r cdata->shell.configure = _e_xdg_shell_surface_configure; cdata->shell.map = _e_xdg_shell_surface_map; cdata->shell.unmap = _e_xdg_shell_surface_unmap; - cdata->need_xdg6_configure = 1; + cdata->need_xdg_configure = 1; /* set toplevel client properties */ ec->icccm.accepts_focus = 1; @@ -1292,6 +1292,14 @@ _e_xdg_shell_surface_cb_destroy(struct wl_resource *resource) } static void +_e_xdg_shell_surface_buffer_attach_error(E_Client *ec) +{ + wl_resource_post_error(ec->comp_data->surface, + ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER, + "buffer attached/committed before configure"); +} + +static void _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resource, uint32_t id, struct wl_resource *surface_resource) { E_Client *ec; @@ -1351,6 +1359,7 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour e_object_ref(E_OBJECT(ec)); cdata->shell.ping = _e_xdg_shell_surface_ping; + cdata->shell.buffer_attach_error = _e_xdg_shell_surface_buffer_attach_error; cdata->is_xdg_surface = EIN
[EGIT] [core/enlightenment] feature/xdg_shell_final 02/03: remove xdg-shell v5 support
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/enlightenment.git/commit/?id=675534ef9c7d18d4a3016e9563527325186a41fa commit 675534ef9c7d18d4a3016e9563527325186a41fa Author: Mike Blumenkrantz Date: Mon Jan 8 12:10:22 2018 -0500 remove xdg-shell v5 support this cannot coexist with xdg-shell final due to symbol collisions --- src/modules/wl_desktop_shell/e_mod_main.c | 2 +- src/modules/wl_desktop_shell/e_mod_main.h | 1 - src/modules/wl_desktop_shell/meson.build | 2 -- 3 files changed, 1 insertion(+), 4 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 5a53317db..9e760ab5d 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -167,7 +167,7 @@ e_modapi_init(E_Module *m) return NULL; } - have_shell = e_xdg_shell_v5_init() | e_xdg_shell_v6_init() | e_xdg_shell_init(); + have_shell = e_xdg_shell_v6_init() | e_xdg_shell_init(); if (!have_shell) return NULL; #ifdef HAVE_WL_TEXT_INPUT diff --git a/src/modules/wl_desktop_shell/e_mod_main.h b/src/modules/wl_desktop_shell/e_mod_main.h index 95c467116..210af0122 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.h +++ b/src/modules/wl_desktop_shell/e_mod_main.h @@ -15,7 +15,6 @@ EINTERN void e_shell_surface_parent_set(E_Client *ec, struct wl_resource *parent EINTERN void e_shell_surface_mouse_down_helper(E_Client *ec, E_Binding_Event_Mouse_Button *ev, Eina_Bool move); EINTERN E_Shell_Data *e_shell_data_new(unsigned int version); -EINTERN Eina_Bool e_xdg_shell_v5_init(void); EINTERN Eina_Bool e_xdg_shell_v6_init(void); EINTERN Eina_Bool e_xdg_shell_init(void); EINTERN void wl_shell_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t version, uint32_t id); diff --git a/src/modules/wl_desktop_shell/meson.build b/src/modules/wl_desktop_shell/meson.build index 33b26ab8c..049258e53 100644 --- a/src/modules/wl_desktop_shell/meson.build +++ b/src/modules/wl_desktop_shell/meson.build @@ -5,14 +5,12 @@ else 'e_mod_main.c', 'e_mod_input_panel.c', 'wl_shell.c', -'xdg5.c', 'xdg6.c', 'xdg.c', 'e_mod_main.h' ) foreach p: [ - '@0@/unstable/xdg-shell/xdg-shell-unstable-v5.xml'.format(dir_wayland_protocols), '@0@/unstable/xdg-shell/xdg-shell-unstable-v6.xml'.format(dir_wayland_protocols), '@0@/stable/xdg-shell/xdg-shell.xml'.format(dir_wayland_protocols), '@0@/unstable/input-method/input-method-unstable-v1.xml'.format(dir_wayland_protocols), --
[EGIT] [core/enlightenment] feature/xdg_shell_final 01/03: xdg-shell support
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/enlightenment.git/commit/?id=4d4316bdefe6cac3fbb1369c19f61e07183cc0c9 commit 4d4316bdefe6cac3fbb1369c19f61e07183cc0c9 Author: Mike Blumenkrantz Date: Mon Jan 8 12:03:03 2018 -0500 xdg-shell support --- src/modules/wl_desktop_shell/e_mod_main.c |3 +- src/modules/wl_desktop_shell/e_mod_main.h |1 + src/modules/wl_desktop_shell/meson.build |2 + src/modules/wl_desktop_shell/xdg.c| 1496 + 4 files changed, 1500 insertions(+), 2 deletions(-) diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 8bbe6472b..5a53317db 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -167,8 +167,7 @@ e_modapi_init(E_Module *m) return NULL; } - have_shell = e_xdg_shell_v5_init(); - have_shell &= e_xdg_shell_v6_init(); + have_shell = e_xdg_shell_v5_init() | e_xdg_shell_v6_init() | e_xdg_shell_init(); if (!have_shell) return NULL; #ifdef HAVE_WL_TEXT_INPUT diff --git a/src/modules/wl_desktop_shell/e_mod_main.h b/src/modules/wl_desktop_shell/e_mod_main.h index 4fa0795dc..95c467116 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.h +++ b/src/modules/wl_desktop_shell/e_mod_main.h @@ -17,6 +17,7 @@ EINTERN E_Shell_Data *e_shell_data_new(unsigned int version); EINTERN Eina_Bool e_xdg_shell_v5_init(void); EINTERN Eina_Bool e_xdg_shell_v6_init(void); +EINTERN Eina_Bool e_xdg_shell_init(void); EINTERN void wl_shell_cb_bind(struct wl_client *client, void *data EINA_UNUSED, uint32_t version, uint32_t id); struct E_Shell_Data diff --git a/src/modules/wl_desktop_shell/meson.build b/src/modules/wl_desktop_shell/meson.build index 3ab4915ac..33b26ab8c 100644 --- a/src/modules/wl_desktop_shell/meson.build +++ b/src/modules/wl_desktop_shell/meson.build @@ -7,12 +7,14 @@ else 'wl_shell.c', 'xdg5.c', 'xdg6.c', +'xdg.c', 'e_mod_main.h' ) foreach p: [ '@0@/unstable/xdg-shell/xdg-shell-unstable-v5.xml'.format(dir_wayland_protocols), '@0@/unstable/xdg-shell/xdg-shell-unstable-v6.xml'.format(dir_wayland_protocols), +'@0@/stable/xdg-shell/xdg-shell.xml'.format(dir_wayland_protocols), '@0@/unstable/input-method/input-method-unstable-v1.xml'.format(dir_wayland_protocols), ] src += gen_scanner_server.process(p) diff --git a/src/modules/wl_desktop_shell/xdg.c b/src/modules/wl_desktop_shell/xdg.c new file mode 100644 index 0..e5e47c197 --- /dev/null +++ b/src/modules/wl_desktop_shell/xdg.c @@ -0,0 +1,1496 @@ +#define E_COMP_WL +#include "e.h" +#include "e_mod_main.h" + +#include "xdg-shell-server-protocol.h" + +typedef enum +{ + STATE_MAXIMIZED = (1 << 0), + STATE_UNMAXIMIZED = (1 << 1), + STATE_FULLSCREEN = (1 << 2), + STATE_UNFULLSCREEN = (1 << 3), +} State; + +typedef struct Pending_State +{ + State state; + uint32_t serial; +} Pending_State; + +typedef struct vF_Shell_Data +{ + Eina_List *surfaces; + Eina_List *positioners; +} vF_Shell_Data; + +typedef struct Positioner +{ + vF_Shell_Data *v; + struct wl_resource *res; + Evas_Coord_Size size; + Eina_Rectangle anchor_rect; + enum xdg_positioner_anchor anchor; + enum xdg_positioner_gravity gravity; + enum xdg_positioner_constraint_adjustment constrain; + Evas_Coord_Point offset; +} Positioner; + + +static void +_e_xdg_shell_cb_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resource) +{ + vF_Shell_Data *v = wl_resource_get_user_data(resource); + if (v->surfaces) + wl_resource_post_error(resource, XDG_WM_BASE_ERROR_DEFUNCT_SURFACES, "shell destroyed before surfaces"); + wl_resource_destroy(resource); +} + +static void +_validate_size(struct wl_resource *resource, int32_t value) +{ + if (value <= 0) + wl_resource_post_error(resource, XDG_POSITIONER_ERROR_INVALID_INPUT, "Invalid size passed"); +} + +static void +_validate_size_negative(struct wl_resource *resource, int32_t value) +{ + if (value <= 0) + wl_resource_post_error(resource, XDG_POSITIONER_ERROR_INVALID_INPUT, "Invalid size passed"); +} + +static void +_e_xdg_positioner_set_size(struct wl_client *wl_client EINA_UNUSED, struct wl_resource *resource, int32_t w, int32_t h) +{ + Positioner *p = wl_resource_get_user_data(resource); + + _validate_size(resource, w); + _validate_size(resource, h); + + p->size.w = w; + p->size.h = h; +} + +static void +_e_xdg_positioner_set_anchor_rect(struct wl_client *wl_client EINA_UNUSED, struct wl_resource *resource, int32_t x, int32_t y, int32_t w, int32_t h) +{ + Positioner *p = wl_resource_get_user_data(resource); + + _validate_size_negative(resource, w); + _validate_size_negative(resource, h); + + EINA_RECTANGLE_SET(&p->anchor_rect, x, y, w, h); +} + +static void +_e_xdg_positioner_set_anchor(struct wl_client *wl_client EINA_UNUSED, struct wl_resou
[EGIT] [core/enlightenment] feature/xdg_shell_final 03/03: bump wayland-protocols version requirement
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/enlightenment.git/commit/?id=55c86ffa4bf9177cefd38fdc1586d5e986cf75d3 commit 55c86ffa4bf9177cefd38fdc1586d5e986cf75d3 Author: Mike Blumenkrantz Date: Mon Jan 8 12:24:57 2018 -0500 bump wayland-protocols version requirement --- meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index 87c1abbee..7343174d4 100644 --- a/meson.build +++ b/meson.build @@ -267,7 +267,7 @@ dep_elementary = dependency('elementary' , required: true) dep_wayland = [] if get_option('wayland') == true - wayland_protocols = dependency('wayland-protocols', version: '>= 1.9') + wayland_protocols = dependency('wayland-protocols', version: '>= 1.12') dir_wayland_protocols = wayland_protocols.get_pkgconfig_variable('pkgdatadir') wayland_version = '>= 1.11.0' dep_wayland = [ dependency('ecore-wl2'), @@ -285,7 +285,7 @@ if get_option('wayland') == true requires_drm = 'ecore-drm2' dep_wayland += dep_ecore_drm2 endif - requires_wayland = ' '.join([ 'wayland-protocols >= 1.9', + requires_wayland = ' '.join([ 'wayland-protocols >= 1.12', 'ecore-wl2', 'efl-wl', requires_drm, --
[EGIT] [core/efl] master 01/01: ecore: remove use of efl_main_loop_get from example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8428289c9489c5146d7e6d1eebde380a0d0ce19d commit 8428289c9489c5146d7e6d1eebde380a0d0ce19d Author: Cedric BAIL Date: Thu Jan 4 16:54:45 2018 -0800 ecore: remove use of efl_main_loop_get from example. --- .../ecore/efl_io_buffered_stream_example.c | 40 +- 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/src/examples/ecore/efl_io_buffered_stream_example.c b/src/examples/ecore/efl_io_buffered_stream_example.c index aaf1a997bf..3338bae396 100644 --- a/src/examples/ecore/efl_io_buffered_stream_example.c +++ b/src/examples/ecore/efl_io_buffered_stream_example.c @@ -1,8 +1,5 @@ -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 -#include +#include #include -#include static int retval = EXIT_SUCCESS; static Eina_List *commands = NULL; @@ -92,14 +89,14 @@ _stream_error(void *data EINA_UNUSED, const Efl_Event *event) fprintf(stderr, "INFO: %s error: #%d '%s'\n", efl_name_get(event->object), *perr, eina_error_msg_get(*perr)); retval = EXIT_FAILURE; - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } static void _stream_eos(void *data EINA_UNUSED, const Efl_Event *event) { fprintf(stderr, "INFO: %s eos, quit\n", efl_name_get(event->object)); - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } EFL_CALLBACKS_ARRAY_DEFINE(stream_cbs, @@ -174,8 +171,9 @@ static const Ecore_Getopt options = { } }; -int -main(int argc, char **argv) +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) { char *address = NULL; char *line_delimiter_str = NULL; @@ -200,12 +198,9 @@ main(int argc, char **argv) }; Eina_Error err; int args; - Eo *dialer, *loop; + Eo *dialer; - ecore_init(); - ecore_con_init(); - - args = ecore_getopt_parse(&options, values, argc, argv); + args = ecore_getopt_parse(&options, values, 0, NULL); if (args < 0) { fputs("ERROR: Could not parse command line options.\n", stderr); @@ -215,7 +210,7 @@ main(int argc, char **argv) if (quit_option) goto end; - args = ecore_getopt_parse_positional(&options, values, argc, argv, args); + args = ecore_getopt_parse_positional(&options, values, 0, NULL, args); if (args < 0) { fputs("ERROR: Could not parse positional arguments.\n", stderr); @@ -235,12 +230,10 @@ main(int argc, char **argv) /* * some objects such as the Efl.Io.Buffered_Stream and * Efl.Net.Dialer.Tcp depend on main loop, thus their parent must -* be a loop provider. We use the loop itself. +* be a loop provider. We use the loop itself that come from event. */ - loop = efl_main_loop_get(); - /* The TCP client to use to send/receive network data */ - dialer = efl_add(EFL_NET_DIALER_TCP_CLASS, loop, + dialer = efl_add(EFL_NET_DIALER_TCP_CLASS, ev->object, efl_name_set(efl_added, "dialer"), efl_event_callback_add(efl_added, EFL_NET_DIALER_EVENT_CONNECTED, _dialer_connected, NULL)); if (!dialer) @@ -263,7 +256,7 @@ main(int argc, char **argv) * * On incoming data we peek at it with slice_get() and then clear(). */ - stream = efl_add(EFL_IO_BUFFERED_STREAM_CLASS, loop, + stream = efl_add(EFL_IO_BUFFERED_STREAM_CLASS, ev->object, efl_name_set(efl_added, "stream"), efl_io_buffered_stream_inner_io_set(efl_added, dialer), /* mandatory! */ efl_io_buffered_stream_line_delimiter_set(efl_added, line_delimiter), @@ -289,7 +282,7 @@ main(int argc, char **argv) goto error_dialing; } - ecore_main_loop_begin(); + return ; error_dialing: efl_io_closer_close(stream); @@ -303,8 +296,7 @@ main(int argc, char **argv) free(cmd); } - ecore_con_shutdown(); - ecore_shutdown(); - - return retval; + efl_loop_quit(ev->object, eina_value_int_init(retval)); } + +EFL_MAIN(); --
[EGIT] [core/efl] feature/xdg_shell_final 01/02: efl-wl: move to xdg-shell vfinal
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/efl.git/commit/?id=1af4a625795a06bcfb5a52986f95bc7f0f1d6e6e commit 1af4a625795a06bcfb5a52986f95bc7f0f1d6e6e Author: Mike Blumenkrantz Date: Mon Jan 8 12:53:57 2018 -0500 efl-wl: move to xdg-shell vfinal @feature --- src/Makefile_efl_wl.am | 4 +- src/lib/efl_wl/Efl_Wl.h | 2 +- src/lib/efl_wl/efl_wl.c | 217 +++- 3 files changed, 125 insertions(+), 98 deletions(-) diff --git a/src/Makefile_efl_wl.am b/src/Makefile_efl_wl.am index ac3c00db69..d90002e17b 100644 --- a/src/Makefile_efl_wl.am +++ b/src/Makefile_efl_wl.am @@ -14,8 +14,8 @@ lib/efl_wl/dmabuf.h nodist_lib_efl_wl_libefl_wl_la_SOURCES = \ lib/efl_wl/linux-dmabuf-unstable-v1-protocol.c \ lib/efl_wl/linux-dmabuf-unstable-v1-server-protocol.h \ -lib/efl_wl/xdg-shell-unstable-v6-protocol.c \ -lib/efl_wl/xdg-shell-unstable-v6-server-protocol.h \ +lib/efl_wl/xdg-shell-protocol.c \ +lib/efl_wl/xdg-shell-server-protocol.h \ lib/efl_wl/efl-hints-protocol.c \ lib/efl_wl/efl-hints-server-protocol.h diff --git a/src/lib/efl_wl/Efl_Wl.h b/src/lib/efl_wl/Efl_Wl.h index c6af024105..1d86093e33 100644 --- a/src/lib/efl_wl/Efl_Wl.h +++ b/src/lib/efl_wl/Efl_Wl.h @@ -34,7 +34,7 @@ /** * @defgroup Efl_Wl_Group EFL Wayland * - * A multiseat Wayland compositor in an Evas object. + * A multiseat xdg-shell compliant Wayland compositor in an Evas object. * All toplevel windows will be sized to the size of the compositor object. * @since 1.20 * @{ diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c index 0943dbe3f8..5880f62e30 100644 --- a/src/lib/efl_wl/efl_wl.c +++ b/src/lib/efl_wl/efl_wl.c @@ -26,7 +26,7 @@ * the opaque struct client side. */ #include -#include "xdg-shell-unstable-v6-server-protocol.h" +#include "xdg-shell-server-protocol.h" #include "efl-hints-server-protocol.h" #include "dmabuf.h" @@ -281,9 +281,9 @@ typedef struct Shell_Positioner struct wl_resource *res; Evas_Coord_Size size; Eina_Rectangle anchor_rect; - enum zxdg_positioner_v6_anchor anchor; - enum zxdg_positioner_v6_gravity gravity; - enum zxdg_positioner_v6_constraint_adjustment constrain; + enum xdg_positioner_anchor anchor; + enum xdg_positioner_gravity gravity; + enum xdg_positioner_constraint_adjustment constrain; Evas_Coord_Point offset; } Shell_Positioner; @@ -734,19 +734,19 @@ resource_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resou static int _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) { - enum zxdg_positioner_v6_anchor an = ZXDG_POSITIONER_V6_ANCHOR_NONE; - enum zxdg_positioner_v6_gravity grav = ZXDG_POSITIONER_V6_GRAVITY_NONE; + enum xdg_positioner_anchor an = XDG_POSITIONER_ANCHOR_NONE; + enum xdg_positioner_gravity grav = XDG_POSITIONER_GRAVITY_NONE; if (invert) { -if (sp->anchor & ZXDG_POSITIONER_V6_ANCHOR_LEFT) - an |= ZXDG_POSITIONER_V6_ANCHOR_RIGHT; -else if (sp->anchor & ZXDG_POSITIONER_V6_ANCHOR_RIGHT) - an |= ZXDG_POSITIONER_V6_ANCHOR_LEFT; -if (sp->gravity & ZXDG_POSITIONER_V6_GRAVITY_LEFT) - grav |= ZXDG_POSITIONER_V6_GRAVITY_RIGHT; -else if (sp->gravity & ZXDG_POSITIONER_V6_GRAVITY_RIGHT) - grav |= ZXDG_POSITIONER_V6_GRAVITY_LEFT; +if (sp->anchor == XDG_POSITIONER_ANCHOR_LEFT) + an = XDG_POSITIONER_ANCHOR_RIGHT; +else if (sp->anchor == XDG_POSITIONER_ANCHOR_RIGHT) + an = XDG_POSITIONER_ANCHOR_LEFT; +if (sp->gravity & XDG_POSITIONER_GRAVITY_LEFT) + grav |= XDG_POSITIONER_GRAVITY_RIGHT; +else if (sp->gravity & XDG_POSITIONER_GRAVITY_RIGHT) + grav |= XDG_POSITIONER_GRAVITY_LEFT; } else { @@ -755,20 +755,20 @@ _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) } /* left edge */ - if (an & ZXDG_POSITIONER_V6_ANCHOR_LEFT) + if (an == XDG_POSITIONER_ANCHOR_LEFT) x += sp->anchor_rect.x; /* right edge */ - else if (an & ZXDG_POSITIONER_V6_ANCHOR_RIGHT) + else if (an == XDG_POSITIONER_ANCHOR_RIGHT) x += sp->anchor_rect.x + sp->anchor_rect.w; /* center */ else x += sp->anchor_rect.x + (sp->anchor_rect.w / 2); /* flip left over anchor */ - if (grav & ZXDG_POSITIONER_V6_GRAVITY_LEFT) + if (grav & XDG_POSITIONER_GRAVITY_LEFT) x -= sp->size.w; /* center on anchor */ - else if (!(grav & ZXDG_POSITIONER_V6_GRAVITY_RIGHT)) + else if (!(grav & XDG_POSITIONER_GRAVITY_RIGHT)) x -= sp->size.w / 2; return x; } @@ -776,19 +776,19 @@ _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) static int _apply_positioner_y(int y, Shell_Positioner *sp, Eina_Bool invert) { - enum zxdg_positioner_v6_anchor an = ZXDG_POSITIONER_V6_ANCHOR_NONE; - enum zxdg_positioner_v6_gravity grav = ZXDG_POSITIONER_V6_GRAVITY_NONE; + enum xdg_positioner
[EGIT] [core/efl] feature/xdg_shell_final 02/02: wayland: add xdg-shell vfinal support for client-side
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/efl.git/commit/?id=d055cf8b2b04efe1f317aaab41c9e455c6357b4a commit d055cf8b2b04efe1f317aaab41c9e455c6357b4a Author: Mike Blumenkrantz Date: Mon Jan 8 13:42:11 2018 -0500 wayland: add xdg-shell vfinal support for client-side @feature --- configure.ac | 2 +- src/Makefile_Ecore_Wl2.am | 6 + src/lib/ecore_wl2/ecore_wl2_display.c | 33 +- src/lib/ecore_wl2/ecore_wl2_private.h | 10 + src/lib/ecore_wl2/ecore_wl2_window.c | 387 + src/lib/ecore_wl2/window_v6.x | 188 ++ src/lib/elementary/efl_ui_win.c| 5 +- .../engines/wayland/ecore_evas_wayland_common.c| 34 ++ src/wayland_protocol/efl-hints.xml | 4 +- 9 files changed, 511 insertions(+), 158 deletions(-) diff --git a/configure.ac b/configure.ac index c399877c59..8043adfecf 100644 --- a/configure.ac +++ b/configure.ac @@ -2141,7 +2141,7 @@ AC_ARG_ENABLE([wayland], [want_wayland="no"]) if test "${want_wayland}" = "yes"; then - EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.9]) + EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.12]) PKG_CHECK_MODULES([WAYLAND], [wayland-scanner >= 1.11.0], [ AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable]) diff --git a/src/Makefile_Ecore_Wl2.am b/src/Makefile_Ecore_Wl2.am index a794d0b3ba..311cd27eec 100644 --- a/src/Makefile_Ecore_Wl2.am +++ b/src/Makefile_Ecore_Wl2.am @@ -40,6 +40,8 @@ lib/ecore_wl2/www-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ +lib/ecore_wl2/xdg-shell-client-protocol.h \ +lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \ @@ -59,6 +61,8 @@ lib/ecore_wl2/efl-aux-hints-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/teamwork-protocol.c \ lib/ecore_wl2/teamwork-client-protocol.h \ + lib/ecore_wl2/xdg-shell-client-protocol.h \ + lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ @@ -70,4 +74,6 @@ lib/ecore_wl2/efl-aux-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-protocol.c +EXTRA_DIST2 += lib/ecore_wl2/window_v6.x + endif diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 9785406d97..740090c23a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -59,6 +59,17 @@ static const struct zwp_linux_dmabuf_v1_listener _dmabuf_listener = }; static void +_xdg_shell_cb_ping(void *data EINA_UNUSED, struct xdg_wm_base *shell, uint32_t serial) +{ + xdg_wm_base_pong(shell, serial); +} + +static const struct xdg_wm_base_listener _xdg_shell_listener = +{ + _xdg_shell_cb_ping, +}; + +static void _zxdg_shell_cb_ping(void *data EINA_UNUSED, struct zxdg_shell_v6 *shell, uint32_t serial) { zxdg_shell_v6_pong(shell, serial); @@ -337,13 +348,13 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const ewd->wl.efl_hints = wl_registry_bind(registry, id, &efl_hints_interface, MIN(version, 2)); EINA_INLIST_FOREACH(ewd->windows, window) { - if (!window->zxdg_surface) continue; + if (!window->xdg_surface) continue; if (window->aspect.set) - efl_hints_set_aspect(window->display->wl.efl_hints, window->zxdg_surface, + efl_hints_set_aspect(window->display->wl.efl_hints, window->xdg_surface, window->aspect.w, window->aspect.h, window->aspect.aspect); if (window->weight.set) efl_hints_set_weight(window->display->wl.efl_hints, - window->zxdg_surface, window->weight.w, window->weight.h); + window->xdg_surface, window->weight.w, window->weight.h); } } @@ -438,6 +449,7 @@ _ecore_wl2_display_globals_cleanup(Ecore_Wl2_Display *ewd) if (ewd->wl.session_recovery) zwp_e_session_recovery_destroy(ewd->wl.session_recovery); if (ewd->wl.www) www_destroy(ewd->wl.www); + if (ewd->wl.xdg_wm_base) xdg_wm_base_destroy(ewd->wl.xdg_wm_base); if (ewd->wl.zxdg_shell) zxdg_shell_v6_destroy(ewd->wl.zxdg_shell); if (ewd->wl.shm) wl_shm_destroy(ewd->wl.shm); if (ewd->wl.data_device_manager) @@ -488,6 +500,9 @@ _recovery_timer_add(Ecore_Wl2_Display *ewd) _ecore_wl2_wind
[EGIT] [core/efl] feature/xdg_shell_final 01/02: efl-wl: move to xdg-shell vfinal
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/efl.git/commit/?id=1af4a625795a06bcfb5a52986f95bc7f0f1d6e6e commit 1af4a625795a06bcfb5a52986f95bc7f0f1d6e6e Author: Mike Blumenkrantz Date: Mon Jan 8 12:53:57 2018 -0500 efl-wl: move to xdg-shell vfinal @feature --- src/Makefile_efl_wl.am | 4 +- src/lib/efl_wl/Efl_Wl.h | 2 +- src/lib/efl_wl/efl_wl.c | 217 +++- 3 files changed, 125 insertions(+), 98 deletions(-) diff --git a/src/Makefile_efl_wl.am b/src/Makefile_efl_wl.am index ac3c00db69..d90002e17b 100644 --- a/src/Makefile_efl_wl.am +++ b/src/Makefile_efl_wl.am @@ -14,8 +14,8 @@ lib/efl_wl/dmabuf.h nodist_lib_efl_wl_libefl_wl_la_SOURCES = \ lib/efl_wl/linux-dmabuf-unstable-v1-protocol.c \ lib/efl_wl/linux-dmabuf-unstable-v1-server-protocol.h \ -lib/efl_wl/xdg-shell-unstable-v6-protocol.c \ -lib/efl_wl/xdg-shell-unstable-v6-server-protocol.h \ +lib/efl_wl/xdg-shell-protocol.c \ +lib/efl_wl/xdg-shell-server-protocol.h \ lib/efl_wl/efl-hints-protocol.c \ lib/efl_wl/efl-hints-server-protocol.h diff --git a/src/lib/efl_wl/Efl_Wl.h b/src/lib/efl_wl/Efl_Wl.h index c6af024105..1d86093e33 100644 --- a/src/lib/efl_wl/Efl_Wl.h +++ b/src/lib/efl_wl/Efl_Wl.h @@ -34,7 +34,7 @@ /** * @defgroup Efl_Wl_Group EFL Wayland * - * A multiseat Wayland compositor in an Evas object. + * A multiseat xdg-shell compliant Wayland compositor in an Evas object. * All toplevel windows will be sized to the size of the compositor object. * @since 1.20 * @{ diff --git a/src/lib/efl_wl/efl_wl.c b/src/lib/efl_wl/efl_wl.c index 0943dbe3f8..5880f62e30 100644 --- a/src/lib/efl_wl/efl_wl.c +++ b/src/lib/efl_wl/efl_wl.c @@ -26,7 +26,7 @@ * the opaque struct client side. */ #include -#include "xdg-shell-unstable-v6-server-protocol.h" +#include "xdg-shell-server-protocol.h" #include "efl-hints-server-protocol.h" #include "dmabuf.h" @@ -281,9 +281,9 @@ typedef struct Shell_Positioner struct wl_resource *res; Evas_Coord_Size size; Eina_Rectangle anchor_rect; - enum zxdg_positioner_v6_anchor anchor; - enum zxdg_positioner_v6_gravity gravity; - enum zxdg_positioner_v6_constraint_adjustment constrain; + enum xdg_positioner_anchor anchor; + enum xdg_positioner_gravity gravity; + enum xdg_positioner_constraint_adjustment constrain; Evas_Coord_Point offset; } Shell_Positioner; @@ -734,19 +734,19 @@ resource_destroy(struct wl_client *client EINA_UNUSED, struct wl_resource *resou static int _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) { - enum zxdg_positioner_v6_anchor an = ZXDG_POSITIONER_V6_ANCHOR_NONE; - enum zxdg_positioner_v6_gravity grav = ZXDG_POSITIONER_V6_GRAVITY_NONE; + enum xdg_positioner_anchor an = XDG_POSITIONER_ANCHOR_NONE; + enum xdg_positioner_gravity grav = XDG_POSITIONER_GRAVITY_NONE; if (invert) { -if (sp->anchor & ZXDG_POSITIONER_V6_ANCHOR_LEFT) - an |= ZXDG_POSITIONER_V6_ANCHOR_RIGHT; -else if (sp->anchor & ZXDG_POSITIONER_V6_ANCHOR_RIGHT) - an |= ZXDG_POSITIONER_V6_ANCHOR_LEFT; -if (sp->gravity & ZXDG_POSITIONER_V6_GRAVITY_LEFT) - grav |= ZXDG_POSITIONER_V6_GRAVITY_RIGHT; -else if (sp->gravity & ZXDG_POSITIONER_V6_GRAVITY_RIGHT) - grav |= ZXDG_POSITIONER_V6_GRAVITY_LEFT; +if (sp->anchor == XDG_POSITIONER_ANCHOR_LEFT) + an = XDG_POSITIONER_ANCHOR_RIGHT; +else if (sp->anchor == XDG_POSITIONER_ANCHOR_RIGHT) + an = XDG_POSITIONER_ANCHOR_LEFT; +if (sp->gravity & XDG_POSITIONER_GRAVITY_LEFT) + grav |= XDG_POSITIONER_GRAVITY_RIGHT; +else if (sp->gravity & XDG_POSITIONER_GRAVITY_RIGHT) + grav |= XDG_POSITIONER_GRAVITY_LEFT; } else { @@ -755,20 +755,20 @@ _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) } /* left edge */ - if (an & ZXDG_POSITIONER_V6_ANCHOR_LEFT) + if (an == XDG_POSITIONER_ANCHOR_LEFT) x += sp->anchor_rect.x; /* right edge */ - else if (an & ZXDG_POSITIONER_V6_ANCHOR_RIGHT) + else if (an == XDG_POSITIONER_ANCHOR_RIGHT) x += sp->anchor_rect.x + sp->anchor_rect.w; /* center */ else x += sp->anchor_rect.x + (sp->anchor_rect.w / 2); /* flip left over anchor */ - if (grav & ZXDG_POSITIONER_V6_GRAVITY_LEFT) + if (grav & XDG_POSITIONER_GRAVITY_LEFT) x -= sp->size.w; /* center on anchor */ - else if (!(grav & ZXDG_POSITIONER_V6_GRAVITY_RIGHT)) + else if (!(grav & XDG_POSITIONER_GRAVITY_RIGHT)) x -= sp->size.w / 2; return x; } @@ -776,19 +776,19 @@ _apply_positioner_x(int x, Shell_Positioner *sp, Eina_Bool invert) static int _apply_positioner_y(int y, Shell_Positioner *sp, Eina_Bool invert) { - enum zxdg_positioner_v6_anchor an = ZXDG_POSITIONER_V6_ANCHOR_NONE; - enum zxdg_positioner_v6_gravity grav = ZXDG_POSITIONER_V6_GRAVITY_NONE; + enum xdg_positioner
[EGIT] [core/efl] feature/xdg_shell_final 02/02: wayland: add xdg-shell vfinal support for client-side
discomfitor pushed a commit to branch feature/xdg_shell_final. http://git.enlightenment.org/core/efl.git/commit/?id=25b2f2525b2394805eb16fec6606016836e821e0 commit 25b2f2525b2394805eb16fec6606016836e821e0 Author: Mike Blumenkrantz Date: Mon Jan 8 13:42:11 2018 -0500 wayland: add xdg-shell vfinal support for client-side @feature --- configure.ac | 2 +- src/Makefile_Ecore_Wl2.am | 6 + src/lib/ecore_wl2/ecore_wl2_display.c | 33 +- src/lib/ecore_wl2/ecore_wl2_private.h | 10 + src/lib/ecore_wl2/ecore_wl2_window.c | 388 + src/lib/ecore_wl2/window_v6.x | 188 ++ src/lib/elementary/efl_ui_win.c| 5 +- .../engines/wayland/ecore_evas_wayland_common.c| 34 ++ src/wayland_protocol/efl-hints.xml | 4 +- 9 files changed, 511 insertions(+), 159 deletions(-) diff --git a/configure.ac b/configure.ac index c399877c59..8043adfecf 100644 --- a/configure.ac +++ b/configure.ac @@ -2141,7 +2141,7 @@ AC_ARG_ENABLE([wayland], [want_wayland="no"]) if test "${want_wayland}" = "yes"; then - EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.9]) + EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.12]) PKG_CHECK_MODULES([WAYLAND], [wayland-scanner >= 1.11.0], [ AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable]) diff --git a/src/Makefile_Ecore_Wl2.am b/src/Makefile_Ecore_Wl2.am index a794d0b3ba..311cd27eec 100644 --- a/src/Makefile_Ecore_Wl2.am +++ b/src/Makefile_Ecore_Wl2.am @@ -40,6 +40,8 @@ lib/ecore_wl2/www-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-client-protocol.h \ +lib/ecore_wl2/xdg-shell-client-protocol.h \ +lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ lib/ecore_wl2/text-input-unstable-v1-client-protocol.h \ @@ -59,6 +61,8 @@ lib/ecore_wl2/efl-aux-hints-client-protocol.h \ lib/ecore_wl2/www-protocol.c \ lib/ecore_wl2/teamwork-protocol.c \ lib/ecore_wl2/teamwork-client-protocol.h \ + lib/ecore_wl2/xdg-shell-client-protocol.h \ + lib/ecore_wl2/xdg-shell-protocol.c \ lib/ecore_wl2/xdg-shell-unstable-v6-client-protocol.h \ lib/ecore_wl2/xdg-shell-unstable-v6-protocol.c \ lib/ecore_wl2/linux-dmabuf-unstable-v1-protocol.c \ @@ -70,4 +74,6 @@ lib/ecore_wl2/efl-aux-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-client-protocol.h \ lib/ecore_wl2/efl-hints-protocol.c +EXTRA_DIST2 += lib/ecore_wl2/window_v6.x + endif diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 9785406d97..740090c23a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -59,6 +59,17 @@ static const struct zwp_linux_dmabuf_v1_listener _dmabuf_listener = }; static void +_xdg_shell_cb_ping(void *data EINA_UNUSED, struct xdg_wm_base *shell, uint32_t serial) +{ + xdg_wm_base_pong(shell, serial); +} + +static const struct xdg_wm_base_listener _xdg_shell_listener = +{ + _xdg_shell_cb_ping, +}; + +static void _zxdg_shell_cb_ping(void *data EINA_UNUSED, struct zxdg_shell_v6 *shell, uint32_t serial) { zxdg_shell_v6_pong(shell, serial); @@ -337,13 +348,13 @@ _cb_global_add(void *data, struct wl_registry *registry, unsigned int id, const ewd->wl.efl_hints = wl_registry_bind(registry, id, &efl_hints_interface, MIN(version, 2)); EINA_INLIST_FOREACH(ewd->windows, window) { - if (!window->zxdg_surface) continue; + if (!window->xdg_surface) continue; if (window->aspect.set) - efl_hints_set_aspect(window->display->wl.efl_hints, window->zxdg_surface, + efl_hints_set_aspect(window->display->wl.efl_hints, window->xdg_surface, window->aspect.w, window->aspect.h, window->aspect.aspect); if (window->weight.set) efl_hints_set_weight(window->display->wl.efl_hints, - window->zxdg_surface, window->weight.w, window->weight.h); + window->xdg_surface, window->weight.w, window->weight.h); } } @@ -438,6 +449,7 @@ _ecore_wl2_display_globals_cleanup(Ecore_Wl2_Display *ewd) if (ewd->wl.session_recovery) zwp_e_session_recovery_destroy(ewd->wl.session_recovery); if (ewd->wl.www) www_destroy(ewd->wl.www); + if (ewd->wl.xdg_wm_base) xdg_wm_base_destroy(ewd->wl.xdg_wm_base); if (ewd->wl.zxdg_shell) zxdg_shell_v6_destroy(ewd->wl.zxdg_shell); if (ewd->wl.shm) wl_shm_destroy(ewd->wl.shm); if (ewd->wl.data_device_manager) @@ -488,6 +500,9 @@ _recovery_timer_add(Ecore_Wl2_Display *ewd) _ecore_wl2_wind
[EGIT] [core/efl] master 01/02: ecore: remove more use of main loop reference from unified API example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dbba64a5f9564c3631975bdf2cbc07f6ad87c001 commit dbba64a5f9564c3631975bdf2cbc07f6ad87c001 Author: Cedric BAIL Date: Mon Jan 8 13:19:48 2018 -0800 ecore: remove more use of main loop reference from unified API example. --- src/examples/ecore/efl_io_copier_example.c | 95 ++ 1 file changed, 57 insertions(+), 38 deletions(-) diff --git a/src/examples/ecore/efl_io_copier_example.c b/src/examples/ecore/efl_io_copier_example.c index 603da4dda0..016b4486f5 100644 --- a/src/examples/ecore/efl_io_copier_example.c +++ b/src/examples/ecore/efl_io_copier_example.c @@ -1,7 +1,4 @@ -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 -#include -#include +#include #include #include @@ -200,7 +197,7 @@ _copier_done(void *data EINA_UNUSED, const Efl_Event *event) } fprintf(stderr, "INFO: done\n"); - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } static void @@ -209,7 +206,7 @@ _copier_error(void *data EINA_UNUSED, const Efl_Event *event) const Eina_Error *perr = event->info; fprintf(stderr, "INFO: error: %d '%s'\n", *perr, eina_error_msg_get(*perr)); retval = EXIT_FAILURE; - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } static void @@ -362,8 +359,38 @@ static const Ecore_Getopt options = { } }; -int -main(int argc, char **argv) +static Eo *copier = NULL; + +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ + /* FIXME: For the moment the main loop doesn't get + properly destroyed on shutdown which disallow + relying on parent destroying their children */ + if (copier) + { +efl_io_closer_close(copier); +efl_del(copier); + } + copier = NULL; +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) { char *input_fname = NULL; char *output_fname = NULL; @@ -394,14 +421,10 @@ main(int argc, char **argv) ECORE_GETOPT_VALUE_NONE /* sentinel */ }; int args; - Eo *input, *output, *copier; + Eo *input, *output; Eina_Slice line_delm_slice = EINA_SLICE_STR_LITERAL(""); - ecore_init(); - ecore_con_init(); - ecore_con_url_init(); - - args = ecore_getopt_parse(&options, values, argc, argv); + args = ecore_getopt_parse(&options, values, 0, NULL); if (args < 0) { fputs("ERROR: Could not parse command line options.\n", stderr); @@ -411,7 +434,7 @@ main(int argc, char **argv) if (quit_option) goto end; - args = ecore_getopt_parse_positional(&options, values, argc, argv, args); + args = ecore_getopt_parse_positional(&options, values, 0, NULL, args); if (args < 0) { fputs("ERROR: Could not parse positional arguments.\n", stderr); @@ -446,7 +469,7 @@ main(int argc, char **argv) */ const char *address = input_fname + strlen("tcp://"); Eina_Error err; -input = efl_add(EFL_NET_DIALER_TCP_CLASS, efl_main_loop_get(), +input = efl_add(EFL_NET_DIALER_TCP_CLASS, ev->object, efl_event_callback_array_add(efl_added, input_cbs(), NULL), /* optional */ efl_event_callback_array_add(efl_added, dialer_cbs(), NULL) /* optional */ ); @@ -470,7 +493,7 @@ main(int argc, char **argv) { Eina_Error err; -input = efl_add(EFL_NET_DIALER_HTTP_CLASS, efl_main_loop_get(), +input = efl_add(EFL_NET_DIALER_HTTP_CLASS, ev->object, efl_net_dialer_http_method_set(efl_added, "GET"), efl_event_callback_array_add(efl_added, input_cbs(), NULL), /* optional */ efl_event_callback_array_add(efl_added, dialer_cbs(), NULL), /* optional */ @@ -496,7 +519,7 @@ main(int argc, char **argv) { Eina_Error err; -input = efl_add(EFL_NET_DIALER_WEBSOCKET_CLASS, efl_main_loop_get(), +input = efl_add(EFL_NET_DIALER_WEBSOCKET_CLASS, ev->object, efl_net_dialer_websocket_streaming_mode_set(efl_added, EFL_NET_DIALER_WEBSOCKET_STREAMING_MODE_TEXT), efl_event_callback_array_add(efl_added, input_cbs(), NULL), /* optional */ efl_event_callback_array_add(efl_added, dialer_cbs(), NULL) /* optional */ @@ -525,7 +548,7 @@ main(int argc, char **argv) const char *bind_address = input_fname + strlen("udp://"); const char *address; Eina_Error err; -input = efl_add(EFL_NET_DIALER_UDP_CLASS, efl_main_loop_get(), +input = efl_add(EFL_NET_DIA
[EGIT] [core/efl] master 02/02: ecore: make loop quit exit code work with EINA_VALUE_EMPTY.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1f28dce02819892c46cc9b191ac18720c5b2cf7a commit 1f28dce02819892c46cc9b191ac18720c5b2cf7a Author: Cedric BAIL Date: Mon Jan 8 13:40:02 2018 -0800 ecore: make loop quit exit code work with EINA_VALUE_EMPTY. --- src/lib/ecore/efl_loop.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/efl_loop.c b/src/lib/ecore/efl_loop.c index 9a09a16c1d..333fe1de7d 100644 --- a/src/lib/ecore/efl_loop.c +++ b/src/lib/ecore/efl_loop.c @@ -143,9 +143,19 @@ _efl_loop_efl_object_provider_find(const Eo *obj, Efl_Loop_Data *pd, const Efl_O EAPI int efl_loop_exit_code_process(Eina_Value *value) { - const Eina_Value_Type *t = eina_value_type_get(value); + Eina_Value def = EINA_VALUE_EMPTY; + const Eina_Value_Type *t; int r = 0; + if (value == NULL || + !value->type) + { +def = eina_value_int_init(0); +value = &def; + } + + t = eina_value_type_get(value); + if (t == EINA_VALUE_TYPE_UCHAR || t == EINA_VALUE_TYPE_USHORT || t == EINA_VALUE_TYPE_UINT || --
[EGIT] [core/efl] master 01/04: ecore: remove use of efl_main_loop_get from efl_io_copier_simple_example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e38a5b1234708a23cdf4f58118027e78a7374501 commit e38a5b1234708a23cdf4f58118027e78a7374501 Author: Cedric BAIL Date: Mon Jan 8 15:47:18 2018 -0800 ecore: remove use of efl_main_loop_get from efl_io_copier_simple_example. --- src/examples/ecore/efl_io_copier_simple_example.c | 63 ++- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/src/examples/ecore/efl_io_copier_simple_example.c b/src/examples/ecore/efl_io_copier_simple_example.c index 0b0410401e..ee945cce7b 100644 --- a/src/examples/ecore/efl_io_copier_simple_example.c +++ b/src/examples/ecore/efl_io_copier_simple_example.c @@ -1,14 +1,11 @@ -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 -#include - -static int retval = EXIT_SUCCESS; +#include static void _copier_done(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED) { fprintf(stderr, "INFO: done\n"); - ecore_main_loop_quit(); + + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } static void @@ -16,22 +13,50 @@ _copier_error(void *data EINA_UNUSED, const Efl_Event *event) { const Eina_Error *perr = event->info; fprintf(stderr, "INFO: error: #%d '%s'\n", *perr, eina_error_msg_get(*perr)); - ecore_main_loop_quit(); - retval = EXIT_FAILURE; + + efl_loop_quit(efl_loop_get(event->object), eina_value_int_init(EXIT_FAILURE)); } EFL_CALLBACKS_ARRAY_DEFINE(copier_cbs, { EFL_IO_COPIER_EVENT_DONE, _copier_done }, { EFL_IO_COPIER_EVENT_ERROR, _copier_error }); -int -main(int argc EINA_UNUSED, char *argv[] EINA_UNUSED) +static Eo *copier = NULL; + +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) { - Eo *input, *output, *copier, *loop; + /* FIXME: For the moment the main loop doesn't get + properly destroyed on shutdown which disallow + relying on parent destroying their children */ + if (copier) + { +efl_io_closer_close(copier); +efl_del(copier); + } + copier = NULL; +} - ecore_init(); +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) +{ + Eo *input, *output, *loop; - loop = efl_main_loop_get(); + loop = ev->object; input = efl_add(EFL_IO_STDIN_CLASS, loop); output = efl_add(EFL_IO_STDOUT_CLASS, loop); copier = efl_add(EFL_IO_COPIER_CLASS, loop, @@ -39,14 +64,6 @@ main(int argc EINA_UNUSED, char *argv[] EINA_UNUSED) efl_io_copier_destination_set(efl_added, output), /* optional */ efl_event_callback_array_add(efl_added, copier_cbs(), NULL) /* recommended, at least EFL_IO_COPIER_EVENT_DONE. */ ); - - ecore_main_loop_begin(); - - efl_io_closer_close(copier); - efl_del(copier); - efl_del(output); - efl_del(input); - - ecore_shutdown(); - return retval; } + +EFL_MAIN_EX(); --
[EGIT] [core/efl] master 03/04: ecore: remove use of efl_main_loop_get from efl_net_control_example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=419145a298d1297a1d5008c3c76bc3d7ea143d0f commit 419145a298d1297a1d5008c3c76bc3d7ea143d0f Author: Cedric BAIL Date: Mon Jan 8 16:04:22 2018 -0800 ecore: remove use of efl_main_loop_get from efl_net_control_example. --- src/examples/ecore/efl_net_control_example.c | 62 1 file changed, 36 insertions(+), 26 deletions(-) diff --git a/src/examples/ecore/efl_net_control_example.c b/src/examples/ecore/efl_net_control_example.c index ac9a4d6f5b..1adffc68c9 100644 --- a/src/examples/ecore/efl_net_control_example.c +++ b/src/examples/ecore/efl_net_control_example.c @@ -1,14 +1,10 @@ -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 #ifdef HAVE_SYS_SOCKET_H #include #endif -#include -#include +#include #include #include -static int retval = EXIT_SUCCESS; static Eina_Bool monitoring = EINA_TRUE; static const char * @@ -1184,10 +1180,10 @@ _cmd_access_point_configure_proxy(Eo *ctl, size_t argc, char **argv) } static void -_cmd_quit(Eo *ctl EINA_UNUSED, size_t argc EINA_UNUSED, char **argv EINA_UNUSED) +_cmd_quit(Eo *ctl, size_t argc EINA_UNUSED, char **argv EINA_UNUSED) { printf("INFO: bye!\n"); - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(ctl), EINA_VALUE_EMPTY); } static void @@ -1412,28 +1408,47 @@ EFL_CALLBACKS_ARRAY_DEFINE(ctl_events_cbs, { EFL_NET_CONTROL_EVENT_AGENT_BROWSER_URL, _ctl_agent_browser_url }, { EFL_NET_CONTROL_EVENT_AGENT_REQUEST_INPUT, _ctl_agent_request_input }); -int -main(int argc EINA_UNUSED, char **argv EINA_UNUSED) +static Eo *copier = NULL; + + +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ + efl_del(copier); + copier = NULL; +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) { Eo *ctl; Eo *input; - Eo *copier; Eina_Slice line_delimiter = EINA_SLICE_STR("\n"); - ecore_init(); - ecore_con_init(); - - ctl = efl_add(EFL_NET_CONTROL_CLASS, efl_main_loop_get(), + ctl = efl_add(EFL_NET_CONTROL_CLASS, ev->object, efl_event_callback_array_add(efl_added, ctl_events_cbs(), NULL)); if (!ctl) { fputs("ERROR: Could not create Efl.Net.Control object.\n", stderr); -retval = EXIT_FAILURE; goto end; } - input = efl_add(EFL_IO_STDIN_CLASS, efl_main_loop_get()); - copier = efl_add(EFL_IO_COPIER_CLASS, efl_main_loop_get(), + input = efl_add(EFL_IO_STDIN_CLASS, ev->object); + copier = efl_add(EFL_IO_COPIER_CLASS, ev->object, efl_io_copier_source_set(efl_added, input), efl_io_copier_line_delimiter_set(efl_added, line_delimiter), efl_io_copier_buffer_limit_set(efl_added, 8192), @@ -1443,15 +1458,10 @@ main(int argc EINA_UNUSED, char **argv EINA_UNUSED) printf("INFO: monitoring is on, disable with 'monitor off'. See 'help'.\n"); printf("INFO: type commands, if unsure try: 'help'\n"); - ecore_main_loop_begin(); - - efl_del(copier); - efl_del(input); - efl_del(ctl); + return ; end: - ecore_con_shutdown(); - ecore_shutdown(); - - return retval; + efl_loop_quit(efl_loop_get(ev->object), eina_value_int_init(EXIT_FAILURE)); } + +EFL_MAIN_EX(); --
[EGIT] [core/efl] master 02/04: ecore: remove use of efl_main_loop_get from efl_io_queue_example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a0e81d1276e0c47f8ff0ed450d823ea3fadba87f commit a0e81d1276e0c47f8ff0ed450d823ea3fadba87f Author: Cedric BAIL Date: Mon Jan 8 15:55:17 2018 -0800 ecore: remove use of efl_main_loop_get from efl_io_queue_example. --- src/examples/ecore/efl_io_queue_example.c | 76 --- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/src/examples/ecore/efl_io_queue_example.c b/src/examples/ecore/efl_io_queue_example.c index 4f75c47ce7..9a9738859b 100644 --- a/src/examples/ecore/efl_io_queue_example.c +++ b/src/examples/ecore/efl_io_queue_example.c @@ -1,10 +1,6 @@ -#define EFL_BETA_API_SUPPORT 1 -#define EFL_EO_API_SUPPORT 1 -#include +#include #include -#include -static int retval = EXIT_SUCCESS; static Eina_List *waiting = NULL; static Eina_List *commands = NULL; static Eina_Slice line_delimiter; @@ -87,7 +83,7 @@ _copier_done(void *data EINA_UNUSED, const Efl_Event *event) waiting = eina_list_remove(waiting, event->object); if (!waiting) - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } static void @@ -96,8 +92,8 @@ _copier_error(void *data EINA_UNUSED, const Efl_Event *event) const Eina_Error *perr = event->info; fprintf(stderr, "INFO: %s error: #%d '%s'\n", efl_name_get(event->object), *perr, eina_error_msg_get(*perr)); - retval = EXIT_FAILURE; - ecore_main_loop_quit(); + + efl_loop_quit(efl_loop_get(event->object), eina_value_int_init(EXIT_FAILURE)); } EFL_CALLBACKS_ARRAY_DEFINE(copier_cbs, @@ -171,8 +167,34 @@ static const Ecore_Getopt options = { } }; -int -main(int argc, char **argv) +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ + if (waiting) +{ + fprintf(stderr, "ERROR: %d operations were waiting!\n", + eina_list_count(waiting)); + eina_list_free(waiting); + waiting = NULL; +} +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) { char *address = NULL; char *line_delimiter_str = NULL; @@ -199,24 +221,19 @@ main(int argc, char **argv) int args; Eo *dialer, *sender, *receiver, *loop; - ecore_init(); - ecore_con_init(); - - args = ecore_getopt_parse(&options, values, argc, argv); + args = ecore_getopt_parse(&options, values, 0, NULL); if (args < 0) { fputs("ERROR: Could not parse command line options.\n", stderr); -retval = EXIT_FAILURE; goto end; } if (quit_option) goto end; - args = ecore_getopt_parse_positional(&options, values, argc, argv, args); + args = ecore_getopt_parse_positional(&options, values, 0, NULL, args); if (args < 0) { fputs("ERROR: Could not parse positional arguments.\n", stderr); -retval = EXIT_FAILURE; goto end; } @@ -225,7 +242,6 @@ main(int argc, char **argv) if (!commands) { fputs("ERROR: missing commands to send.\n", stderr); -retval = EXIT_FAILURE; goto end; } @@ -248,7 +264,6 @@ main(int argc, char **argv) if (!send_queue) { fprintf(stderr, "ERROR: could not create Efl_Io_Queue (send)\n"); -retval = EXIT_FAILURE; goto end; } @@ -271,7 +286,6 @@ main(int argc, char **argv) if (!receive_queue) { fprintf(stderr, "ERROR: could not create Efl_Io_Queue (receive)\n"); -retval = EXIT_FAILURE; goto error_receive_queue; } @@ -285,7 +299,7 @@ main(int argc, char **argv) * depend on main loop, thus their parent must be a loop * provider. We use the loop itself. */ - loop = efl_main_loop_get(); + loop = ev->object; /* The TCP client to use to send/receive network data */ dialer = efl_add(EFL_NET_DIALER_TCP_CLASS, loop, @@ -294,7 +308,6 @@ main(int argc, char **argv) if (!dialer) { fprintf(stderr, "ERROR: could not create Efl_Net_Dialer_Tcp\n"); -retval = EXIT_FAILURE; goto error_dialer; } @@ -308,7 +321,6 @@ main(int argc, char **argv) if (!sender) { fprintf(stderr, "ERROR: could not create Efl_Io_Copier (sender)\n"); -retval = EXIT_FAILURE; goto error_sender; } @@ -322,7 +334,6 @@ main(int argc, char **argv) if (!receiver) { fprintf(stderr, "ERROR: could not create Efl_Io_Copier (receiver)\n"); -retval = EXIT_FAILURE; goto error_receiver; } @@ -337,15 +348,7 @@ main(int argc, char **argv) waiting = eina_list_append(waiting, sender); waiting = eina_list_append(waiting, receiver); - ecore_ma
[EGIT] [core/efl] master 04/04: ecore: remove use of efl_main_loop_get from efl_net_dialer_http_example.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bb5f9d156ca9fad76a695f78d767a0c27273360d commit bb5f9d156ca9fad76a695f78d767a0c27273360d Author: Cedric BAIL Date: Mon Jan 8 16:18:52 2018 -0800 ecore: remove use of efl_main_loop_get from efl_net_dialer_http_example. --- src/examples/ecore/efl_net_dialer_http_example.c | 89 ++-- 1 file changed, 54 insertions(+), 35 deletions(-) diff --git a/src/examples/ecore/efl_net_dialer_http_example.c b/src/examples/ecore/efl_net_dialer_http_example.c index 2eae870a7e..5c83fda53c 100644 --- a/src/examples/ecore/efl_net_dialer_http_example.c +++ b/src/examples/ecore/efl_net_dialer_http_example.c @@ -6,7 +6,6 @@ #include #include -static int retval = EXIT_SUCCESS; static int waiting; static void @@ -43,7 +42,7 @@ _error(void *data EINA_UNUSED, const Efl_Event *event) { const Eina_Error *perr = event->info; fprintf(stderr, "INFO: error: %d '%s'\n", *perr, eina_error_msg_get(*perr)); - retval = EXIT_FAILURE; + efl_loop_quit(efl_loop_get(event->object), eina_value_int_init(EXIT_FAILURE)); } static void @@ -87,7 +86,7 @@ _done(void *data EINA_UNUSED, const Efl_Event *event) fprintf(stderr, "INFO: done %s, waiting=%d\n", efl_name_get(event->object), waiting); if (waiting == 0) - ecore_main_loop_quit(); + efl_loop_quit(efl_loop_get(event->object), EINA_VALUE_EMPTY); } EFL_CALLBACKS_ARRAY_DEFINE(copier_cbs, @@ -199,8 +198,49 @@ static const Ecore_Getopt options = { } }; -int -main(int argc, char **argv) +static Eo *dialer = NULL; +static Eo *sender = NULL; +static Eo *receiver = NULL; + +EAPI_MAIN void +efl_pause(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_resume(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ +} + +EAPI_MAIN void +efl_terminate(void *data EINA_UNUSED, + const Efl_Event *ev EINA_UNUSED) +{ + /* FIXME: For the moment the main loop doesn't get + properly destroyed on shutdown which disallow + relying on parent destroying their children */ + if (sender || + receiver || + dialer) + { +efl_io_closer_close(sender); +efl_del(sender); +sender = NULL; + +efl_io_closer_close(receiver); +efl_del(receiver); +receiver = NULL; + +efl_del(dialer); +dialer = NULL; + } +} + +EAPI_MAIN void +efl_main(void *data EINA_UNUSED, + const Efl_Event *ev) { char *method = "GET"; char *primary_mode_str = "auto"; @@ -246,7 +286,7 @@ main(int argc, char **argv) ECORE_GETOPT_VALUE_NONE /* sentinel */ }; int args; - Eo *input, *dialer, *output, *sender, *receiver, *loop; + Eo *input, *output, *loop; Efl_Net_Dialer_Http_Primary_Mode primary_mode; Efl_Net_Http_Version http_version; Efl_Net_Http_Authentication_Method authentication_method; @@ -255,27 +295,21 @@ main(int argc, char **argv) Eina_Error err; char *str; - ecore_init(); - ecore_con_init(); - ecore_con_url_init(); - - args = ecore_getopt_parse(&options, values, argc, argv); + args = ecore_getopt_parse(&options, values, 0, NULL); if (args < 0) { fputs("ERROR: Could not parse command line options.\n", stderr); -retval = EXIT_FAILURE; goto end; } if (quit_option) goto end; - loop = efl_main_loop_get(); + loop = ev->object; - args = ecore_getopt_parse_positional(&options, values, argc, argv, args); + args = ecore_getopt_parse_positional(&options, values, 0, NULL, args); if (args < 0) { fputs("ERROR: Could not parse positional arguments.\n", stderr); -retval = EXIT_FAILURE; goto end; } @@ -371,7 +405,7 @@ main(int argc, char **argv) { fprintf(stderr, "ERROR: could not dial '%s': %s", address, eina_error_msg_get(err)); -goto no_mainloop; +goto end; } fprintf(stderr, @@ -398,25 +432,10 @@ main(int argc, char **argv) fprintf(stderr, "INFO: %s: %s\n", header->key, header->value); eina_iterator_free(itr); - ecore_main_loop_begin(); - - fprintf(stderr, "INFO: main loop finished.\n"); - - no_mainloop: - efl_io_closer_close(sender); - efl_del(sender); - - efl_io_closer_close(receiver); - efl_del(receiver); - - efl_del(dialer); - efl_del(output); - efl_del(input); + return ; end: - ecore_con_url_shutdown(); - ecore_con_shutdown(); - ecore_shutdown(); - - return retval; + efl_loop_quit(ev->object, eina_value_int_init(EXIT_FAILURE)); } + +EFL_MAIN_EX(); --
[EGIT] [core/efl] master 01/01: ecore_imf: Add transaction start and end event callback
jihoon pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d1823c6152ce4cfb4d143aa7b0620379ec333dc9 commit d1823c6152ce4cfb4d143aa7b0620379ec333dc9 Author: Jihoon Kim Date: Tue Jan 9 08:13:47 2018 +0900 ecore_imf: Add transaction start and end event callback @feature Change-Id: I091b4e291b821ee5b6cc180d98024e251d4bcd03 Signed-off-by: Jihoon Kim --- src/lib/ecore_imf/Ecore_IMF.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h index 0fc821da2f..c4ff9ec955 100644 --- a/src/lib/ecore_imf/Ecore_IMF.h +++ b/src/lib/ecore_imf/Ecore_IMF.h @@ -195,7 +195,9 @@ typedef enum ECORE_IMF_CALLBACK_DELETE_SURROUNDING, /**< "DELETE_SURROUNDING" is called when the input method needs to delete all or part of the context surrounding the cursor @since 1.2 */ ECORE_IMF_CALLBACK_SELECTION_SET, /**< "SELECTION_SET" is called when the input method needs to set the selection @since 1.9 */ ECORE_IMF_CALLBACK_PRIVATE_COMMAND_SEND, /**< "PRIVATE_COMMAND_SEND" is called when the input method sends a private command @since 1.12 */ - ECORE_IMF_CALLBACK_COMMIT_CONTENT /**< "COMMIT_CONTENT" is called when the input method commits content such as an image @since 1.20 */ + ECORE_IMF_CALLBACK_COMMIT_CONTENT, /**< "COMMIT_CONTENT" is called when the input method commits content such as an image @since 1.20 */ + ECORE_IMF_CALLBACK_TRANSACTION_START, /**< "TRANSACTION_START" is called when a new transaction sequence starts. @since 1.21 */ + ECORE_IMF_CALLBACK_TRANSACTION_END /**< "TRANSACTION_END" is called when a new transaction sequence starts. @since 1.21 */ } Ecore_IMF_Callback_Type; /** --
[EGIT] [core/efl] master 01/01: ci: actually install systemd in the Ubuntu 17.10 Dockerfile
stefan pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fdf0812883b4b9da1ea6e04e26c5fa469bd8920a commit fdf0812883b4b9da1ea6e04e26c5fa469bd8920a Author: Stefan Schmidt Date: Fri Jan 5 14:10:46 2018 +0100 ci: actually install systemd in the Ubuntu 17.10 Dockerfile This allows us to build efl with systemd support on it and enables the newer Ubunutu version by default. --- .ci/Dockerfile-Ubuntu1710 | 2 +- .travis.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/Dockerfile-Ubuntu1710 b/.ci/Dockerfile-Ubuntu1710 index 23a134b598..2cdf1093ff 100644 --- a/.ci/Dockerfile-Ubuntu1710 +++ b/.ci/Dockerfile-Ubuntu1710 @@ -2,7 +2,7 @@ FROM ubuntu:17.10 # Install RUN apt-get update -y -RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libp [...] +RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libp [...] # Build RUN mkdir -p /src/ diff --git a/.travis.yml b/.travis.yml index 2f60f7ee8f..98f937f4cc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ before_install: matrix: include: -- env: DISTRO=Ubuntu1704 +- env: DISTRO=Ubuntu1710 - env: DISTRO=Fedora27 - env: DISTRO=Debian91 - env: DISTRO=Archlinux --