[E-devel] CServe2
Hi All, I did some investigating into cserve2 support today, only to find out that it's broken :( It turns out that it's always had some bugs and thus was never turned on. Seeing as how it is unlikely to ever be bug-fixed, maintained, or even enabled I cannot see keeping this code around as it just sits there with no hope of ever working. If there are no objections, I will work on removing cserve2 sometime after the 1.21 release goes out. If you Do have objections, please speak up !! Cheers, devilhorns -- 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] CServe2
Hi All, I did some investigating into cserve2 support a couple weeks ago, only to find out that it's broken :( It turns out that it's always had some bugs and thus was never turned on. Seeing as how it is unlikely to ever be bug-fixed, maintained, or even enabled I cannot see keeping this code around as it just sits there with no hope of ever working. If there are no objections, I will work on removing cserve2 sometime after the 1.21 release goes out. If you Do have objections, please speak up !! Cheers, devilhorns -- 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] [apps/express] master 01/01: express: Be sure we have an IP address before trying to resolv server name
devilhorns pushed a commit to branch master. http://git.enlightenment.org/apps/express.git/commit/?id=9797a70b60746730aa80fcc945fdc65b1c1b27e1 commit 9797a70b60746730aa80fcc945fdc65b1c1b27e1 Author: Chris Michael <cp.mich...@samsung.com> Date: Sun Feb 12 08:51:39 2017 -0500 express: Be sure we have an IP address before trying to resolv server name Small patch to fix a segfault which could happen if ecore_con_server_ip_get does not return an IP address. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/main.c b/src/lib/main.c index a08019a..dc24cf2 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -73,6 +73,7 @@ _cb_server_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) server = ecore_con_server_name_get(ev->server); ip = ecore_con_server_ip_get(ev->server); + if (!ip) return ECORE_CALLBACK_RENEW; name = _server_name_get(ip); DBG("Server Added %s %s", server, ip); --
[EGIT] [admin/devs] master 01/01: devs: Update geolocation and managing projects
devilhorns pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=48d03725f8e3992543dfb39035371fb1cdb9555f commit 48d03725f8e3992543dfb39035371fb1cdb9555f Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jan 4 08:20:56 2017 -0500 devs: Update geolocation and managing projects Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- developers/devilhorns/info.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/developers/devilhorns/info.txt b/developers/devilhorns/info.txt index 8516d6c..5fa146a 100644 --- a/developers/devilhorns/info.txt +++ b/developers/devilhorns/info.txt @@ -5,7 +5,7 @@ Name: Christopher Michael Location: New Jersey, US E-Mail: devilho...@comcast.net WWW: http://home.comcast.net/~devilhorns -Managing: General E patch monkey, emprint, emodules, illume2, evas, ecore, elementary, E17, EFL Wayland +Managing: General E patch monkey, emprint, emodules, illume2, evas, ecore, elementary, E17, EFL Wayland, ecore_drm2, ecore_wl2, elput Group: Core, Applications, Libraries Platform: Gentoo/Sabayon/Arch -GeoData: 39.90294, -75.07397 +GeoData: 39.892212, -74.874357 --
[EGIT] [core/efl] master 01/01: evas: Fix compiling evas x engine with no gles
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e4c641ed1e5607651e2d43a832e7cc01471f3fd6 commit e4c641ed1e5607651e2d43a832e7cc01471f3fd6 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Aug 3 08:54:54 2016 -0400 evas: Fix compiling evas x engine with no gles This fixes an issue from 19eb7b727fbf35620a13fb65b50d3 where the code would no longer compile due to not finding noext_glXCreatePixmap in the structure. This was due to the fact that this field was not compiled into the structure if gl_gles was defined. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/evas/engines/gl_x11/evas_x_main.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c index 9e03851..98dfcc8 100644 --- a/src/modules/evas/engines/gl_x11/evas_x_main.c +++ b/src/modules/evas/engines/gl_x11/evas_x_main.c @@ -542,7 +542,9 @@ try_gles2: // ALSO as of some nvidia driver version loose binding is // probably not needed if (v1 < 195) gw->detected.loose_binding = 1; +#ifndef GL_GLES if (v1 >= 360) gw->detected.noext_glXCreatePixmap = 1; +#endif } } else @@ -558,7 +560,12 @@ try_gles2: gw->detected.msaa = val; #endif +#ifndef GL_GLES eng_gl_symbols(gw->detected.noext_glXCreatePixmap); +#else + eng_gl_symbols(EINA_FALSE); // EINA_FALSE is ignored anyway for gl_gles +#endif + gw->gl_context = glsym_evas_gl_common_context_new(); if (!gw->gl_context) { --
[EGIT] [core/efl] master 01/01: ecore-drm2: Fix issue of VT-Switching going blank on returns
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4431ff01ffc40fc55c0923bee03296f67ee5ef65 commit 4431ff01ffc40fc55c0923bee03296f67ee5ef65 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 15:35:42 2016 -0400 ecore-drm2: Fix issue of VT-Switching going blank on returns As it turns out, when we vt-switch Back to a running Enlightenment, it ends up processing all outputs and causes Evas to create a giant canvas to cover all outputs. This new canvas causes a blank screen as the pageflipping fails (due to fb being too large). As we do not yet support output on more an one screen anyway, temporarily disable any output which is not marked as primary. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_drm2/ecore_drm2_outputs.c | 25 +++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index 1eb50d6..f44bee8 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -83,6 +83,8 @@ _output_event_send(Ecore_Drm2_Output *output) { Ecore_Drm2_Event_Output_Changed *ev; + if ((!output->enabled) && (!output->connected)) return; + ev = calloc(1, sizeof(Ecore_Drm2_Event_Output_Changed)); if (!ev) return; @@ -594,6 +596,12 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne if (!eina_list_count(dev->outputs)) output->primary = EINA_TRUE; + else + { +/* temporarily disable other outputs which are not primary */ +output->connected = EINA_FALSE; +output->enabled = EINA_FALSE; + } dev->alloc.crtc |= (1 << output->crtc_id); dev->alloc.conn |= (1 << output->conn_id); @@ -979,16 +987,29 @@ ecore_drm2_output_enabled_set(Ecore_Drm2_Output *output, Eina_Bool enabled) { EINA_SAFETY_ON_NULL_RETURN(output); + if (!output->connected) return; if (output->enabled == enabled) return; output->enabled = enabled; if (output->enabled) - ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON); + { +Ecore_Drm2_Fb *fb; + +if (output->current) fb = output->current; +else if (output->next) fb = output->next; + +drmModeSetCrtc(output->fd, output->crtc_id, fb->id, + output->x, output->y, + >conn_id, 1, + >current_mode->info); + +ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON); + } else { ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_OFF); output->current = NULL; -output->next = NULL; +/* output->next = NULL; */ } _output_event_send(output); --
[EGIT] [core/enlightenment] master 01/01: add key_up and key_down methods to sreen interface
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=35febc367d9ce0266f400f52c6fadcfec8ccc4a3 commit 35febc367d9ce0266f400f52c6fadcfec8ccc4a3 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 13:31:13 2016 -0400 add key_up and key_down methods to sreen interface This patch adds new methods to the screen interface that we can use inside wl_drm to determine if a key event is eaten or not. This fixes an issue where VT-Switching would not work if an application was on the screen (E-Wayland). Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_comp.h| 4 src/bin/e_comp_canvas.c | 16 ++-- src/modules/wl_drm/e_mod_main.c | 37 + 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h index c391993..571e1b2 100644 --- a/src/bin/e_comp.h +++ b/src/bin/e_comp.h @@ -70,6 +70,10 @@ typedef struct E_Comp_Screen_Iface void (*apply)(void); /* set dpms (on, standby, suspend, off) */ void (*dpms)(int); + /* is key event eaten */ + Eina_Bool (*key_down)(Ecore_Event_Key *ev); + /* is key event eaten */ + Eina_Bool (*key_up)(Ecore_Event_Key *ev); } E_Comp_Screen_Iface; struct _E_Comp diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c index 7d077ab..0289b42 100644 --- a/src/bin/e_comp_canvas.c +++ b/src/bin/e_comp_canvas.c @@ -118,11 +118,13 @@ _key_down(int ctx, Ecore_Event_Key *ev) */ if ((!ec) || (ev->event_window != e_comp->ee_win)) return ECORE_CALLBACK_RENEW; } - return !e_bindings_key_down_event_handle(ctx, E_OBJECT(e_comp), ev) + return ((!e_comp->screen) || + (!e_comp->screen->key_down) || (!e_comp->screen->key_down(ev))) && + !e_bindings_key_down_event_handle(ctx, E_OBJECT(e_comp), ev) #ifdef HAVE_WAYLAND - && !e_comp_wl_key_down(ev) + && !e_comp_wl_key_down(ev) #endif - ; + ; } static Eina_Bool @@ -142,11 +144,13 @@ _key_up(int ctx, Ecore_Event_Key *ev) { e_screensaver_notidle(); if ((e_comp->comp_type == E_PIXMAP_TYPE_X) && (ev->event_window != e_comp->root)) return ECORE_CALLBACK_PASS_ON; - return !e_bindings_key_up_event_handle(ctx, E_OBJECT(e_comp), ev) + return ((!e_comp->screen) || + (!e_comp->screen->key_up) || (!e_comp->screen->key_up(ev))) && + !e_bindings_key_up_event_handle(ctx, E_OBJECT(e_comp), ev) #ifdef HAVE_WAYLAND - && !e_comp_wl_key_up(ev) + && !e_comp_wl_key_up(ev) #endif - ; + ; } static Eina_Bool diff --git a/src/modules/wl_drm/e_mod_main.c b/src/modules/wl_drm/e_mod_main.c index 98f31a8..5f50f2d 100644 --- a/src/modules/wl_drm/e_mod_main.c +++ b/src/modules/wl_drm/e_mod_main.c @@ -736,6 +736,41 @@ _drm2_dpms(int set) } } +static Eina_Bool +_drm2_key_down(Ecore_Event_Key *ev) +{ + int code; + + code = (ev->keycode - 8); + + if ((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) && + ((ev->modifiers & ECORE_EVENT_MODIFIER_ALT) || + (ev->modifiers & ECORE_EVENT_MODIFIER_ALTGR)) && + (code >= KEY_F1) && (code <= KEY_F8)) + { +Ecore_Drm2_Device *dev; +int vt; + +vt = (code - KEY_F1 + 1); + +dev = ecore_evas_data_get(e_comp->ee, "device"); +if (dev) + { + ecore_drm2_device_vt_set(dev, vt); + return EINA_TRUE; + } + } + + return EINA_FALSE; +} + +static Eina_Bool +_drm2_key_up(Ecore_Event_Key *ev) +{ + (void)ev; + return EINA_FALSE; +} + static void _drm2_read_pixels(E_Comp_Wl_Output *output, void *pixels) { @@ -1143,6 +1178,8 @@ static E_Comp_Screen_Iface drmiface = .create = _drm2_randr_create, .apply = _drm2_randr_apply, .dpms = _drm2_dpms, + .key_down = _drm2_key_down, + .key_up = _drm2_key_up, #else .create = _drm_randr_create, .apply = _drm_randr_apply, --
[EGIT] [core/efl] master 01/01: ecore-drm2: Add API for vt-switching
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1bbc23b0863edee9a19603aaf3360489f483 commit 1bbc23b0863edee9a19603aaf3360489f483 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 13:28:10 2016 -0400 ecore-drm2: Add API for vt-switching This commit adds a function we can call from inside Enlightenment in order to fix an issue with VT-Switching. The problem was when a client application is open, the compositor does not pass along the key-combo for vt-switch but rather sends it to an application. This patch (along with upcoming Enlightenment one) fixes the issue. NB: This late API add approved by Stefan ;) @feature Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_drm2/Ecore_Drm2.h| 13 + src/lib/ecore_drm2/ecore_drm2_device.c | 8 2 files changed, 21 insertions(+) diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index fa2e916..3de7999 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -303,6 +303,19 @@ EAPI void ecore_drm2_device_screen_size_range_get(Ecore_Drm2_Device *device, int EAPI void ecore_drm2_device_calibrate(Ecore_Drm2_Device *device, int w, int h); /** + * Try to switch to a given virtual terminal + * + * @param device + * @param vt + * + * @return EINA_TRUE on success, EINA_FALSE otherwise + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI Eina_Bool ecore_drm2_device_vt_set(Ecore_Drm2_Device *device, int vt); + +/** * @defgroup Ecore_Drm2_Output_Group Drm output functions * * Functions that deal with setup of outputs diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index 8794063..8f2e43c 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -363,3 +363,11 @@ ecore_drm2_device_calibrate(Ecore_Drm2_Device *device, int w, int h) elput_input_devices_calibrate(device->em, w, h); } + +EAPI Eina_Bool +ecore_drm2_device_vt_set(Ecore_Drm2_Device *device, int vt) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(device, EINA_FALSE); + + return elput_manager_vt_set(device->em, vt); +} --
[EGIT] [core/efl] master 01/01: elementary: Reduce variable usage
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3754ad04770ad61686e901363ba11d05ff39e135 commit 3754ad04770ad61686e901363ba11d05ff39e135 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 12:02:51 2016 -0400 elementary: Reduce variable usage As we don't use the framespace x, y here then there is really no need to have them. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index e35589e..21c9ccf 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2979,9 +2979,9 @@ _elm_win_resize_objects_eval(Evas_Object *obj) if (sd->frame_obj) { -int fx, fy, fw, fh; +int fw, fh; -evas_output_framespace_get(sd->evas, , , , ); +evas_output_framespace_get(sd->evas, NULL, NULL, , ); minw += fw; minh += fh; maxw += fw; --
[EGIT] [core/efl] master 01/01: elementary: Fix issue of wrong minimum size for some E dialogs
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3b82375835b7fc5d768d1c32ae6c4db85ee8780d commit 3b82375835b7fc5d768d1c32ae6c4db85ee8780d Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 11:12:23 2016 -0400 elementary: Fix issue of wrong minimum size for some E dialogs When we are calculating minimum size hints for the window object, we should be adding framespace to maximum size, not subtracting it... Honestly this just looks like a brain-dead typo. Fixes T44225 Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 3021c97..e35589e 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2984,12 +2984,13 @@ _elm_win_resize_objects_eval(Evas_Object *obj) evas_output_framespace_get(sd->evas, , , , ); minw += fw; minh += fh; -maxw -= fw; -maxh -= fh; +maxw += fw; +maxh += fh; } evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); + evas_object_geometry_get(obj, NULL, NULL, , ); if (w < minw) w = minw; if (h < minh) h = minh; --
[EGIT] [core/efl] master 01/01: elementary: Avoid possibly setting opaque region twice
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bf414d8c542db32cb85d41dcbc88f97b38319474 commit bf414d8c542db32cb85d41dcbc88f97b38319474 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 27 08:08:00 2016 -0400 elementary: Avoid possibly setting opaque region twice Previously, if the window had no frame object, then this could would have been setting opaque region twice (for the alpha case). We can avoid this if we move the alpha check to below the frame check. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index e6248b3..3021c97 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -1303,8 +1303,6 @@ _elm_win_opaque_update(Efl_Ui_Win_Data *sd) wdata = sd->ee->engine.data; alpha = ecore_evas_alpha_get(sd->ee); - if (alpha) - ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); if (sd->fullscreen || (!sd->frame_obj)) { ecore_evas_geometry_get(sd->ee, NULL, NULL, , ); @@ -1325,6 +1323,9 @@ _elm_win_opaque_update(Efl_Ui_Win_Data *sd) >content.w, >content.h); if (!alpha) ecore_wl2_window_opaque_region_set(sd->wl.win, ox, oy, ow, oh); + else + ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); + ecore_wl2_window_geometry_set(sd->wl.win, ox, oy, ow, oh); ecore_wl2_window_input_region_set(sd->wl.win, ox, oy, ow, oh); } --
[EGIT] [core/enlightenment] master 01/01: wl_fb: Check that e_comp_wl_init does not fail.
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=0122bc167cc433b7c993a1e5fa7f0c85bd536c73 commit 0122bc167cc433b7c993a1e5fa7f0c85bd536c73 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 13:00:33 2016 -0400 wl_fb: Check that e_comp_wl_init does not fail. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/wl_fb/e_mod_main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/wl_fb/e_mod_main.c b/src/modules/wl_fb/e_mod_main.c index cfbdef2..6bb7206 100644 --- a/src/modules/wl_fb/e_mod_main.c +++ b/src/modules/wl_fb/e_mod_main.c @@ -35,7 +35,9 @@ e_modapi_init(E_Module *m) screen->h = h; e_xinerama_screens_set(eina_list_append(NULL, screen)); } - e_comp_wl_init(); + + if (!e_comp_wl_init()) return NULL; + e_comp_canvas_init(w, h); e_comp->pointer = e_pointer_canvas_new(e_comp->ee, EINA_TRUE); --
[EGIT] [core/efl] master 01/01: ecore-wl2: Add safety check for valid compositor
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ed55b1f733599f82d3b820d926546e0586731184 commit ed55b1f733599f82d3b820d926546e0586731184 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 12:43:24 2016 -0400 ecore-wl2: Add safety check for valid compositor As we cannot create a new wl_region without a valid compositor, add a safety check. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/ecore_wl2_window.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index fc39507..4a47614 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c @@ -632,6 +632,8 @@ ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window *window, int x, int y, int w if ((window->transparent) || (window->alpha)) return; + EINA_SAFETY_ON_NULL_RETURN(window->display->wl.compositor); + region = wl_compositor_create_region(window->display->wl.compositor); if (!region) { --
[EGIT] [core/efl] master 01/01: ecore-wl2: Remove error message during connect/reconnect
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=acbba9b03be18bf9c90311abba8d538b42640601 commit acbba9b03be18bf9c90311abba8d538b42640601 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 10:55:31 2016 -0400 ecore-wl2: Remove error message during connect/reconnect Since session recovery can cause apps to constantly try and reconnect to the display server, we probably should not be filling logs here. On the other hand, any failures on first connect are now not going to display any error messages. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/ecore_wl2_display.c | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index 0df55f5..77f6b28 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -418,11 +418,7 @@ _ecore_wl2_display_connect(Ecore_Wl2_Display *ewd, Eina_Bool sync) /* try to connect to wayland display with this name */ ewd->wl.display = wl_display_connect(ewd->name); - if (!ewd->wl.display) - { -ERR("Could not connect to display %s", ewd->name); -return EINA_FALSE; - } + if (!ewd->wl.display) return EINA_FALSE; ewd->wl.registry = wl_display_get_registry(ewd->wl.display); wl_registry_add_listener(ewd->wl.registry, &_registry_listener, ewd); --
[EGIT] [core/enlightenment] enlightenment-0.20 01/01: Revert "e - fix major memory bloat when in gl mode - dont create shm segments"
devilhorns pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=c461d84e2d31466c0de686d48c35e8f083c0a278 commit c461d84e2d31466c0de686d48c35e8f083c0a278 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 10:31:03 2016 -0400 Revert "e - fix major memory bloat when in gl mode - dont create shm segments" This reverts commit ae6e09ec11aebdce47aba0e18d8aad0368c2f101. This breaks resizing of windows inside Enlightenment. Evas_Engines don't bind a pixmap permanently, they just bind during each render, so on resize this caused a broken pixmap if we don't create a new one for each size. This patch Would be correct IF engines worked differently wrt x pixmap binding during render. --- src/bin/e_pixmap.c | 26 -- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 228d2b9..2bd94a7 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -788,7 +788,12 @@ e_pixmap_image_refresh(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -return EINA_TRUE; +if (cp->image) return EINA_TRUE; +if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; +cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); +if (cp->image) + cp->image_argb = ecore_x_image_is_argb32_get(cp->image); +return !!cp->image; #endif break; case E_PIXMAP_TYPE_WL: @@ -857,20 +862,6 @@ e_pixmap_image_is_argb(const E_Pixmap *cp) return EINA_FALSE; } -static Eina_Bool -_e_pixmap_image_alloc(E_Pixmap *cp) -{ - if (cp->image) return EINA_TRUE; - if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; - cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); - if (cp->image) - { -cp->image_argb = ecore_x_image_is_argb32_get(cp->image); -return EINA_TRUE; - } - return EINA_FALSE; -} - E_API void * e_pixmap_image_data_get(E_Pixmap *cp) { @@ -880,7 +871,7 @@ e_pixmap_image_data_get(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (_e_pixmap_image_alloc(cp)) +if (cp->image) return ecore_x_image_data_get(cp->image, >ibpl, NULL, >ibpp); #endif break; @@ -931,8 +922,7 @@ e_pixmap_image_draw(E_Pixmap *cp, const Eina_Rectangle *r) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (!cp->pixmap) return EINA_FALSE; -if (!_e_pixmap_image_alloc(cp)) return EINA_FALSE; +if ((!cp->image) || (!cp->pixmap)) return EINA_FALSE; return ecore_x_image_get(cp->image, cp->pixmap, r->x, r->y, r->x, r->y, r->w, r->h); #endif break; --
[EGIT] [core/enlightenment] enlightenment-0.21 01/01: Revert "e - fix major memory bloat when in gl mode - dont create shm segments"
devilhorns pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=27917c26dff26f74b67da2619d3a427a58ff5d81 commit 27917c26dff26f74b67da2619d3a427a58ff5d81 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 10:31:03 2016 -0400 Revert "e - fix major memory bloat when in gl mode - dont create shm segments" This reverts commit ae6e09ec11aebdce47aba0e18d8aad0368c2f101. This breaks resizing of windows inside Enlightenment. Evas_Engines don't bind a pixmap permanently, they just bind during each render, so on resize this caused a broken pixmap if we don't create a new one for each size. This patch Would be correct IF engines worked differently wrt x pixmap binding during render. --- src/bin/e_pixmap.c | 26 -- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 921cc06..febb689 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -830,7 +830,12 @@ e_pixmap_image_refresh(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -return EINA_TRUE; +if (cp->image) return EINA_TRUE; +if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; +cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); +if (cp->image) + cp->image_argb = ecore_x_image_is_argb32_get(cp->image); +return !!cp->image; #endif break; case E_PIXMAP_TYPE_WL: @@ -899,20 +904,6 @@ e_pixmap_image_is_argb(const E_Pixmap *cp) return EINA_FALSE; } -static Eina_Bool -_e_pixmap_image_alloc(E_Pixmap *cp) -{ - if (cp->image) return EINA_TRUE; - if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; - cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); - if (cp->image) - { -cp->image_argb = ecore_x_image_is_argb32_get(cp->image); -return EINA_TRUE; - } - return EINA_FALSE; -} - E_API void * e_pixmap_image_data_get(E_Pixmap *cp) { @@ -922,7 +913,7 @@ e_pixmap_image_data_get(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (_e_pixmap_image_alloc(cp)) +if (cp->image) return ecore_x_image_data_get(cp->image, >ibpl, NULL, >ibpp); #endif break; @@ -973,8 +964,7 @@ e_pixmap_image_draw(E_Pixmap *cp, const Eina_Rectangle *r) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (!cp->pixmap) return EINA_FALSE; -if (!_e_pixmap_image_alloc(cp)) return EINA_FALSE; +if ((!cp->image) || (!cp->pixmap)) return EINA_FALSE; return ecore_x_image_get(cp->image, cp->pixmap, r->x, r->y, r->x, r->y, r->w, r->h); #endif break; --
[EGIT] [core/enlightenment] master 01/01: Revert "e - fix major memory bloat when in gl mode - dont create shm segments"
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=ab1c2ed5d128c8a0e3fad1c7499ad511e290073d commit ab1c2ed5d128c8a0e3fad1c7499ad511e290073d Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 26 10:31:03 2016 -0400 Revert "e - fix major memory bloat when in gl mode - dont create shm segments" This reverts commit ae6e09ec11aebdce47aba0e18d8aad0368c2f101. This breaks resizing of windows inside Enlightenment. Evas_Engines don't bind a pixmap permanently, they just bind during each render, so on resize this caused a broken pixmap if we don't create a new one for each size. This patch Would be correct IF engines worked differently wrt x pixmap binding during render. --- src/bin/e_pixmap.c | 26 -- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/src/bin/e_pixmap.c b/src/bin/e_pixmap.c index 921cc06..febb689 100644 --- a/src/bin/e_pixmap.c +++ b/src/bin/e_pixmap.c @@ -830,7 +830,12 @@ e_pixmap_image_refresh(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -return EINA_TRUE; +if (cp->image) return EINA_TRUE; +if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; +cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); +if (cp->image) + cp->image_argb = ecore_x_image_is_argb32_get(cp->image); +return !!cp->image; #endif break; case E_PIXMAP_TYPE_WL: @@ -899,20 +904,6 @@ e_pixmap_image_is_argb(const E_Pixmap *cp) return EINA_FALSE; } -static Eina_Bool -_e_pixmap_image_alloc(E_Pixmap *cp) -{ - if (cp->image) return EINA_TRUE; - if ((!cp->visual) || (!cp->client->depth)) return EINA_FALSE; - cp->image = ecore_x_image_new(cp->w, cp->h, cp->visual, cp->client->depth); - if (cp->image) - { -cp->image_argb = ecore_x_image_is_argb32_get(cp->image); -return EINA_TRUE; - } - return EINA_FALSE; -} - E_API void * e_pixmap_image_data_get(E_Pixmap *cp) { @@ -922,7 +913,7 @@ e_pixmap_image_data_get(E_Pixmap *cp) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (_e_pixmap_image_alloc(cp)) +if (cp->image) return ecore_x_image_data_get(cp->image, >ibpl, NULL, >ibpp); #endif break; @@ -973,8 +964,7 @@ e_pixmap_image_draw(E_Pixmap *cp, const Eina_Rectangle *r) { case E_PIXMAP_TYPE_X: #ifndef HAVE_WAYLAND_ONLY -if (!cp->pixmap) return EINA_FALSE; -if (!_e_pixmap_image_alloc(cp)) return EINA_FALSE; +if ((!cp->image) || (!cp->pixmap)) return EINA_FALSE; return ecore_x_image_get(cp->image, cp->pixmap, r->x, r->y, r->x, r->y, r->w, r->h); #endif break; --
[EGIT] [core/enlightenment] master 01/01: remove need to create different dialog windows under wayland
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=5e63489a9adcaca54deff46d620f90355085279a commit 5e63489a9adcaca54deff46d620f90355085279a Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 13:06:59 2016 -0400 remove need to create different dialog windows under wayland NB: This hack is no longer needed. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_config_dialog.c | 8 +--- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/bin/e_config_dialog.c b/src/bin/e_config_dialog.c index dc55c10..08df400 100644 --- a/src/bin/e_config_dialog.c +++ b/src/bin/e_config_dialog.c @@ -189,13 +189,7 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type) if ((cfd->view->normal_win) || (e_config->cfgdlg_normal_wins)) cfd->dia = e_dialog_normal_win_new(cfd->parent, cfd->name, buf); else - { - /* FIXME: REMOVE HACK FOR WAYLAND BEFORE RELEASE */ - if (e_comp && e_comp->comp_type != E_PIXMAP_TYPE_WL) - cfd->dia = e_dialog_new(cfd->parent, cfd->name, buf); - else - cfd->dia = e_dialog_normal_win_new(cfd->parent, cfd->name, buf); - } + cfd->dia = e_dialog_new(cfd->parent, cfd->name, buf); e_object_del_attach_func_set(E_OBJECT(cfd->dia), _e_config_dialog_cb_dialog_del); } /* window was created before - deleting content only */ --
[EGIT] [core/efl] master 01/01: ecore-wl2: Reduce debug noise on key events
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b32e1ace46db77cfbfca6ee2e9923ac13b876b89 commit b32e1ace46db77cfbfca6ee2e9923ac13b876b89 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 12:18:48 2016 -0400 ecore-wl2: Reduce debug noise on key events This is annoying to see key events flooding a terminal ... so comment out this debug statement. If a developer really needs this, then enable it locally. Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/ecore_wl2_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index c317179..3ea2de0 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -467,7 +467,7 @@ _ecore_wl2_input_key_send(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, xkb_ ev->modifiers = input->keyboard.modifiers; ev->keycode = code; - DBG("Emitting Key event (%s,%s,%s,%s)\n", ev->keyname, ev->key, ev->compose, ev->string); + /* DBG("Emitting Key event (%s,%s,%s,%s)\n", ev->keyname, ev->key, ev->compose, ev->string); */ if (state) ecore_event_add(ECORE_EVENT_KEY_DOWN, ev, NULL, NULL); --
[EGIT] [core/efl] master 01/01: elementary: Fix formatting
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8be8f8cbd35d572494c728f74e4161bf75677e1b commit 8be8f8cbd35d572494c728f74e4161bf75677e1b Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 11:39:06 2016 -0400 elementary: Fix formatting NB: No functional changes Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/elm_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c index f203318..41b1106 100644 --- a/src/lib/elementary/elm_main.c +++ b/src/lib/elementary/elm_main.c @@ -1925,7 +1925,8 @@ elm_object_focus_region_show_mode_get(const Evas_Object *obj) return elm_widget_focus_region_show_mode_get(obj); } -EAPI Evas_Object *elm_object_part_access_object_get(const Evas_Object *obj, const char *part) +EAPI Evas_Object * +elm_object_part_access_object_get(const Evas_Object *obj, const char *part) { EINA_SAFETY_ON_NULL_RETURN_VAL(obj, NULL); return elm_widget_part_access_object_get(obj, part); --
[EGIT] [core/efl] master 01/01: elput: Fix issue of losing mouse input when removing a device
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=32af25ebb93abd2f8c48713ebc46be5965771a2d commit 32af25ebb93abd2f8c48713ebc46be5965771a2d Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 10:54:17 2016 -0400 elput: Fix issue of losing mouse input when removing a device When we are adding new input devices, if we already have an existing one (keyboard, pointer, touch, etc) then we should just be incrementing the device count and returning from the init function. Previous code here would increment the device count, then continue on and create a new internal representation of the device. This was causing issues when a device gets removed. Fixes T4192 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/elput_evdev.c | 18 ++ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 7a1b1cb..cab7f8a 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -212,10 +212,8 @@ _keyboard_init(Elput_Seat *seat, struct xkb_keymap *keymap) { seat->count.kbd += 1; if (seat->count.kbd == 1) - { - _seat_caps_update(seat); - return EINA_TRUE; - } + _seat_caps_update(seat); +return EINA_TRUE; } kbd = _keyboard_create(seat); @@ -548,10 +546,8 @@ _pointer_init(Elput_Seat *seat) { seat->count.ptr += 1; if (seat->count.ptr == 1) - { - _seat_caps_update(seat); - return EINA_TRUE; - } + _seat_caps_update(seat); +return EINA_TRUE; } ptr = _pointer_create(seat); @@ -598,10 +594,8 @@ _touch_init(Elput_Seat *seat) { seat->count.touch += 1; if (seat->count.touch == 1) - { - _seat_caps_update(seat); - return EINA_TRUE; - } + _seat_caps_update(seat); +return EINA_TRUE; } touch = _touch_create(seat); --
[EGIT] [core/enlightenment] master 01/01: e ibar - fix "old man" fat finger typo ; )
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=42aa6be35931e51b8dab5ed6629c3054595c82a8 commit 42aa6be35931e51b8dab5ed6629c3054595c82a8 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 09:27:52 2016 -0400 e ibar - fix "old man" fat finger typo ;) Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/ibar/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index e5b5ba9..d810b3d 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -656,7 +656,7 @@ _ibar_resize_handle(IBar *b) if (_is_vertical(b->inst)) hh = 16 * e_scale; else ww = 16 * e_scale; evas_object_size_hint_min_set(b->o_sep, 8, 8); -evas_object_size_hint_max_set(b->o_sep, ww, wh); +evas_object_size_hint_max_set(b->o_sep, ww, hh); } elm_box_recalculate(b->o_box); elm_box_recalculate(b->o_outerbox); --
[EGIT] [core/enlightenment] master 01/01: use proper variables to set size_hint_max on ibar
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b1f608c5e607c2101862eb4a63d53bef9cc58761 commit b1f608c5e607c2101862eb4a63d53bef9cc58761 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 09:05:40 2016 -0400 use proper variables to set size_hint_max on ibar Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/ibar/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index d14e7bf..4ba77b0 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -658,7 +658,7 @@ _ibar_resize_handle(IBar *b) else w = 16 * e_scale; evas_object_size_hint_min_set(b->o_sep, 8, 8); -evas_object_size_hint_max_set(b->o_sep, ww, hh); +evas_object_size_hint_max_set(b->o_sep, w, h); } elm_box_recalculate(b->o_box); elm_box_recalculate(b->o_outerbox); --
[EGIT] [core/enlightenment] master 01/01: remove unused variables from _ibar_resize_handle
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b107dc1cdc18b5edcdb44e74e0c69f0bb0e65cb7 commit b107dc1cdc18b5edcdb44e74e0c69f0bb0e65cb7 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 25 08:44:12 2016 -0400 remove unused variables from _ibar_resize_handle Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/ibar/e_mod_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ibar/e_mod_main.c b/src/modules/ibar/e_mod_main.c index 0645339..d14e7bf 100644 --- a/src/modules/ibar/e_mod_main.c +++ b/src/modules/ibar/e_mod_main.c @@ -638,7 +638,7 @@ static void _ibar_resize_handle(IBar *b) { IBar_Icon *ic; - Evas_Coord w, h, xx, yy, ww, hh; + Evas_Coord w, h, ww, hh; if (!b->inst->gcc) return; evas_object_geometry_get(b->o_outerbox, NULL, NULL, , ); --
[EGIT] [core/efl] master 01/01: elementary: Remove logically dead code
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ce2160ab5da94c54803b01251881e2a6c6a39c6f commit ce2160ab5da94c54803b01251881e2a6c6a39c6f Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 13:21:25 2016 -0400 elementary: Remove logically dead code In all code paths leading to this goto statement being called, 'iter_array' variable will already be NULL, so checking it's validity is just logically dead code. Fixes Coverity CID1357392 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/elm_atspi_bridge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index fbdbe8f..e33de9b 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -1158,6 +1158,7 @@ _action_actions_get(const Eldbus_Service_Interface *iface, const Eldbus_Message { const char *descr; char *key; + key = elm_interface_atspi_action_keybinding_get(obj, id); descr = elm_interface_atspi_action_description_get(obj, id); descr = descr ? descr : ""; @@ -1169,7 +1170,6 @@ _action_actions_get(const Eldbus_Service_Interface *iface, const Eldbus_Message return ret; error: - if (iter_array) eldbus_message_iter_container_close(iter, iter_array); if (ret) eldbus_message_unref(ret); return NULL; } --
[EGIT] [core/efl] master 01/01: elput: Use proper variable type
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4309050fec8bedd2c638e00d3ae915e9af38c34c commit 4309050fec8bedd2c638e00d3ae915e9af38c34c Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 13:18:57 2016 -0400 elput: Use proper variable type The 'getenv' function returns char * ... not a const char *, so adjust variable type to match Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/elput_evdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 089bad5..7a1b1cb 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -61,7 +61,7 @@ static int _keyboard_fd_get(off_t size) { int fd = 0; - const char *path; + char *path; char tmp[PATH_MAX]; long flags; --
[EGIT] [core/efl] master 01/01: eina: Fix null pointer derefernce
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=89234ce6bcd5fcda3376f77e20ea547cd4d4a012 commit 89234ce6bcd5fcda3376f77e20ea547cd4d4a012 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 13:07:26 2016 -0400 eina: Fix null pointer derefernce Coverity reports that eina_safepointer_get returns a NULL promise here (checked 20 out of 21 times). As eina_safepointer_get can return NULL, we should check the validity of 'promise' here before trying to derefernce it later. Fixes Coverity CID1356625 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/eina/eina_promise.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c index 0e7f873..8ee5809 100644 --- a/src/lib/eina/eina_promise.c +++ b/src/lib/eina/eina_promise.c @@ -601,6 +601,8 @@ eina_promise_all(Eina_Iterator* it) eina_iterator_free(it); promise = eina_safepointer_get((Eina_Safepointer*)(safe_promise = eina_promise_add())); + if (!promise) return NULL; + internal_it = promise->pointer_value = malloc(sizeof(_Eina_Promise_Iterator) + sizeof(_Eina_Promise_Default_Owner*) * eina_array_count_get(promises)); --
[EGIT] [core/efl] master 01/01: elementary: Remove logically dead code
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a89186069ed816e6e6cf04aa8502dbfda4128707 commit a89186069ed816e6e6cf04aa8502dbfda4128707 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 12:58:03 2016 -0400 elementary: Remove logically dead code Coverity reports that this is logically dead code. As we check the validity of 'model' above this function, then testing 'model' for validity again in this expression is just logically dead. Fixes Coverity CID1356617 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/elc_fileselector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 095ad3a..566aa1e 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -102,7 +102,7 @@ _elm_fileselector_replace_model(Elm_Fileselector *fs, Elm_Fileselector_Data *sd, if (model && path) { -sd->model = model ? eo_ref(model) : NULL; +sd->model = eo_ref(model); eina_stringshare_replace(>path, path); _monitoring_start(fs, sd, sd->model); /* TODO: sub directory should be monitored for expand mode */ --
[EGIT] [core/efl] master 01/01: elementary: Remove logically dead code
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=30ab0a89be3cfc601d2e93d8a165f2e38eaf907b commit 30ab0a89be3cfc601d2e93d8a165f2e38eaf907b Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 12:53:13 2016 -0400 elementary: Remove logically dead code Coverity reports that this is logically dead code. As eo_item has been dereferenced on all paths leading here, and it is also set above, then it cannot be NULL at this point, thus this check is logically dead. Fixes Covierty CID1355585 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/elm_index.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c index 665ea7f..edc4abd 100644 --- a/src/lib/elementary/elm_index.c +++ b/src/lib/elementary/elm_index.c @@ -1544,8 +1544,7 @@ _elm_index_item_sorted_insert(Eo *obj, Elm_Index_Data *sd, const char *letter, E elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, eo_item); } - if (!eo_item) return NULL; - else return eo_item; + return eo_item; } EOLIAN static Elm_Object_Item* --
[EGIT] [core/efl] master 01/01: eldbus: Check return value and error out if necessary
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fb09df7977d6038d0c422494dd2d9926e70a89a9 commit fb09df7977d6038d0c422494dd2d9926e70a89a9 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 12:50:19 2016 -0400 eldbus: Check return value and error out if necessary Coverity reports that we do not check the return value of _eldbus_model_proxy_load here. We likely should be checking that in case the model proxy fails to load so we can return proper values here. Fixes Coverity CID1355233 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/eldbus/eldbus_model_proxy.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/eldbus/eldbus_model_proxy.c b/src/lib/eldbus/eldbus_model_proxy.c index 43a3779..430ccb2 100644 --- a/src/lib/eldbus/eldbus_model_proxy.c +++ b/src/lib/eldbus/eldbus_model_proxy.c @@ -98,9 +98,13 @@ static Eina_Array const * _eldbus_model_proxy_efl_model_properties_get(Eo *obj EINA_UNUSED, Eldbus_Model_Proxy_Data *pd) { + Eina_Bool ret; + EINA_SAFETY_ON_NULL_RETURN_VAL(pd, NULL); - _eldbus_model_proxy_load(pd); + ret = _eldbus_model_proxy_load(pd); + if (!ret) return NULL; + return pd->properties_array; } --
[EGIT] [core/efl] master 01/01: edje: Fix unchecked return value
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4555f5d5940d18f7d5e382803a5e4bd21b461980 commit 4555f5d5940d18f7d5e382803a5e4bd21b461980 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 12:29:35 2016 -0400 edje: Fix unchecked return value Coverity reports that we call _circular_dependency_find here without checking the return value Fixes Coverity CID1349867 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/edje/edje_calc.c | 22 +- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 04abc0e..b4a04c4 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -3923,18 +3923,22 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta Eina_List *l = NULL; char *part_name; char depends_path[PATH_MAX] = ""; -_circular_dependency_find(ed, ep, NULL, ); -strncat(depends_path, ep->part->name, -sizeof(depends_path) - strlen(depends_path) - 1); -EINA_LIST_FOREACH(clist, l, part_name) + +if (_circular_dependency_find(ed, ep, NULL, )) { - strncat(depends_path, " -> ", - sizeof(depends_path) - strlen(depends_path) - 1); - strncat(depends_path, part_name, + strncat(depends_path, ep->part->name, sizeof(depends_path) - strlen(depends_path) - 1); + EINA_LIST_FOREACH(clist, l, part_name) + { + strncat(depends_path, " -> ", + sizeof(depends_path) - strlen(depends_path) - 1); + strncat(depends_path, part_name, + sizeof(depends_path) - strlen(depends_path) - 1); + } + ERR("Circular dependency in the group '%s' : %s", + ed->group, depends_path); + eina_list_free(clist); } -ERR("Circular dependency in the group '%s' : %s", ed->group, depends_path); -eina_list_free(clist); #endif return; } --
[EGIT] [core/efl] master 01/01: evas: Fix missing breaks in switch
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3bc6e30d632c46015105407f44727ed39d502216 commit 3bc6e30d632c46015105407f44727ed39d502216 Author: Chris Michael <cp.mich...@samsung.com> Date: Thu Jul 21 12:25:02 2016 -0400 evas: Fix missing breaks in switch Coverity reports that we are missing breaks in the switch blocks here, so add missing breaks. Fixes Coverity CID1347413 and CID1347414 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/evas/filters/evas_filter_blur.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/filters/evas_filter_blur.c b/src/lib/evas/filters/evas_filter_blur.c index 5c2de1a..03ca40a 100644 --- a/src/lib/evas/filters/evas_filter_blur.c +++ b/src/lib/evas/filters/evas_filter_blur.c @@ -404,7 +404,7 @@ evas_filter_blur_cpu_func_get(Evas_Filter_Command *cmd) else if (cmd->blur.dy) return _box_blur_vert_apply_alpha; } - +break; case EVAS_FILTER_BLUR_GAUSSIAN: if (!cmd->output->alpha_only) { @@ -420,7 +420,7 @@ evas_filter_blur_cpu_func_get(Evas_Filter_Command *cmd) else if (cmd->blur.dy) return _gaussian_blur_vert_apply_alpha; } - +break; default: CRI("Unsupported blur type %d", cmd->blur.type); return NULL; --
[EGIT] [core/enlightenment] enlightenment-0.21 03/04: add missing EINA_UNUSED for unused function params
discomfitor pushed a commit to branch enlightenment-0.21. http://git.enlightenment.org/core/enlightenment.git/commit/?id=858800389e68f03fcf2f0c1385e2eeded5539bab commit 858800389e68f03fcf2f0c1385e2eeded5539bab Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 19 13:57:04 2016 -0400 add missing EINA_UNUSED for unused function params Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_widget_filepreview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c index 70d9c37..8363965 100644 --- a/src/bin/e_widget_filepreview.c +++ b/src/bin/e_widget_filepreview.c @@ -954,7 +954,7 @@ _e_wid_fprev_preview_txt_map_success(void *data, Eio_File *handler EINA_UNUSED, static void _e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file); static void -_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNUSED) +_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler EINA_UNUSED, int error EINA_UNUSED) { E_Widget_Data *wd = data; @@ -974,7 +974,7 @@ _e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNU } static void -_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file) +_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler EINA_UNUSED, Eina_File *file) { E_Widget_Data *wd = data; unsigned int length = eina_file_size_get(file); --
[EGIT] [core/enlightenment] enlightenment-0.20 04/05: add missing EINA_UNUSED for unused function params
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=6405077de56cb2d7cc8d6918f16278fa0f18572d commit 6405077de56cb2d7cc8d6918f16278fa0f18572d Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 19 13:57:04 2016 -0400 add missing EINA_UNUSED for unused function params Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_widget_filepreview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c index 70d9c37..8363965 100644 --- a/src/bin/e_widget_filepreview.c +++ b/src/bin/e_widget_filepreview.c @@ -954,7 +954,7 @@ _e_wid_fprev_preview_txt_map_success(void *data, Eio_File *handler EINA_UNUSED, static void _e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file); static void -_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNUSED) +_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler EINA_UNUSED, int error EINA_UNUSED) { E_Widget_Data *wd = data; @@ -974,7 +974,7 @@ _e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNU } static void -_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file) +_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler EINA_UNUSED, Eina_File *file) { E_Widget_Data *wd = data; unsigned int length = eina_file_size_get(file); --
[EGIT] [core/enlightenment] master 01/01: add missing EINA_UNUSED for unused function params
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=3c8ab9f175530770f3de14df672e6731392c4553 commit 3c8ab9f175530770f3de14df672e6731392c4553 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 19 13:57:04 2016 -0400 add missing EINA_UNUSED for unused function params Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_widget_filepreview.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_widget_filepreview.c b/src/bin/e_widget_filepreview.c index 70d9c37..8363965 100644 --- a/src/bin/e_widget_filepreview.c +++ b/src/bin/e_widget_filepreview.c @@ -954,7 +954,7 @@ _e_wid_fprev_preview_txt_map_success(void *data, Eio_File *handler EINA_UNUSED, static void _e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file); static void -_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNUSED) +_e_wid_fprev_preview_txt_error(void *data, Eio_File *handler EINA_UNUSED, int error EINA_UNUSED) { E_Widget_Data *wd = data; @@ -974,7 +974,7 @@ _e_wid_fprev_preview_txt_error(void *data, Eio_File *handler, int error EINA_UNU } static void -_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler, Eina_File *file) +_e_wid_fprev_preview_txt_open_success(void *data, Eio_File *handler EINA_UNUSED, Eina_File *file) { E_Widget_Data *wd = data; unsigned int length = eina_file_size_get(file); --
[EGIT] [core/efl] master 01/01: Revert "elementary: Fix issue of toggling border state causing visual jumps"
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1c832a1b12066adc3a22d7e49c1ff25b25d7616d commit 1c832a1b12066adc3a22d7e49c1ff25b25d7616d Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 19 08:09:44 2016 -0400 Revert "elementary: Fix issue of toggling border state causing visual jumps" This reverts commit fb24955782b9242beb9447ebb6631b2b63921988. While this patch did fix the issue of toggling window Borderless state in EFl-Wl client applications, it is "Enlightenment's" stance that it will not change to match this fix, so this has to be reverted else internal E dialogs show up with no border (due to them using SSD). This is going to re-open T4092 sadly :( and now leave that bug with no possible fix. ref T4092 Fixes T4126 Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 66 + 1 file changed, 7 insertions(+), 59 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index b50ff41..e7b6f22 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3700,8 +3700,6 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) if (sd->frame_obj) { -edje_object_part_unswallow(sd->frame_obj, sd->edje); - evas_object_event_callback_del_full (sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd); evas_object_event_callback_del_full @@ -3741,61 +3739,6 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) ecore_evas_resize(sd->ee, w, h); } -static void -_elm_win_frame_hide(Efl_Ui_Win_Data *sd) -{ -#ifdef HAVE_ELEMENTARY_WL2 - Eina_Bool alpha; - Ecore_Evas_Engine_Wl_Data *wdata; -#endif - int x, y, w, h; - int ox, oy, ow, oh; - - if (!sd->frame_obj) return; - - edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque", - , , , ); - edje_object_part_geometry_get(sd->frame_obj, "elm.swallow.client", - , , , ); - - edje_object_part_unswallow(sd->frame_obj, sd->edje); - evas_object_hide(sd->frame_obj); - - /* evas_output_framespace_set(sd->evas, 0, 0, 0, 0); */ - -#ifdef HAVE_ELEMENTARY_WL2 - - wdata = sd->ee->engine.data; - wdata->content.x = x; - wdata->content.y = y; - wdata->content.w = w; - wdata->content.h = h; - - alpha = ecore_evas_alpha_get(sd->ee); - if (!alpha) - ecore_wl2_window_opaque_region_set(sd->wl.win, x, y, w, h); - else - ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); - - ecore_wl2_window_geometry_set(sd->wl.win, x, y, w, h); - ecore_wl2_window_input_region_set(sd->wl.win, x, y, w, h); -#endif -} - -static void -_elm_win_frame_show(Efl_Ui_Win_Data *sd) -{ - if (!sd->frame_obj) return; - edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", -sd->edje); - evas_object_show(sd->frame_obj); - -#ifdef HAVE_ELEMENTARY_WL2 - _elm_win_opaque_update(sd); - _elm_win_frame_obj_update(sd); -#endif -} - #ifdef ELM_DEBUG static void _debug_key_down(void *data EINA_UNUSED, @@ -4977,11 +4920,16 @@ _efl_ui_win_borderless_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Bool b if (borderless) { -if (need_frame) _elm_win_frame_hide(sd); +if (need_frame) + _elm_win_frame_del(sd); } else { -if (need_frame) _elm_win_frame_show(sd); +if (need_frame) + _elm_win_frame_add(sd, "default"); + +if (sd->frame_obj) + evas_object_show(sd->frame_obj); } TRAP(sd, borderless_set, borderless); --
[EGIT] [core/efl] master 01/01: elementary: Fix issue of toggling border state causing visual jumps
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fb24955782b9242beb9447ebb6631b2b63921988 commit fb24955782b9242beb9447ebb6631b2b63921988 Author: Chris Michael <cp.mich...@samsung.com> Date: Fri Jul 15 15:30:48 2016 -0400 elementary: Fix issue of toggling border state causing visual jumps This commit partially fixes a phab ticket where toggling window border state (elm_test -to "Window States") would cause the frame to be destroyed thus making the window contents appear to jump around ref T4092 NB: I call this a 'partial' fix because while it does fix the issue of efl client apps, there is still some breakage in Enlightenment that needs investigating. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 61 - 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 3445069..d4f0527 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3700,6 +3700,8 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) if (sd->frame_obj) { +edje_object_part_unswallow(sd->frame_obj, sd->edje); + evas_object_event_callback_del_full (sd->frame_obj, EVAS_CALLBACK_MOVE, _elm_win_frame_obj_move, sd); evas_object_event_callback_del_full @@ -3739,6 +3741,56 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) ecore_evas_resize(sd->ee, w, h); } +static void +_elm_win_frame_hide(Efl_Ui_Win_Data *sd) +{ + Eina_Bool alpha; + Ecore_Evas_Engine_Wl_Data *wdata; + int x, y, w, h; + int ox, oy, ow, oh; + + if (!sd->frame_obj) return; + + edje_object_part_geometry_get(sd->frame_obj, "elm.spacer.opaque", + , , , ); + edje_object_part_geometry_get(sd->frame_obj, "elm.swallow.client", + , , , ); + + edje_object_part_unswallow(sd->frame_obj, sd->edje); + evas_object_hide(sd->frame_obj); + + /* evas_output_framespace_set(sd->evas, 0, 0, 0, 0); */ + + wdata = sd->ee->engine.data; + wdata->content.x = x; + wdata->content.y = y; + wdata->content.w = w; + wdata->content.h = h; + + alpha = ecore_evas_alpha_get(sd->ee); + if (!alpha) + ecore_wl2_window_opaque_region_set(sd->wl.win, x, y, w, h); + else + ecore_wl2_window_opaque_region_set(sd->wl.win, 0, 0, 0, 0); + + ecore_wl2_window_geometry_set(sd->wl.win, x, y, w, h); + ecore_wl2_window_input_region_set(sd->wl.win, x, y, w, h); +} + +static void +_elm_win_frame_show(Efl_Ui_Win_Data *sd) +{ + if (!sd->frame_obj) return; + edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", +sd->edje); + evas_object_show(sd->frame_obj); + +#ifdef HAVE_ELEMENTARY_WL2 + _elm_win_opaque_update(sd); + _elm_win_frame_obj_update(sd); +#endif +} + #ifdef ELM_DEBUG static void _debug_key_down(void *data EINA_UNUSED, @@ -4920,16 +4972,11 @@ _efl_ui_win_borderless_set(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd, Eina_Bool b if (borderless) { -if (need_frame) - _elm_win_frame_del(sd); +if (need_frame) _elm_win_frame_hide(sd); } else { -if (need_frame) - _elm_win_frame_add(sd, "default"); - -if (sd->frame_obj) - evas_object_show(sd->frame_obj); +if (need_frame) _elm_win_frame_show(sd); } TRAP(sd, borderless_set, borderless); --
[EGIT] [core/efl] master 02/02: elementary: Make wl frame borders above content
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=46904e19a71dbeecbcdb6950c0f372c34f6d0db6 commit 46904e19a71dbeecbcdb6950c0f372c34f6d0db6 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 15:13:17 2016 -0400 elementary: Make wl frame borders above content This commit just readds the layer setting code which made the frame border be above content. This does make sense in some contexts @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 71f15a3..3445069 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -3599,12 +3599,12 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *style) { Evas_Object *obj = sd->obj; int w, h, mw, mh; - /* short layer; */ + short layer; if (sd->frame_obj) return; sd->frame_obj = edje_object_add(sd->evas); - /* layer = evas_object_layer_get(obj); */ - /* evas_object_layer_set(sd->frame_obj, layer + 1); */ + layer = evas_object_layer_get(obj); + evas_object_layer_set(sd->frame_obj, layer + 1); if (!elm_widget_theme_object_set (sd->obj, sd->frame_obj, "border", "base", style)) { --
[EGIT] [core/efl] master 01/02: evas-wayland-shm: Create buffers with ARGB by default
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=91437a342443dbb1e4a7ec7a86e3a9022aed410a commit 91437a342443dbb1e4a7ec7a86e3a9022aed410a Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 14:43:49 2016 -0400 evas-wayland-shm: Create buffers with ARGB by default We need to be creating buffers with ARGB by default so that things like Alpha/Transparency work when toggled. If we always create with XRGB then toggling Alpha/Transparency state fails. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/evas/engines/wayland_shm/evas_shm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_shm.c b/src/modules/evas/engines/wayland_shm/evas_shm.c index 690d7a6..92aae08 100644 --- a/src/modules/evas/engines/wayland_shm/evas_shm.c +++ b/src/modules/evas/engines/wayland_shm/evas_shm.c @@ -230,7 +230,7 @@ _shm_data_create_from_pool(Shm_Pool *pool, int w, int h, Eina_Bool alpha) { Shm_Data *data; int len, offset; - uint32_t wl_format = WL_SHM_FORMAT_XRGB; + uint32_t wl_format = WL_SHM_FORMAT_ARGB; LOGFN(__FILE__, __LINE__, __FUNCTION__); --
[EGIT] [core/efl] master 01/01: elput: Cleanup erroneous errors when trying to get output name
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2437d5327806c3b1c489adf4e78018a7bcfa4ced commit 2437d5327806c3b1c489adf4e78018a7bcfa4ced Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 11:40:12 2016 -0400 elput: Cleanup erroneous errors when trying to get output name When we make calls to get an Input device's output name, if the device does not have an output name it's not actually an error so just return NULL with less noise @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/elput_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 5b2b1c5..daa3675 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -634,7 +634,7 @@ EAPI Eina_Stringshare * elput_input_device_output_name_get(Elput_Device *device) { EINA_SAFETY_ON_NULL_RETURN_VAL(device, NULL); - EINA_SAFETY_ON_NULL_RETURN_VAL(device->output_name, NULL); + if (!device->output_name) return NULL; return eina_stringshare_ref(device->output_name); } --
[EGIT] [core/efl] master 01/02: evas-generic: Fix gcc warning of incorrect format
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ea7fe4efdc11fef405b906d628f39d4c80c3fb5c commit ea7fe4efdc11fef405b906d628f39d4c80c3fb5c Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 10:05:03 2016 -0400 evas-generic: Fix gcc warning of incorrect format Gcc warns us about using %d here when the argument is unsigned long. Fix format params. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/generic/evas/ps/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generic/evas/ps/main.c b/src/generic/evas/ps/main.c index c5b8a18..d069e77 100644 --- a/src/generic/evas/ps/main.c +++ b/src/generic/evas/ps/main.c @@ -280,7 +280,7 @@ main(int argc, char **argv) { // nothing much to do, the receiver will simply ignore the // data as it's too short - D("fwrite failed (%d bytes): %m\n", width * height * sizeof(DATA32)); + D("fwrite failed (%lu bytes): %m\n", width * height * sizeof(DATA32)); } } shm_free(); --
[EGIT] [core/efl] master 02/02: evas-generic: Fix gcc wanring
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e3b00d37b7abaa83b0f927130b230553091e8801 commit e3b00d37b7abaa83b0f927130b230553091e8801 Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 10:06:12 2016 -0400 evas-generic: Fix gcc wanring Gcc suggets parens around comparison value. Silence gcc warning. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/generic/evas/pdf/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/generic/evas/pdf/main.cpp b/src/generic/evas/pdf/main.cpp index eab137b..71d016c 100644 --- a/src/generic/evas/pdf/main.cpp +++ b/src/generic/evas/pdf/main.cpp @@ -166,7 +166,7 @@ void poppler_load_image(int size_w EINA_UNUSED, int size_h EINA_UNUSED) int bit = x & 0x7; int c = (*src & (1 << bit)) ? 0xFF : 0x00; *dst++ = ARGB_JOIN(0xFF, c, c, c); - if (x & 0x7 == 0x7) src++; + if ((x & 0x7) == 0x7) src++; } } } --
[EGIT] [core/efl] master 01/01: elementary: Fix issue of minimum resizing in wayland
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0e4b9afeb0817ac70c84884885aecb3518b7fe5d commit 0e4b9afeb0817ac70c84884885aecb3518b7fe5d Author: Chris Michael <cp.mich...@samsung.com> Date: Wed Jul 13 09:40:22 2016 -0400 elementary: Fix issue of minimum resizing in wayland This patch fixes an issue where if you tried to resize a window to it's minimum size, the contents of the window would draw outside the window frame. Basically, when we are setting min/max size hints to the window object we need to account for framespace. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index d93b40b..71f15a3 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2979,6 +2979,17 @@ _elm_win_resize_objects_eval(Evas_Object *obj) if (!wy) maxh = minh; else maxh = 32767; + if (sd->frame_obj) + { +int fx, fy, fw, fh; + +evas_output_framespace_get(sd->evas, , , , ); +minw += fw; +minh += fh; +maxw -= fw; +maxh -= fh; + } + evas_object_size_hint_min_set(obj, minw, minh); evas_object_size_hint_max_set(obj, maxw, maxh); evas_object_geometry_get(obj, NULL, NULL, , ); --
[EGIT] [core/efl] master 01/03: Revert "efl theme for wayland borders - dont accept events on client swallow"
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cd1f2539fdc7b72a9634ec7df62662811ee88ccd commit cd1f2539fdc7b72a9634ec7df62662811ee88ccd Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 12 09:42:23 2016 -0400 Revert "efl theme for wayland borders - dont accept events on client swallow" This reverts commit fdaefdbf9a8f518930b2d5f71372d1c52f8b2ee7. This is being reverted because the issue of wayland borders not swallowing clients has now been fixes and thus mouse_events work as expected wrt client swallow. --- data/elementary/themes/edc/elm/border.edc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/elementary/themes/edc/elm/border.edc b/data/elementary/themes/edc/elm/border.edc index 744fd36..2576d0e 100644 --- a/data/elementary/themes/edc/elm/border.edc +++ b/data/elementary/themes/edc/elm/border.edc @@ -837,7 +837,7 @@ group { name: "elm/border/base/default"; /*visible: 0; */ /* } */ } - part { name: "elm.swallow.client"; type: SWALLOW; mouse_events: 0; + part { name: "elm.swallow.client"; type: SWALLOW; clip_to: "client_clip"; description { state: "default" 0.0; rel1.relative: 0.0 1.0; --
[EGIT] [core/efl] master 03/03: elementary: Properly swallow wayland clients
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e0ed943936ba77e198247fde7169399e316cf2f9 commit e0ed943936ba77e198247fde7169399e316cf2f9 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 12 09:44:14 2016 -0400 elementary: Properly swallow wayland clients This patch fixes an issue where wayland windows would not swallow clients properly. Basically, we should be swallowing the elm window layout directly rather than use a rectangle (as was previous). This commit also waits until the internal elm theme has been applied to the sd->edje object before adding the wayland window frame. This commit has the added benefit of being able to remove an additional Evas_Object from the internal data structure. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elementary/efl_ui_win.c | 67 ++--- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index de74762..d93b40b 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -96,7 +96,6 @@ struct _Efl_Ui_Win_Data Evas *evas; Evas_Object *parent; /* parent *window* object*/ Evas_Object *img_obj, *frame_obj; - Evas_Object *client_obj; /* rect representing the client */ Eo *edje; /**< edje object for a window layout */ Eo *box; Evas_Object *obj; /* The object itself */ @@ -1351,7 +1350,7 @@ _elm_win_frame_obj_update(Efl_Ui_Win_Data *sd) } evas_object_geometry_get(sd->frame_obj, , , , ); - evas_object_geometry_get(sd->client_obj, , , , ); + evas_object_geometry_get(sd->edje, , , , ); evas_output_framespace_set(sd->evas, (ox - fx), (oy - fy), (fw - ow), (fh - oh)); } @@ -3372,7 +3371,7 @@ _elm_win_frame_obj_move(void *data, Efl_Ui_Win_Data *sd; if (!(sd = data)) return; - if (!sd->client_obj) return; + if (!sd->edje) return; _elm_win_frame_obj_update(sd); } @@ -3386,7 +3385,7 @@ _elm_win_frame_obj_resize(void *data, Efl_Ui_Win_Data *sd; if (!(sd = data)) return; - if (!sd->client_obj) return; + if (!sd->edje) return; _elm_win_frame_obj_update(sd); } @@ -3589,12 +3588,12 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *style) { Evas_Object *obj = sd->obj; int w, h, mw, mh; - short layer; + /* short layer; */ if (sd->frame_obj) return; sd->frame_obj = edje_object_add(sd->evas); - layer = evas_object_layer_get(obj); - evas_object_layer_set(sd->frame_obj, layer + 1); + /* layer = evas_object_layer_get(obj); */ + /* evas_object_layer_set(sd->frame_obj, layer + 1); */ if (!elm_widget_theme_object_set (sd->obj, sd->frame_obj, "border", "base", style)) { @@ -3602,12 +3601,7 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *style) return; } - sd->client_obj = evas_object_rectangle_add(sd->evas); - evas_object_color_set(sd->client_obj, 0, 0, 0, 0); - /* NB: Tried pass_events here, but that fails to send events */ - evas_object_repeat_events_set(sd->client_obj, EINA_TRUE); - edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", -sd->client_obj); + edje_object_part_swallow(sd->frame_obj, "elm.swallow.client", sd->edje); evas_object_is_frame_object_set(sd->frame_obj, EINA_TRUE); @@ -3693,8 +3687,6 @@ _elm_win_frame_del(Efl_Ui_Win_Data *sd) { int w, h; - ELM_SAFE_FREE(sd->client_obj, evas_object_del); - if (sd->frame_obj) { evas_object_event_callback_del_full @@ -4449,28 +4441,6 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W evas_event_callback_add(sd->evas, EVAS_CALLBACK_RENDER_FLUSH_PRE, _elm_win_frame_pre_render, sd); #endif - /* do not append to list; all windows render as black rects */ - if (type != ELM_WIN_FAKE) - { -_elm_win_list = eina_list_append(_elm_win_list, obj); -_elm_win_count++; - -if ((engine) && ((!strcmp(engine, ELM_SOFTWARE_FB)) || (!strcmp(engine, ELM_DRM - { - TRAP(sd, fullscreen_set, 1); - } -else if ((type != ELM_WIN_INLINED_IMAGE) && - ((engine) && - ((!strcmp(engine, ELM_WAYLAND_SHM) || - (!strcmp(engine, ELM_WAYLAND_EGL)) - _elm_win_frame_add(sd, "default"); - -if (_elm_config->focus_highlight_enable) - elm_win_focus_highlight_enabled_set(obj, EINA_TRUE); -if (_elm_config->focus_highlight_animate) - elm_win_focus_highlight_animate_set(obj, EINA
[EGIT] [core/efl] master 02/03: elementary: Clip window swallow clients
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4b67b791713c8373bb58188315c830b907ffe329 commit 4b67b791713c8373bb58188315c830b907ffe329 Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Jul 12 09:43:19 2016 -0400 elementary: Clip window swallow clients This commit sets up a client_clip for the windows client being swallowed so that during resize, any window contents do not draw outside the window. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- data/elementary/themes/edc/elm/win.edc | 7 +++ 1 file changed, 7 insertions(+) diff --git a/data/elementary/themes/edc/elm/win.edc b/data/elementary/themes/edc/elm/win.edc index 343de6c..292ff24 100644 --- a/data/elementary/themes/edc/elm/win.edc +++ b/data/elementary/themes/edc/elm/win.edc @@ -20,7 +20,14 @@ group { name: "elm/win/base/default"; fixed: 0 1; } } + part { name: "client_clip"; type: RECT; mouse_events: 0; + description { state: "default" 0.0; +rel1.to_y: "elm.swallow.contents"; +rel2.to_y: "elm.swallow.contents"; + } + } part { name: "elm.swallow.contents"; type: SWALLOW; + clip_to: "client_clip"; description { state: "default" 0.0; rel1 { to_y: "elm.swallow.menu"; --
[EGIT] [core/enlightenment] master 01/01: 'cur_group' variable is unused here if we are not building for wayland
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=f3371ff04c30db15cd43dd3637a43fb7aceb9e4a commit f3371ff04c30db15cd43dd3637a43fb7aceb9e4a Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 11 12:11:00 2016 -0400 'cur_group' variable is unused here if we are not building for wayland Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/bin/e_xkb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c index 1f7cdae..1b4ecdc 100644 --- a/src/bin/e_xkb.c +++ b/src/bin/e_xkb.c @@ -251,6 +251,8 @@ _e_wl_xkb_update(int cur_group) #ifdef HAVE_WAYLAND e_comp_wl_input_keymap_index_set(cur_group); _e_xkb_update_event(cur_group); +#else + (void)cur_group; #endif } --
[EGIT] [core/efl] master 01/01: ecore-wl2: Fix issue of misleading 'if' statement
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5fc4b971dc7c01b6d76322cfb90e254b57c717c5 commit 5fc4b971dc7c01b6d76322cfb90e254b57c717c5 Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 11 11:56:17 2016 -0400 ecore-wl2: Fix issue of misleading 'if' statement Gcc reports that this 'if' statement is misleading due to indentation. We should only be sending the 'finish' call if the dnd version supports it, however we should always be sending 'destroy' @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 827bc55..7e17d86 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -244,9 +244,11 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) { if (source->input->display->wl.data_device_manager_version >= WL_DATA_OFFER_FINISH_SINCE_VERSION) - wl_data_offer_finish(source->offer); - wl_data_offer_destroy(source->offer); - source->offer = NULL; + { + wl_data_offer_finish(source->offer); + } + wl_data_offer_destroy(source->offer); + source->offer = NULL; } fd = ecore_main_fd_handler_fd_get(source->fdh); --
[EGIT] [core/efl] master 01/01: edje: Fix issue of null pointer dereference
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ce9379398fdc3a99df1f212a349cfdac5fef4d3b commit ce9379398fdc3a99df1f212a349cfdac5fef4d3b Author: Chris Michael <cp.mich...@samsung.com> Date: Mon Jul 11 11:19:01 2016 -0400 edje: Fix issue of null pointer dereference Coverity reports that 'text' here is a null pointer dereference so check for valid 'text' variable before trying to use it. Fixes Coverity CID1267490 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/edje/edje_load.c | 34 ++ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c index 85dc114..c370a72 100644 --- a/src/lib/edje/edje_load.c +++ b/src/lib/edje/edje_load.c @@ -1041,21 +1041,31 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch Edje_Part_Description_Text *text; text = (Edje_Part_Description_Text *)rp->param1.description; - -if (ed->file->feature_ver < 1) +if (text) { - text->text.id_source = -1; - text->text.id_text_source = -1; - } + if (ed->file->feature_ver < 1) + { + text->text.id_source = -1; + text->text.id_text_source = -1; + } -if ((rp->type == EDJE_RP_TYPE_TEXT) && -(rp->typedata.text)) - { - if (text->text.id_source >= 0) - rp->typedata.text->source = ed->table_parts[text->text.id_source % ed->table_parts_size]; - if (text->text.id_text_source >= 0) - rp->typedata.text->text_source = ed->table_parts[text->text.id_text_source % ed->table_parts_size]; + if ((rp->type == EDJE_RP_TYPE_TEXT) && + (rp->typedata.text)) + { + if (text->text.id_source >= 0) +{ + rp->typedata.text->source = + ed->table_parts[text->text.id_source % ed->table_parts_size]; +} + + if (text->text.id_text_source >= 0) +{ + rp->typedata.text->text_source = + ed->table_parts[text->text.id_text_source % ed->table_parts_size]; +} + } } + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { _edje_entry_real_part_init(ed, rp); --
[EGIT] [core/efl] master 01/01: elput: Fix horrid typo
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cb2ab3842182bc6bb7edf63fbeeebf26421f6275 commit cb2ab3842182bc6bb7edf63fbeeebf26421f6275 Author: Chris Michael <cp.mich...@samsung.com> Date: Fri Jul 8 08:54:45 2016 -0400 elput: Fix horrid typo Not sure how this happened, but use a ; not a : ;) Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/elput_input.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index e5182a9..5b2b1c5 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -634,7 +634,7 @@ EAPI Eina_Stringshare * elput_input_device_output_name_get(Elput_Device *device) { EINA_SAFETY_ON_NULL_RETURN_VAL(device, NULL); - EINA_SAFETY_ON_NULL_RETURN_VAL(device->output_name, NULL): + EINA_SAFETY_ON_NULL_RETURN_VAL(device->output_name, NULL); return eina_stringshare_ref(device->output_name); } --
[EGIT] [core/efl] master 02/02: elput: Fix insecure temporary file
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ee720592196a3b5649a67f3dc80ebb1ce1992c99 commit ee720592196a3b5649a67f3dc80ebb1ce1992c99 Author: Chris Michael <cp.mich...@samsung.com> Date: Fri Jul 8 08:48:27 2016 -0400 elput: Fix insecure temporary file Fix using mkstemp directly without securely setting umask first by making use of eina_file_mkstemp which does set unmask. Fixes Coverity CID1357165 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/elput_evdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/elput/elput_evdev.c b/src/lib/elput/elput_evdev.c index 8704a2e..53279c9 100644 --- a/src/lib/elput/elput_evdev.c +++ b/src/lib/elput/elput_evdev.c @@ -79,7 +79,8 @@ _keyboard_fd_get(off_t size) else return -1; - if ((fd = mkstemp(tmp)) < 0) return -1; + fd = eina_file_mkstemp(tmp, NULL); + if (fd < 0) return -1; flags = fcntl(fd, F_GETFD); if (flags < 0) --
[EGIT] [core/efl] master 01/02: evas-wayland-shm: Fix Insecure temporary file
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b2a8ef3d1310be74a720e2a8c1bf870741f3f231 commit b2a8ef3d1310be74a720e2a8c1bf870741f3f231 Author: Chris Michael <cp.mich...@samsung.com> Date: Fri Jul 8 08:46:12 2016 -0400 evas-wayland-shm: Fix Insecure temporary file Fix using mkstemp directly without securely setting umask first by making use of eina_file_mkstemp function which does set umask. Fixes Coverity CID1357164 @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/modules/evas/engines/wayland_shm/evas_shm.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_shm.c b/src/modules/evas/engines/wayland_shm/evas_shm.c index 2f4fe59..690d7a6 100644 --- a/src/modules/evas/engines/wayland_shm/evas_shm.c +++ b/src/modules/evas/engines/wayland_shm/evas_shm.c @@ -108,8 +108,10 @@ _shm_pool_make(struct wl_shm *shm, int size, void **data) strcat(name, tmp); + fd = eina_file_mkstemp(name, NULL); + if (fd < 0) /* try to create tmp file */ - if ((fd = mkstemp(name)) < 0) + /* if ((fd = mkstemp(name)) < 0) */ { ERR("Could not create temporary file: %m"); free(name); --
[EGIT] [core/efl] master 01/02: elput: Add API function to return output name associated with input device
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e0cde404757e3c6775f5d8ffb14353e56e6b2a81 commit e0cde404757e3c6775f5d8ffb14353e56e6b2a81 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jul 7 14:33:38 2016 -0400 elput: Add API function to return output name associated with input device This patch adds a new API function which we can call from Ecore_Drm2 which will return the name of an output which is associated with a given input device. This output name can then be used to find a matching output, and perform any device calibration that is needed. @feature Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/elput/Elput.h | 12 src/lib/elput/elput_input.c | 9 + 2 files changed, 21 insertions(+) diff --git a/src/lib/elput/Elput.h b/src/lib/elput/Elput.h index 4595f58..3e7bd4b 100644 --- a/src/lib/elput/Elput.h +++ b/src/lib/elput/Elput.h @@ -401,6 +401,18 @@ EAPI void elput_input_keyboard_cached_context_set(Elput_Manager *manager, void * */ EAPI void elput_input_keyboard_cached_keymap_set(Elput_Manager *manager, void *keymap); +/** + * Return the output name associated with a given device + * + * @param device + * + * @return An Eina_Stringshare of the output name for this device, or NULL on error + * + * @ingroup Elput_Input_Group + * @since 1.18 + */ +EAPI Eina_Stringshare *elput_input_device_output_name_get(Elput_Device *device); + # endif # undef EAPI diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index bff5503..e5182a9 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -629,3 +629,12 @@ elput_input_keyboard_cached_keymap_set(Elput_Manager *manager, void *keymap) if ((keymap) && (manager->cached.keymap == keymap)) return; manager->cached.keymap = keymap; } + +EAPI Eina_Stringshare * +elput_input_device_output_name_get(Elput_Device *device) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(device, NULL); + EINA_SAFETY_ON_NULL_RETURN_VAL(device->output_name, NULL): + + return eina_stringshare_ref(device->output_name); +} --
[EGIT] [core/efl] master 02/02: ecore-drm2: Perform input device calibration based on output name
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5a482e9af46376ae9b7edce0629a3123fa0692c1 commit 5a482e9af46376ae9b7edce0629a3123fa0692c1 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jul 7 14:34:47 2016 -0400 ecore-drm2: Perform input device calibration based on output name When a new input device gets added, device calibration may need to be performed. In order for that to be done properly, we need to know which output this input device is associated with. This patch makes a function call to Elput in order to retrieve that output name and perform the proper calibration. @fix Signed-off-by: Chris Michael <cp.mich...@samsung.com> --- src/lib/ecore_drm2/ecore_drm2_device.c | 29 + 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index 831c538..8794063 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -41,12 +41,33 @@ _cb_device_change(void *data, int type EINA_UNUSED, void *event) if (ev->type == ELPUT_DEVICE_ADDED) { +Eina_List *l; Ecore_Drm2_Output *output; +Eina_Stringshare *name; -/* FIXME: not sure which output to use to calibrate */ -output = eina_list_data_get(device->outputs); -if (output) - ecore_drm2_device_calibrate(device, output->w, output->h); +name = elput_input_device_output_name_get(ev->device); +if (!name) + { + output = eina_list_data_get(device->outputs); + if (output) + ecore_drm2_device_calibrate(device, + output->w, output->h); + } +else + { + EINA_LIST_FOREACH(device->outputs, l, output) + { + if ((output->name) && + (!strcmp(output->name, name))) +{ + ecore_drm2_device_calibrate(device, + output->w, output->h); + break; +} + } + + eina_stringshare_del(name); + } } return ECORE_CALLBACK_RENEW; --
[EGIT] [core/efl] master 01/01: ecore-wl2: Fix error handling for bad fd
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7496df08aa0397307eade19742373140d52119e5 commit 7496df08aa0397307eade19742373140d52119e5 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Sun Jul 3 18:23:45 2016 -0400 ecore-wl2: Fix error handling for bad fd If we end up failing to get the fd from ecore_main_fd_handler_fd_get, then we should just bail out of this function and try again later. Fixes Coverity CID1357213 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 0beac7a..e0863da 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -232,6 +232,8 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) fd = ecore_main_fd_handler_fd_get(fdh); if (fd >= 0) len = read(fd, buffer, sizeof buffer); + else + return ECORE_CALLBACK_RENEW; event = calloc(1, sizeof(Ecore_Wl2_Event_Selection_Data_Ready)); if (!event) return ECORE_CALLBACK_CANCEL; --
[EGIT] [core/efl] master 01/01: ecore-wl2: Fix uninitialized variable
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=183a611cde0ef889b82843a6f63583e04ba5ecc2 commit 183a611cde0ef889b82843a6f63583e04ba5ecc2 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Sat Jul 2 07:17:23 2016 -0400 ecore-wl2: Fix uninitialized variable Coverity reports that len is used un-init here, so let's give it a value at declaration time Fixes Coverity CID1357214 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index b696a2d..0beac7a 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -223,7 +223,7 @@ _selection_data_ready_cb_free(void *data EINA_UNUSED, void *event) static Eina_Bool _selection_data_read(void *data, Ecore_Fd_Handler *fdh) { - int len, fd; + int len = 0, fd; char buffer[PATH_MAX]; Ecore_Wl2_Dnd_Source *source = data; Ecore_Wl2_Event_Selection_Data_Ready *event; --
[EGIT] [core/efl] master 02/02: ecore-wl2: Fix issue where hash would not get destroyed on error
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ff7a5e4f1b1286b1226fb0a9a1729759d1f72e18 commit ff7a5e4f1b1286b1226fb0a9a1729759d1f72e18 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:14:40 2016 -0400 ecore-wl2: Fix issue where hash would not get destroyed on error Coverity reports that we could not reach the eina_hash_free here on erorr condition. This was due to an erroneous return NULL above the if (hash_create) check. Fixes Coverity CID1357171 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_display.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_display.c b/src/lib/ecore_wl2/ecore_wl2_display.c index cdc859c..0df55f5 100644 --- a/src/lib/ecore_wl2/ecore_wl2_display.c +++ b/src/lib/ecore_wl2/ecore_wl2_display.c @@ -695,7 +695,6 @@ connect_err: eina_hash_free(ewd->globals); free(ewd->name); free(ewd); - return NULL; if (hash_create) { --
[EGIT] [core/efl] master 02/05: ecore-wl2: Fix derefence after null check
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0eac1e43728da297db26027ca242f0fc2343fb4a commit 0eac1e43728da297db26027ca242f0fc2343fb4a Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:01:22 2016 -0400 ecore-wl2: Fix derefence after null check 'window' here could potentially be null so we should be checking that it is valid before trying to assign event window Fixes Coverity CID1357148 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_input.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index 30573ea..3bef2f0 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -250,8 +250,11 @@ _ecore_wl2_input_mouse_down_send(Ecore_Wl2_Input *input, Ecore_Wl2_Window *windo ev->multi.root.x = input->pointer.sx; ev->multi.root.y = input->pointer.sy; - ev->window = window->id; - ev->event_window = window->id; + if (window) + { +ev->window = window->id; +ev->event_window = window->id; + } ecore_event_add(ECORE_EVENT_MOUSE_BUTTON_DOWN, ev, NULL, NULL); --
[EGIT] [core/efl] master 04/05: ecore-wl2: Check the return value of ecore_main_fd_handler_fd_get
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=35f76fe8a8988d3664628cf83f3ea77a7cbb5c76 commit 35f76fe8a8988d3664628cf83f3ea77a7cbb5c76 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:05:14 2016 -0400 ecore-wl2: Check the return value of ecore_main_fd_handler_fd_get This patch fixes an issue where ecore_main_fd_handler_fd_get could be returning a negative number and passing that to close() which cannot accept negative numbers. Fixes Coverity CID1357152 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index 993f899..b885356 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -449,7 +449,11 @@ _ecore_wl2_dnd_del(Ecore_Wl2_Dnd_Source *source) if (!source) return; if (source->fdh) { -close(ecore_main_fd_handler_fd_get(source->fdh)); +int fd; + +fd = ecore_main_fd_handler_fd_get(source->fdh); +if (fd >= 0) + close(ecore_main_fd_handler_fd_get(source->fdh)); ecore_main_fd_handler_del(source->fdh); } wl_data_offer_destroy(source->offer); --
[EGIT] [core/efl] master 01/02: ecore-drm2: Don't leak return from _output_name_get function
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7b0a1933a00983b28951ae9987bbc6dcf4dc5fc8 commit 7b0a1933a00983b28951ae9987bbc6dcf4dc5fc8 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:11:22 2016 -0400 ecore-drm2: Don't leak return from _output_name_get function Coverity reports that we end up leaking the return from _output_name_get as the storage is never freed. Fixes Coverity CID1357161 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_drm2/ecore_drm2_outputs.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index b8436ef..42e8e1a 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -519,6 +519,7 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne { Ecore_Drm2_Output *output; int i = 0; + char *name = NULL; if (w) *w = 0; @@ -560,10 +561,12 @@ _output_create(Ecore_Drm2_Device *dev, const drmModeRes *res, const drmModeConne break; } - output->name = eina_stringshare_add(_output_name_get(conn)); + name = _output_name_get(conn); + output->name = eina_stringshare_add(name); output->make = eina_stringshare_add("unknown"); output->model = eina_stringshare_add("unknown"); output->serial = eina_stringshare_add("unknown"); + free(name); output->pipe = i; output->crtc_id = res->crtcs[i]; --
[EGIT] [core/efl] master 05/05: ecore-wl2: Fix issue of passing negative number to close() and read()
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=79277d1cb48f750b44b8e9dc35c10433187eebd2 commit 79277d1cb48f750b44b8e9dc35c10433187eebd2 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:07:09 2016 -0400 ecore-wl2: Fix issue of passing negative number to close() and read() We should be checking the return value of ecore_main_fd_handler_fd_get calls as they can return a negative number...which cannot be passed to the close() or read() functions. Fixes Coverity CID1357152 and CID1357153 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index b885356..b696a2d 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -223,13 +223,15 @@ _selection_data_ready_cb_free(void *data EINA_UNUSED, void *event) static Eina_Bool _selection_data_read(void *data, Ecore_Fd_Handler *fdh) { - int len; + int len, fd; char buffer[PATH_MAX]; Ecore_Wl2_Dnd_Source *source = data; Ecore_Wl2_Event_Selection_Data_Ready *event; Eina_Bool ret; - len = read(ecore_main_fd_handler_fd_get(fdh), buffer, sizeof buffer); + fd = ecore_main_fd_handler_fd_get(fdh); + if (fd >= 0) + len = read(fd, buffer, sizeof buffer); event = calloc(1, sizeof(Ecore_Wl2_Event_Selection_Data_Ready)); if (!event) return ECORE_CALLBACK_CANCEL; @@ -243,7 +245,9 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) WL_DATA_OFFER_FINISH_SINCE_VERSION) wl_data_offer_finish(source->offer); } -close(ecore_main_fd_handler_fd_get(source->fdh)); + +fd = ecore_main_fd_handler_fd_get(source->fdh); +if (fd >= 0) close(fd); ecore_main_fd_handler_del(source->fdh); source->fdh = NULL; --
[EGIT] [core/efl] master 03/05: ecore-evas-wayland: Fix issue of passing wrong values to resize
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0da58a8d78f21f37f73929e0cc4877b029057227 commit 0da58a8d78f21f37f73929e0cc4877b029057227 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 11:03:07 2016 -0400 ecore-evas-wayland: Fix issue of passing wrong values to resize Coverity detected that the same code was being passed to resize regardless of canvas orientation. This patch fixes the issue by passing the proper values to window_resize. Fixes Coverity CID1357150 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c index 05e60f6..5f55b63 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c @@ -604,7 +604,7 @@ _ecore_evas_wayland_shm_resize(Ecore_Evas *ee, int location) if (ECORE_EVAS_PORTRAIT(ee)) ecore_wl2_window_resize(wdata->win, ee->w, ee->h, location); else - ecore_wl2_window_resize(wdata->win, ee->w, ee->h, location); + ecore_wl2_window_resize(wdata->win, ee->h, ee->w, location); } } --
[EGIT] [core/efl] master 01/05: elementary: Fix explicit null dereference
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=dce25efef43f08ae28842f5eba5c807e54352ac1 commit dce25efef43f08ae28842f5eba5c807e54352ac1 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 10:59:28 2016 -0400 elementary: Fix explicit null dereference This patch fixes an issue reported by coverity where 'type' variable could be null and passing null to strcmp is not good ;) Fixes Coverity CID1357147 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_cnp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index 7bb2190..a7f81ee 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -2697,9 +2697,9 @@ _wl_data_preparer_uri(Wl_Cnp_Selection *sel, Elm_Selection_Data *ddata, Ecore_Wl cnp_debug("In\n"); drop = eo_key_data_get(sel->requestwidget, "__elm_dropable"); - if (drop) - type = drop->last.type; - if (!strcmp(type, "text/uri-list")) + if (drop) type = drop->last.type; + + if ((type) && (!strcmp(type, "text/uri-list"))) { int num_files = 0; char **files = NULL; --
[EGIT] [core/efl] master 01/02: elput: Check return of read function call
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0f965446a823f9d5c5e02424d04eecc35da547e9 commit 0f965446a823f9d5c5e02424d04eecc35da547e9 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 10:54:22 2016 -0400 elput: Check return of read function call If we fail to read any bytes from the fd, then we should be returning a failure here. Fixes Coverity CID1357143 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_input.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 1baf2f8..bff5503 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -40,8 +40,10 @@ _cb_open_restricted(const char *path, int flags, void *data) avail = select(p[0] + 1, , , , t); if (avail > 0) { - read(p[0], , sizeof(int)); - ret = fd; + if (read(p[0], , sizeof(int)) < 1) + ret = -1; + else + ret = fd; break; } if (avail < 0) break; --
[EGIT] [core/efl] master 02/02: evas-wayland-shm: Remove logically dead code
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=59a09e04aa88e4f9e6fd857c3159dfac99336933 commit 59a09e04aa88e4f9e6fd857c3159dfac99336933 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 10:56:01 2016 -0400 evas-wayland-shm: Remove logically dead code Coverity reports that this bpp check is actuall dead code due to the fact that bpp can never be < 0. Fixes Coverity CID1357144 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/evas/engines/wayland_shm/evas_outbuf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c index c1ce525..6dafa85 100644 --- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c @@ -559,7 +559,6 @@ _evas_outbuf_update_region_push(Outbuf *ob, RGBA_Image *update, int x, int y, in if (!(src = update->image.data)) return; bpp = depth / 8; - if (bpp <= 0) return; /* check for valid desination data */ if (!(dst = ob->surface->funcs.data_get(ob->surface, , ))) --
[EGIT] [core/efl] master 01/01: ecore-evas: Fix error handling issues in wayland_shm engine
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1fb3c3328604c56d20ea4a0e35925d4b9f94b185 commit 1fb3c3328604c56d20ea4a0e35925d4b9f94b185 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 10:51:29 2016 -0400 ecore-evas: Fix error handling issues in wayland_shm engine This patch fixes 2 Coverity issues where engine_info_set was being called, but the return was never being checked. Fixes Coverity CID1357141 and CID1357142 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c index e18c06c..05e60f6 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c @@ -443,7 +443,8 @@ _ecore_evas_wl_show(Ecore_Evas *ee) if ((!einfo->info.wl_surface) || (einfo->info.wl_surface != surf)) { einfo->info.wl_surface = surf; - evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); + if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) +ERR("Failed to set Evas Engine Info for '%s'", ee->driver); evas_damage_rectangle_add(ee->evas, 0, 0, ee->w + fw, ee->h + fh); } } @@ -482,7 +483,10 @@ _ecore_evas_wl_hide(Ecore_Evas *ee) if (einfo) { einfo->info.wl_surface = NULL; -evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo); +if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo)) + { + ERR("Failed to set Evas Engine Info for '%s'", ee->driver); + } } if (wdata->win) --
[EGIT] [core/efl] master 01/01: ecore-input: Check return fo ecore_main_fd_handler_fd_get
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=837108050b7037b83976960ab7586bf4ea283898 commit 837108050b7037b83976960ab7586bf4ea283898 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 30 10:47:56 2016 -0400 ecore-input: Check return fo ecore_main_fd_handler_fd_get This patch fixes 2 coverity Error handling issues. ecore_main_fd_handler_fd_get can return a negative fd on error so we should be checking that return before trying to make use of the fd. Fixes Coverity CID1356632 and CID1356624 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_input/ecore_input_joystick.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_input/ecore_input_joystick.c b/src/lib/ecore_input/ecore_input_joystick.c index 1f65ce4..1b17abf 100644 --- a/src/lib/ecore_input/ecore_input_joystick.c +++ b/src/lib/ecore_input/ecore_input_joystick.c @@ -189,6 +189,7 @@ _fd_handler_cb(void* userData, Ecore_Fd_Handler* fdHandler) ssize_t len; fd = ecore_main_fd_handler_fd_get(fdHandler); + if (fd < 0) return ECORE_CALLBACK_RENEW; len = read(fd, , sizeof(event)); if (len == -1) return ECORE_CALLBACK_RENEW; @@ -300,7 +301,7 @@ register_failed: static void _joystick_unregister(const char *syspath) { - int fd; + int fd; Eina_List *l, *l2; Joystick_Info *ji; @@ -309,6 +310,8 @@ _joystick_unregister(const char *syspath) if (syspath == ji->system_path) { fd = ecore_main_fd_handler_fd_get(ji->fd_handler); + if (fd < 0) continue; + close(fd); ecore_main_fd_handler_del(ji->fd_handler); joystick_list = eina_list_remove(joystick_list, ji); --
[EGIT] [core/efl] master 02/02: ecore-wl2: Fix formatting
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bbdb4e5a5351c6ea1a05477cadb7e2d656fb9b52 commit bbdb4e5a5351c6ea1a05477cadb7e2d656fb9b52 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed Jun 29 13:08:26 2016 -0400 ecore-wl2: Fix formatting NB: No functional changes Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_dnd.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_dnd.c b/src/lib/ecore_wl2/ecore_wl2_dnd.c index e35a5cd..993f899 100644 --- a/src/lib/ecore_wl2/ecore_wl2_dnd.c +++ b/src/lib/ecore_wl2/ecore_wl2_dnd.c @@ -240,7 +240,7 @@ _selection_data_read(void *data, Ecore_Fd_Handler *fdh) if (source->input->drag.source) { if (source->input->display->wl.data_device_manager_version >= - WL_DATA_OFFER_FINISH_SINCE_VERSION) + WL_DATA_OFFER_FINISH_SINCE_VERSION) wl_data_offer_finish(source->offer); } close(ecore_main_fd_handler_fd_get(source->fdh)); @@ -283,8 +283,9 @@ _selection_data_receive(Ecore_Wl2_Dnd_Source *source, const char *type) wl_data_offer_receive(source->offer, type, p[1]); close(p[1]); - source->fdh = ecore_main_fd_handler_file_add(p[0], ECORE_FD_READ | ECORE_FD_ERROR, - _selection_data_read, source, NULL, NULL); + source->fdh = + ecore_main_fd_handler_file_add(p[0], ECORE_FD_READ | ECORE_FD_ERROR, +_selection_data_read, source, NULL, NULL); } void @@ -316,7 +317,8 @@ _ecore_wl2_dnd_enter(Ecore_Wl2_Input *input, struct wl_data_offer *offer, struct if (offer) { input->drag.source = wl_data_offer_get_user_data(offer); -input->drag.source->dnd_action = WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE; +input->drag.source->dnd_action = + WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE; num = (input->drag.source->types.size / sizeof(char *)); types = input->drag.source->types.data; if (input->display->wl.data_device_manager_version >= --
[EGIT] [core/efl] master 02/02: elementary: Fix bug in wl dnd where all subsequent mimetypes would be accepted
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2c85f3b525685fd05f48857f2dce8b0bb8123cc8 commit 2c85f3b525685fd05f48857f2dce8b0bb8123cc8 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed Jun 29 09:59:32 2016 -0400 elementary: Fix bug in wl dnd where all subsequent mimetypes would be accepted This fixes an issue where in wl dnd, if one mimetype was accepted by a drop, then all subsequent types would have been accepted also.. @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_cnp.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index 31b8dbc..8f34a00 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -3469,10 +3469,13 @@ _wl_dnd_enter(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) doaccept = EINA_FALSE; for (i = 0; i < ev->num_types; i++) { -doaccept |= _wl_drops_accept(ev->types[i]); -if (doaccept) - wl_data_offer_accept(ev->offer, ev->serial, ev->types[i]); +if (_wl_drops_accept(ev->types[i])) + { + doaccept = EINA_TRUE; + wl_data_offer_accept(ev->offer, ev->serial, ev->types[i]); + } } + if (!doaccept) wl_data_offer_accept(ev->offer, ev->serial, NULL); --
[EGIT] [core/efl] master 01/02: elementary: Fix erroneous usage of EINA_UNUSED
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f024234090455d37a05d4e8e0afa02674b912bb2 commit f024234090455d37a05d4e8e0afa02674b912bb2 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed Jun 29 11:48:53 2016 -0400 elementary: Fix erroneous usage of EINA_UNUSED 'data' parameter is actually used in this function, so remove mis-use of EINA_UNUSED in function @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_cnp.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index a45ae51..7bb2190 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -411,7 +411,7 @@ _dnd_types_to_format(const char **types, int ntypes) } static Eina_Bool -_drag_cancel_animate(void *data EINA_UNUSED, double pos) +_drag_cancel_animate(void *data, double pos) { /* Animation to "move back" drag-window */ if (pos >= 0.99) { @@ -3701,7 +3701,6 @@ _wl_dnd_end(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) /* No animation drop was committed */ evas_object_del(dragwin); } - dragwin = NULL; /* if not freed here, free in end of anim */ } --
[EGIT] [core/efl] master 01/02: elementary: Reformat elm_cnp to be readable
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0addbf9b445db7b353155903c58d9de5a36ca613 commit 0addbf9b445db7b353155903c58d9de5a36ca613 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed Jun 29 09:27:17 2016 -0400 elementary: Reformat elm_cnp to be readable NB: No functional changes, just formatting so I can read this hot mess Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_cnp.c | 112 --- 1 file changed, 62 insertions(+), 50 deletions(-) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index aad7a89..31b8dbc 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -1752,6 +1752,7 @@ static Eina_Bool _x11_dnd_status(void *data EINA_UNUSED, int etype EINA_UNUSED, void *ev) { Ecore_X_Event_Xdnd_Status *status = ev; + doaccept = EINA_FALSE; /* Only thing we care about: will accept */ @@ -2478,8 +2479,8 @@ _wl_targets_converter(char *target, Wl_Cnp_Selection *sel EINA_UNUSED, void *dat { if (formats & _atoms[i].formats) { - if ((is_uri) || ((!is_uri) && - strcmp(_atoms[i].name, "text/uri-list"))) + if ((is_uri) || + ((!is_uri) && strcmp(_atoms[i].name, "text/uri-list"))) len += strlen(_atoms[i].name) + strlen(sep); } } @@ -2489,8 +2490,8 @@ _wl_targets_converter(char *target, Wl_Cnp_Selection *sel EINA_UNUSED, void *dat { if (formats & _atoms[i].formats) { - if ((is_uri) || ((!is_uri) && - strcmp(_atoms[i].name, "text/uri-list"))) + if ((is_uri) || + ((!is_uri) && strcmp(_atoms[i].name, "text/uri-list"))) { aret = strcat(aret, _atoms[i].name); aret = strcat(aret, sep); @@ -2506,10 +2507,11 @@ _wl_targets_converter(char *target, Wl_Cnp_Selection *sel EINA_UNUSED, void *dat static Eina_Bool _wl_general_converter(char *target, Wl_Cnp_Selection *sel EINA_UNUSED, void *data, int size, void **data_ret, int *size_ret) { - cnp_debug("in\n"); Elm_Sel_Format formats = ELM_SEL_FORMAT_NONE; Cnp_Atom *atom = NULL; + cnp_debug("in\n"); + atom = eina_hash_find(_types_hash, target); if (atom) formats = atom->formats; @@ -2544,10 +2546,11 @@ _wl_general_converter(char *target, Wl_Cnp_Selection *sel EINA_UNUSED, void *dat static Eina_Bool _wl_text_converter(char *target, Wl_Cnp_Selection *sel, void *data, int size, void **data_ret, int *size_ret) { - cnp_debug("in\n"); Elm_Sel_Format formats = ELM_SEL_FORMAT_NONE; Cnp_Atom *atom = NULL; + cnp_debug("in\n"); + atom = eina_hash_find(_types_hash, target); if (atom) formats = atom->formats; @@ -2595,10 +2598,7 @@ _wl_text_converter(char *target, Wl_Cnp_Selection *sel, void *data, int size, vo } static void -_wl_selection_parser(void *_data, -int size, -char ***ret_data, -int *ret_count) +_wl_selection_parser(void *_data, int size, char ***ret_data, int *ret_count) { char **files = NULL; int num_files = 0; @@ -2634,8 +2634,7 @@ _wl_selection_parser(void *_data, for (; ((data[is]) && (data[is] != '\n')); is++) ; else { - if ((data[is] != '\r') && - (data[is] != '\n')) + if ((data[is] != '\r') && (data[is] != '\n')) tmp[i++] = data[is++]; else { @@ -2690,13 +2689,13 @@ _wl_data_preparer_markup(Wl_Cnp_Selection *sel, Elm_Selection_Data *ddata, Ecore static Eina_Bool _wl_data_preparer_uri(Wl_Cnp_Selection *sel, Elm_Selection_Data *ddata, Ecore_Wl2_Event_Selection_Data_Ready *ev, Tmp_Info **tmp_info EINA_UNUSED) { - cnp_debug("In\n"); - char *p, *stripstr = NULL; char *data = ev->data; Dropable *drop; const char *type = NULL; + cnp_debug("In\n"); + drop = eo_key_data_get(sel->requestwidget, "__elm_dropable"); if (drop) type = drop->last.type; @@ -2736,8 +2735,7 @@ _wl_data_preparer_uri(Wl_Cnp_Selection *sel, Elm_Selection_Data *ddata, Ecore_Wl { Efreet_Uri *uri; -p = (char *)eina_memdup((unsigned char *)data, -ev->len, EINA_TRUE); +p = (char *)eina_memdup((unsigned char *)data, ev->len, EINA_TRUE); if (!p) return EINA_FALSE; uri = efreet_uri_decode(p); if (!uri) @@ -2853,8 +2851,7 @@ _wl_elm_cnp_selection_set(Evas_Object *obj, Elm_Sel_Type s
[EGIT] [core/efl] master 01/01: elementary: Fix over-zealous optimization attempt
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8fb9c91d8f1ba28ed98f8fc597c92e7f0dcf3140 commit 8fb9c91d8f1ba28ed98f8fc597c92e7f0dcf3140 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed Jun 29 10:52:34 2016 -0400 elementary: Fix over-zealous optimization attempt This is a fix for some over-zealous optimization attempt. Basically, we cannot optimize out multiple calls to ecore_wl2_window_input_get as the window can change in the for loop. @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_cnp.c | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index 8f34a00..a45ae51 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -3617,7 +3617,6 @@ _wl_dnd_drop(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) { Ecore_Wl2_Event_Dnd_Drop *ev; Ecore_Wl2_Window *win; - Ecore_Wl2_Input *input; Dropable *drop; Eina_List *l; @@ -3626,7 +3625,6 @@ _wl_dnd_drop(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) savedtypes.x = ev->x; savedtypes.y = ev->y; - input = ecore_wl2_window_input_get(win); EINA_LIST_FOREACH(drops, l, drop) { if (drop->last.in) @@ -3639,13 +3637,14 @@ _wl_dnd_drop(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) _cnp_selection); win = _wl_elm_widget_window_get(drop->obj); - ecore_wl2_dnd_drag_get(input, drop->last.type); + ecore_wl2_dnd_drag_get(ecore_wl2_window_input_get(win), +drop->last.type); return ECORE_CALLBACK_PASS_ON; } } win = ecore_wl2_display_window_find(_elm_wl_display, ev->win); - ecore_wl2_dnd_drag_end(input); + ecore_wl2_dnd_drag_end(ecore_wl2_window_input_get(win)); return ECORE_CALLBACK_PASS_ON; } --
[EGIT] [core/efl] master 02/02: ecore-wl2: Prevent duplicated mouse up events
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=df65a16620fd5415bf0d8315d08729e6da738432 commit df65a16620fd5415bf0d8315d08729e6da738432 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 28 09:01:38 2016 -0400 ecore-wl2: Prevent duplicated mouse up events If you touch downs and ups about all of fingers, that is sufficient condition to call ecore_wl_input_ungrab(). And then one mouse up event is generated from that function. So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP, you can watch two mouse up events are occurred. This is a port of the patch for Ecore_Wayland library (deprecated) to the newer Ecore_Wl2 library. ref D4112 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_input.c | 27 ++- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index 7a5899f..30573ea 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -476,12 +476,13 @@ _ecore_wl2_input_grab(Ecore_Wl2_Input *input, Ecore_Wl2_Window *window, unsigned void _ecore_wl2_input_ungrab(Ecore_Wl2_Input *input) { - if ((input->grab.window) && (input->grab.button)) + if ((input->grab.window) && (input->grab.button) && (input->grab.count)) _ecore_wl2_input_mouse_up_send(input, input->grab.window, 0, input->grab.button, input->grab.timestamp); input->grab.window = NULL; input->grab.button = 0; + input->grab.count = 0; } static void @@ -590,7 +591,8 @@ _pointer_cb_button(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned if (state == WL_POINTER_BUTTON_STATE_PRESSED) { -if ((input->focus.pointer) && (!input->grab.window)) +if ((input->focus.pointer) && +(!input->grab.window) && (!input->grab.count)) { _ecore_wl2_input_grab(input, input->focus.pointer, button); input->grab.timestamp = timestamp; @@ -599,14 +601,19 @@ _pointer_cb_button(void *data, struct wl_pointer *pointer EINA_UNUSED, unsigned if (input->focus.pointer) _ecore_wl2_input_mouse_down_send(input, input->focus.pointer, 0, button, timestamp); + +input->grab.count++; } else { -if ((input->grab.window) && (input->grab.button == button)) - _ecore_wl2_input_ungrab(input); -else if (input->focus.pointer) +if (input->focus.pointer) _ecore_wl2_input_mouse_up_send(input, input->focus.pointer, 0, button, timestamp); + +if (input->grab.count) input->grab.count--; +if ((input->grab.window) && (input->grab.button == button) && +(!input->grab.count)) + _ecore_wl2_input_ungrab(input); } } @@ -990,11 +997,13 @@ _touch_cb_up(void *data, struct wl_touch *touch EINA_UNUSED, unsigned int serial input->timestamp = timestamp; input->display->serial = serial; - if ((input->grab.window) && (input->grab.button == BTN_LEFT)) + _ecore_wl2_input_mouse_up_send(input, input->focus.touch, id, + BTN_LEFT, timestamp); + + if (input->grab.count) input->grab.count--; + if ((input->grab.window) && (input->grab.button == BTN_LEFT) && + (!input->grab.count)) _ecore_wl2_input_ungrab(input); - else - _ecore_wl2_input_mouse_up_send(input, input->focus.touch, id, -BTN_LEFT, timestamp); } static void --
[EGIT] [core/efl] master 03/03: evas-drm: Reset current buffer state when pageflip completes
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3186f3a5fd2e2659ae6084bae89ef602da8d7b6f commit 3186f3a5fd2e2659ae6084bae89ef602da8d7b6f Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 21 12:59:30 2016 -0400 evas-drm: Reset current buffer state when pageflip completes When an fbo pageflip finishes, we should be marking the current fbo (one just sent) as no longer busy since it's already been pixel blasted to the screen. Also, if we fail to flip to a given fbo during buffer swap, then don't leave that fbo marked as busy since it is technically not in use Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/evas/engines/drm/evas_outbuf.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/drm/evas_outbuf.c b/src/modules/evas/engines/drm/evas_outbuf.c index 4551c85..d43a35b 100644 --- a/src/modules/evas/engines/drm/evas_outbuf.c +++ b/src/modules/evas/engines/drm/evas_outbuf.c @@ -80,7 +80,11 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int se ob = data; ofb = ob->priv.current; - if (ofb) ofb->busy = EINA_FALSE; + if (ofb) + { +ofb->busy = EINA_FALSE; +ofb->age = 0; + } next = ecore_drm2_output_next_fb_get(ob->priv.output); if (next) @@ -121,6 +125,9 @@ _outbuf_buffer_swap(Outbuf *ob, Eina_Rectangle *rects, unsigned int count) if (ecore_drm2_fb_flip(ofb->fb, ob->priv.output, ob) < 0) { _outbuf_tick_source_set(NULL); +ofb->busy = EINA_FALSE; +ofb->drawn = EINA_FALSE; +ofb->age = 0; return; } --
[EGIT] [core/efl] master 01/03: elput: Support suspending and resuming inputs on vt switch
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b2a4f45790bd6d3beba494d55e269cc0650f0848 commit b2a4f45790bd6d3beba494d55e269cc0650f0848 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 21 12:46:29 2016 -0400 elput: Support suspending and resuming inputs on vt switch This patch fixes an issue where input would stop working when you vt-switch away and back again in a running Enlightenment Wayland session. Basically, when we vt-switch away, we need to tell libinput to suspend input event processing, and when we return to re-enable it. Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_input.c | 27 +++ src/lib/elput/elput_logind.c | 5 + src/lib/elput/elput_private.h | 3 ++- 3 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 57b9b05..1baf2f8 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -339,6 +339,33 @@ _elput_input_init_thread(void *data, Ecore_Thread *eth EINA_UNUSED) } } +void +_elput_input_enable(Elput_Manager *manager) +{ + if (!manager->input.hdlr) + { +manager->input.hdlr = + ecore_main_fd_handler_add(libinput_get_fd(manager->input.lib), +ECORE_FD_READ, _cb_input_dispatch, +>input, NULL, NULL); + } + + if (manager->input.suspended) + { +if (libinput_resume(manager->input.lib) != 0) return; +manager->input.suspended = EINA_FALSE; +_process_events(>input); + } +} + +void +_elput_input_disable(Elput_Manager *manager) +{ + libinput_suspend(manager->input.lib); + _process_events(>input); + manager->input.suspended = EINA_TRUE; +} + EAPI Eina_Bool elput_input_init(Elput_Manager *manager) { diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index fedb2b0..206f6e8 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -17,6 +17,11 @@ _logind_session_active_send(Elput_Manager *em, Eina_Bool active) { Elput_Event_Session_Active *ev; + if (active) + _elput_input_enable(em); + else + _elput_input_disable(em); + ev = calloc(1, sizeof(Elput_Event_Session_Active)); if (!ev) return; diff --git a/src/lib/elput/elput_private.h b/src/lib/elput/elput_private.h index cda235e..59ec76e 100644 --- a/src/lib/elput/elput_private.h +++ b/src/lib/elput/elput_private.h @@ -264,7 +264,8 @@ typedef struct _Elput_Async_Open int flags; } Elput_Async_Open; -void _elput_input_window_update(Elput_Manager *manager); +void _elput_input_enable(Elput_Manager *manager); +void _elput_input_disable(Elput_Manager *manager); int _evdev_event_process(struct libinput_event *event); Elput_Device *_evdev_device_create(Elput_Seat *seat, struct libinput_device *device); --
[EGIT] [core/efl] master 02/03: ecore-drm2: Fix redrawing screen when we vt-switch back to a session
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=51b589da6a56e9a0bf36226318da4917ec3218fb commit 51b589da6a56e9a0bf36226318da4917ec3218fb Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 21 12:55:17 2016 -0400 ecore-drm2: Fix redrawing screen when we vt-switch back to a session When we vt-switch away from a running session, we need to disable rendering to an output and re-enable when we switch back. This patch set essentially makes vt-switching work again in Enlightenment Wayland. Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_drm2/ecore_drm2_device.c | 9 - src/lib/ecore_drm2/ecore_drm2_fb.c | 2 ++ src/lib/ecore_drm2/ecore_drm2_outputs.c | 6 +- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index 95b7315..ad786e8 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -9,12 +9,19 @@ #endif static Eina_Bool -_cb_session_active(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) +_cb_session_active(void *data, int type EINA_UNUSED, void *event) { + Eina_List *l; + Ecore_Drm2_Device *device; + Ecore_Drm2_Output *output; Elput_Event_Session_Active *ev; Ecore_Drm2_Event_Activate *ea; ev = event; + device = data; + + EINA_LIST_FOREACH(device->outputs, l, output) + ecore_drm2_output_enabled_set(output, ev->active); ea = calloc(1, sizeof(Ecore_Drm2_Event_Activate)); if (!ea) return ECORE_CALLBACK_RENEW; diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c index 9032c12..4b6b9a5 100644 --- a/src/lib/ecore_drm2/ecore_drm2_fb.c +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c @@ -225,6 +225,8 @@ ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output, void *data) EINA_SAFETY_ON_NULL_RETURN_VAL(output, -1); EINA_SAFETY_ON_NULL_RETURN_VAL(output->current_mode, -1); + if (!output->enabled) return -1; + if (output->next) WRN("Fb reused too soon, tearing may be visible"); diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index 7596164..b8436ef 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -964,7 +964,11 @@ ecore_drm2_output_enabled_set(Ecore_Drm2_Output *output, Eina_Bool enabled) if (output->enabled) ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON); else - ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_OFF); + { +ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_OFF); +output->current = NULL; +output->next = NULL; + } _output_event_send(output); } --
[EGIT] [core/efl] master 01/01: evas-drm: Remove improper EINA_UNUSED for function parameter
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c39e8e7573c1c1083794bb04923a6229ae65 commit c39e8e7573c1c1083794bb04923a6229ae65 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 21 12:07:16 2016 -0400 evas-drm: Remove improper EINA_UNUSED for function parameter 'fd' is actually used in the call to WaitVBlank, so do not mark it as EINA_UNUSED Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/evas/engines/drm/evas_outbuf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/modules/evas/engines/drm/evas_outbuf.c b/src/modules/evas/engines/drm/evas_outbuf.c index ce7be06..4551c85 100644 --- a/src/modules/evas/engines/drm/evas_outbuf.c +++ b/src/modules/evas/engines/drm/evas_outbuf.c @@ -48,7 +48,7 @@ _outbuf_tick_source_set(Outbuf *ob) } static void -_outbuf_tick_schedule(int fd EINA_UNUSED, void *data) +_outbuf_tick_schedule(int fd, void *data) { if (!ticking) return; --
[EGIT] [core/efl] master 01/01: elput: Trap for null physical seat name
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3adf6fdbae67ecdcc24b9c247ee2e41e42acfc09 commit 3adf6fdbae67ecdcc24b9c247ee2e41e42acfc09 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 16 13:01:33 2016 -0400 elput: Trap for null physical seat name It could be possible that libinput_seat_get_physical_name does not return a valid name, in which case searching for seats will fail. This small patch just checks for a valid name being passed in and if not, searches for a default seat name @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_input.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 1918216..57b9b05 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -72,6 +72,7 @@ _udev_seat_create(Elput_Manager *em, const char *name) eseat = calloc(1, sizeof(Elput_Seat)); if (!eseat) return NULL; + eseat->manager = em; eseat->name = eina_stringshare_add(name); @@ -102,10 +103,15 @@ _udev_seat_named_get(Elput_Manager *em, const char *name) Elput_Seat *eseat; Eina_List *l; + if (!name) name = "seat0"; + EINA_LIST_FOREACH(em->input.seats, l, eseat) if (!strcmp(eseat->name, name)) return eseat; - return _udev_seat_create(em, name); + eseat = _udev_seat_create(em, name); + if (!eseat) return NULL; + + return eseat; } static Elput_Seat * --
[EGIT] [core/efl] master 01/03: ecore-evas-drm: Re-enable direct input callback
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fb569d7eb0bcc6e4fd9541a3587e5287f9910492 commit fb569d7eb0bcc6e4fd9541a3587e5287f9910492 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Mon Jun 13 12:49:40 2016 -0400 ecore-evas-drm: Re-enable direct input callback As it seems the jpeg breakage is over wrt direct input callbacks, we can re-enable these for the drm engines @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index e396423..0ba8968 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -764,13 +764,12 @@ ecore_evas_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, ecore_evas_data_set(ee, "device", edata->dev); _ecore_evas_register(ee); - ecore_evas_input_event_register(ee); ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process, (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - /* _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); */ + _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); ecore_drm2_output_crtc_size_get(edata->output, , ); @@ -900,13 +899,12 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS ecore_evas_data_set(ee, "device", edata->dev); _ecore_evas_register(ee); - ecore_evas_input_event_register(ee); ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb)_ecore_evas_mouse_move_process, (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - /* _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); */ + _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); ecore_drm2_output_crtc_size_get(edata->output, , ); --
[EGIT] [core/efl] master 02/03: ecore-evas-wayland: Minor formatting fixes
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c163e51dd31c5d242b1833d542e1eebdf51d930e commit c163e51dd31c5d242b1833d542e1eebdf51d930e Author: Chris Michael <cpmich...@osg.samsung.com> Date: Mon Jun 13 13:00:13 2016 -0400 ecore-evas-wayland: Minor formatting fixes NB: no functional changes Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c | 7 +-- src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c | 7 +-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c index dc036f3..bb50fd8 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_egl.c @@ -449,9 +449,12 @@ ecore_evas_wayland_egl_new_internal(const char *disp_name, unsigned int parent, (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); + _ecore_event_window_direct_cb_set(ee->prop.window, + _ecore_evas_input_direct_cb); + + wdata->sync_handler = + ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, _ee_cb_sync_done, ee); - wdata->sync_handler = ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, _ee_cb_sync_done, ee); ee_list = eina_list_append(ee_list, ee); return ee; diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c index 8086663..e18c06c 100644 --- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c +++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c @@ -358,9 +358,12 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, unsigned int parent, (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); + _ecore_event_window_direct_cb_set(ee->prop.window, + _ecore_evas_input_direct_cb); + + wdata->sync_handler = + ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, _ee_cb_sync_done, ee); - wdata->sync_handler = ecore_event_handler_add(ECORE_WL2_EVENT_SYNC_DONE, _ee_cb_sync_done, ee); ee_list = eina_list_append(ee_list, ee); return ee; --
[EGIT] [core/efl] master 03/03: elput: Fix issue of VT-Switching not working
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=28f79d458596213ea33dc68755c87f46a140591b commit 28f79d458596213ea33dc68755c87f46a140591b Author: Chris Michael <cpmich...@osg.samsung.com> Date: Mon Jun 13 16:18:13 2016 -0400 elput: Fix issue of VT-Switching not working This patch fixes an issue where you could not VT-switch away from a running Enlightenment session by simplifying the vt switch code and passing the proper arguments to the dbus message. @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_logind.c | 46 1 file changed, 8 insertions(+), 38 deletions(-) diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index 22cb1b0..fedb2b0 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -568,50 +568,20 @@ _logind_close(Elput_Manager *em, int fd) static Eina_Bool _logind_vt_set(Elput_Manager *em, int vt) { - Eldbus_Object *obj; - Eldbus_Proxy *proxy; Eldbus_Message *msg; - char self[PATH_MAX]; - - snprintf(self, sizeof(self), "/org/freedesktop/login1/seat/self"); - - obj = eldbus_object_get(em->dbus.conn, "org.freedesktop.login1", self); - if (!obj) - { -ERR("Could not get dbus object"); -goto obj_err; - } - - proxy = eldbus_proxy_get(obj, "org.freedesktop.login1.Seat"); - if (!proxy) - { -ERR("Could not get dbus proxy"); -goto proxy_err; - } - msg = eldbus_proxy_method_call_new(proxy, "SwitchTo"); - if (!msg) - { -ERR("Could not create method call for proxy"); -goto msg_err; - } + msg = + eldbus_message_method_call_new("org.freedesktop.login1", +"/org/freedesktop/login1/seat/self", +"org.freedesktop.login1.Seat", "SwitchTo"); + if (!msg) return EINA_FALSE; - eldbus_message_arguments_append(msg, "u", ); + if (!eldbus_message_arguments_append(msg, "u", vt)) + return EINA_FALSE; - eldbus_proxy_send(proxy, msg, NULL, NULL, -1); - - eldbus_message_unref(msg); - eldbus_proxy_unref(proxy); - eldbus_object_unref(obj); + eldbus_connection_send(em->dbus.conn, msg, NULL, NULL, -1); return EINA_TRUE; - -msg_err: - eldbus_proxy_unref(proxy); -proxy_err: - eldbus_object_unref(obj); -obj_err: - return EINA_FALSE; } Elput_Interface _logind_interface = --
[EGIT] [core/efl] master 01/02: ecore-wl2: Support wl_seat_listener version 4
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0a93ff051f53eb98145030408d6139615b565066 commit 0a93ff051f53eb98145030408d6139615b565066 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 7 13:36:18 2016 -0400 ecore-wl2: Support wl_seat_listener version 4 This patch adds support for wl_seat_listener version 4 (which is used in wayland 1.11). We do not actually make use of the seat callback for name yet, but when the rest of multi-seat issues are sorted, we may need this. @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_wl2/ecore_wl2_input.c | 12 ++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore_wl2/ecore_wl2_input.c b/src/lib/ecore_wl2/ecore_wl2_input.c index bf17025..2b4a804 100644 --- a/src/lib/ecore_wl2/ecore_wl2_input.c +++ b/src/lib/ecore_wl2/ecore_wl2_input.c @@ -1147,10 +1147,18 @@ _seat_cb_capabilities(void *data, struct wl_seat *seat, enum wl_seat_capability } } +static void +_seat_cb_name(void *data EINA_UNUSED, struct wl_seat *seat EINA_UNUSED, const char *name EINA_UNUSED) +{ + /* NB: No-Op as we don't care about seat name right now. +* +* This will likely change as we hash out remaining multi-seat issues */ +} + static const struct wl_seat_listener _seat_listener = { _seat_cb_capabilities, - NULL + _seat_cb_name, }; static void @@ -1253,7 +1261,7 @@ _ecore_wl2_input_add(Ecore_Wl2_Display *display, unsigned int id, unsigned int v _ecore_wl2_input_cursor_setup(input); input->wl.seat = - wl_registry_bind(display->wl.registry, id, _seat_interface, 1); + wl_registry_bind(display->wl.registry, id, _seat_interface, 4); display->inputs = eina_inlist_append(display->inputs, EINA_INLIST_GET(input)); --
[EGIT] [core/efl] master 02/02: elementary: Remove set but unused variable
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d0826aacb73805715ee5efa8d532c40b5d0bf525 commit d0826aacb73805715ee5efa8d532c40b5d0bf525 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 7 13:37:53 2016 -0400 elementary: Remove set but unused variable This variable looks like it may be used in the future, but for now just causes additional compiler warnings so comment it out for now. @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elm_code_widget_selection.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/elm_code_widget_selection.c b/src/lib/elementary/elm_code_widget_selection.c index 33da3aa..2bde739 100644 --- a/src/lib/elementary/elm_code_widget_selection.c +++ b/src/lib/elementary/elm_code_widget_selection.c @@ -340,11 +340,11 @@ elm_code_widget_selection_text_get(Evas_Object *widget) } static void -_selection_loss_cb(void *data, Elm_Sel_Type selection EINA_UNUSED) +_selection_loss_cb(void *data EINA_UNUSED, Elm_Sel_Type selection EINA_UNUSED) { - Elm_Code_Widget *widget; + /* Elm_Code_Widget *widget; */ - widget = (Elm_Code_Widget *)data; + /* widget = (Elm_Code_Widget *)data; */ // TODO we need to know whih selection we are clearing! // elm_code_widget_selection_clear(widget); } --
[EGIT] [core/efl] master 01/01: Revert "elput: Missing pointer initialization."
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=09fc4e7b681260b0578145979b3b924fa6c59f05 commit 09fc4e7b681260b0578145979b3b924fa6c59f05 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 7 12:09:20 2016 -0400 Revert "elput: Missing pointer initialization." Reverting this as the initialization of char *s was already set to NULL in a previous patch, so the 'if (s)' check here is pointless really as 'man 3 free' says passing NULL to free() is ok. This reverts commit ad2e21b02399c02a748bb8b8ab0dc10f85e6662d. --- src/lib/elput/elput_logind.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index 799a26a..22cb1b0 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -427,7 +427,7 @@ _logind_connect(Elput_Manager **manager, const char *seat, unsigned int tty) if (ret < 0) { ERR("Failed to get session seat"); -if (s) free(s); +free(s); goto seat_err; } else if ((seat) && (s) && (strcmp(seat, s))) --
[EGIT] [core/efl] master 01/02: elementary: Remove unused variable
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7d18eb8dac5ea98fe2530f0d8531e015982d3dc4 commit 7d18eb8dac5ea98fe2530f0d8531e015982d3dc4 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 7 07:58:19 2016 -0400 elementary: Remove unused variable Gcc says that 'model' is unused here, so comment it out @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elementary/elc_fileselector.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index b7c9fcb..b15b99d 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -1424,7 +1424,7 @@ static void _on_text_activated_set_path_then_error(void *data, Eina_Error err EINA_UNUSED) { Evas_Object *fs = data; - Efl_Model *model = eo_key_data_get(fs, _text_activated_model_key); + /* Efl_Model *model = eo_key_data_get(fs, _text_activated_model_key); */ Eina_Stringshare *str = eo_key_data_get(fs, _text_activated_path_key); // EVENTS: should not call legacy --
[EGIT] [core/efl] master 02/02: efl: Bump required wayland version
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d48c95f158780735573a4bf90ba7e783c5a5ae56 commit d48c95f158780735573a4bf90ba7e783c5a5ae56 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue Jun 7 08:04:10 2016 -0400 efl: Bump required wayland version This makes our wayland libraries require newest wayland release of 1.11 Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- configure.ac| 10 +- m4/evas_check_engine.m4 | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index 9416b5f..b6616f3 100644 --- a/configure.ac +++ b/configure.ac @@ -1942,7 +1942,7 @@ AC_ARG_ENABLE([wayland], [want_wayland="no"]) if test "${want_wayland}" = "yes"; then - EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0]) + EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0]) fi # Wayland IVI-Shell @@ -3451,7 +3451,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl]) EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina]) EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND], - [wayland-server >= 1.10.0 wayland-client >= 1.10.0 wayland-cursor >= 1.10.0 xkbcommon >= 0.5.0]) + [wayland-server >= 1.11.0 wayland-client >= 1.11.0 wayland-cursor >= 1.11.0 xkbcommon >= 0.6.0]) EFL_EVAL_PKGS([ECORE_WL2]) @@ -4418,7 +4418,7 @@ EFL_ADD_FEATURE([ECORE_IMF], [xim]) # wayland if test "x${want_ecore_imf_wayland}" = "xyes" ; then PKG_CHECK_MODULES([WAYLAND], - [wayland-client >= 1.8.0], + [wayland-client >= 1.11.0], [ have_ecore_imf_wayland="yes" AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support]) @@ -5265,7 +5265,7 @@ EFL_LIB_END_OPTIONAL([Efl_Js]) ### Add Wayland server library if test is enabled if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then - EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.10.0]) + EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.11.0]) EFL_EVAL_PKGS([ECORE_WAYLAND_SRV]) fi @@ -5304,7 +5304,7 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo]) EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [efl]) EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore]) EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND], - [wayland-server >= 1.10.0 wayland-client >= 1.10.0]) + [wayland-server >= 1.11.0 wayland-client >= 1.11.0]) PKG_CHECK_MODULES([X11_DRI_COMMON], [ diff --git a/m4/evas_check_engine.m4 b/m4/evas_check_engine.m4 index 4789d4b..b385076 100644 --- a/m4/evas_check_engine.m4 +++ b/m4/evas_check_engine.m4 @@ -1,4 +1,4 @@ -AC_DEFUN([REQUIRED_WAYLAND_VERSION], [1.10.0]) +AC_DEFUN([REQUIRED_WAYLAND_VERSION], [1.11.0]) dnl use: EVAS_CHECK_ENGINE_DEP_SOFTWARE_XLIB(engine, simple, want_static[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) --
[EGIT] [core/efl] master 01/01: elput: Fix crash whem sd_session_get_seat fails
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=180e64653d8a06609dc6ad22d58fa51455e40cf9 commit 180e64653d8a06609dc6ad22d58fa51455e40cf9 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Mon Jun 6 14:53:35 2016 -0400 elput: Fix crash whem sd_session_get_seat fails If systemd fails to give us a valid session id, then any further calls to get a seat from that session are going to fail. As such, check for a valid seat return from systemd before calling any systemd functions which require session id. Fixes T3785 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_logind.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/elput/elput_logind.c b/src/lib/elput/elput_logind.c index 57b00dc..22cb1b0 100644 --- a/src/lib/elput/elput_logind.c +++ b/src/lib/elput/elput_logind.c @@ -406,7 +406,7 @@ _logind_connect(Elput_Manager **manager, const char *seat, unsigned int tty) { Elput_Manager *em; int ret = 0; - char *s; + char *s = NULL; em = calloc(1, sizeof(Elput_Manager)); if (!em) return EINA_FALSE; @@ -421,6 +421,8 @@ _logind_connect(Elput_Manager **manager, const char *seat, unsigned int tty) goto session_err; } + if (!em->sid) goto session_err; + ret = sd_session_get_seat(em->sid, ); if (ret < 0) { @@ -428,7 +430,7 @@ _logind_connect(Elput_Manager **manager, const char *seat, unsigned int tty) free(s); goto seat_err; } - else if ((seat) && (strcmp(seat, s))) + else if ((seat) && (s) && (strcmp(seat, s))) { ERR("Seat '%s' differs from session seat '%s'", seat, s); free(s); --
[EGIT] [core/enlightenment] enlightenment-0.20 01/20: stop filling logs with buffer transform/scale spam
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1d5a19a54c5c4413d7375366606a74db07ce21fe commit 1d5a19a54c5c4413d7375366606a74db07ce21fe Author: Chris Michael <cpmich...@osg.samsung.com> Date: Sun May 15 10:47:53 2016 -0400 stop filling logs with buffer transform/scale spam Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/bin/e_comp_wl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index 1abbc2b..392eb24 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -1393,13 +1393,13 @@ _e_comp_wl_surface_cb_commit(struct wl_client *client EINA_UNUSED, struct wl_res static void _e_comp_wl_surface_cb_buffer_transform_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, int32_t transform EINA_UNUSED) { - DBG("Surface Buffer Transform: %d", wl_resource_get_id(resource)); + /* DBG("Surface Buffer Transform: %d", wl_resource_get_id(resource)); */ } static void _e_comp_wl_surface_cb_buffer_scale_set(struct wl_client *client EINA_UNUSED, struct wl_resource *resource EINA_UNUSED, int32_t scale EINA_UNUSED) { - DBG("Surface Buffer Scale: %d", wl_resource_get_id(resource)); + /* DBG("Surface Buffer Scale: %d", wl_resource_get_id(resource)); */ } static const struct wl_surface_interface _e_surface_interface = --
[EGIT] [core/enlightenment] enlightenment-0.20 12/20: change 'if' clause to make gcc-6 happy
discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=1aee9676674d6d848d343b65ff1c8f4a4dbda5bb commit 1aee9676674d6d848d343b65ff1c8f4a4dbda5bb Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue May 24 15:48:18 2016 -0400 change 'if' clause to make gcc-6 happy Gcc 6 was spitting a nasty little compiler warning here: src/bin/e_fm.c: In function ‘e_fm2_icon_geometry_get’: src/bin/e_fm.c:2354:4: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0; ^~ src/bin/e_fm.c:2354:19: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0; Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/bin/e_fm.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index c748c47..662eab4 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -2351,7 +2351,11 @@ e_fm2_icon_geometry_get(E_Fm2_Icon *ic, int *x, int *y, int *w, int *h) { int xx, yy, ww, hh; - if (x) *x = 0; if (y) *y = 0; if (w) *w = 0; if (h) *h = 0; + if (x) *x = 0; + if (y) *y = 0; + if (w) *w = 0; + if (h) *h = 0; + if (ic) { evas_object_geometry_get(ic->obj, , , , ); --
[EGIT] [core/efl] master 01/01: Revert "Revert "elput: add missing dependency on libudev""
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5f10ad8155a75fbc5952f34593254c478ddb5f2d commit 5f10ad8155a75fbc5952f34593254c478ddb5f2d Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 2 12:00:32 2016 -0400 Revert "Revert "elput: add missing dependency on libudev"" Apparently, libudev is not thread-safe which means we cannot use Eeze for getting the udev but rather need to actually use libudev, so those revert needs to be reverted. This reverts commit 354bc66d0d58a74b0464275e865a9cc6c920a538. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 77950e7..e348bc8 100644 --- a/configure.ac +++ b/configure.ac @@ -3695,7 +3695,7 @@ EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina]) -EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0]) +EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0 libudev]) EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd]) EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}]) --
[EGIT] [core/efl] master 01/02: elput: Use Eeze function to get the udev to create context with
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7b3d20371e8095207c4bafb3684b8a30d4ca6895 commit 7b3d20371e8095207c4bafb3684b8a30d4ca6895 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 2 10:24:42 2016 -0400 elput: Use Eeze function to get the udev to create context with As we already link to Eeze and use it throughout this code, there is no point in adding an extra dependency on libudev itself when we can just use Eeze functions to get what we need. This is a better fix for T3712 @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/elput/elput_input.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c index 1918216..debaab0 100644 --- a/src/lib/elput/elput_input.c +++ b/src/lib/elput/elput_input.c @@ -312,9 +312,10 @@ static void _elput_input_init_thread(void *data, Ecore_Thread *eth EINA_UNUSED) { Elput_Manager *manager = data; - struct udev *udev; + void *udev = NULL; - udev = udev_new(); + udev = eeze_udev_get(); + if (!udev) return; manager->input.lib = libinput_udev_create_context(&_input_interface, manager, udev); @@ -323,7 +324,6 @@ _elput_input_init_thread(void *data, Ecore_Thread *eth EINA_UNUSED) ERR("libinput could not create udev context"); return; } - udev_unref(udev); if (libinput_udev_assign_seat(manager->input.lib, manager->seat)) { --
[EGIT] [core/efl] master 02/02: Revert "elput: add missing dependency on libudev"
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=354bc66d0d58a74b0464275e865a9cc6c920a538 commit 354bc66d0d58a74b0464275e865a9cc6c920a538 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu Jun 2 10:26:38 2016 -0400 Revert "elput: add missing dependency on libudev" A better fix to not use libudev functions has been pushed previously, so there is no need to add an extra dependency on libudev as we use Eeze already. This reverts commit 9d429a7c1ff059e2e4da961af73a6aecec3b5b98. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 38b7c3b..2e147ba 100644 --- a/configure.ac +++ b/configure.ac @@ -3695,7 +3695,7 @@ EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo]) EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina]) -EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0 libudev]) +EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0]) EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd]) EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}]) --
[EGIT] [core/efl] master 01/02: ecore-evas-drm: Disable direct input callback
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e01ac62e5f36614e3a5195105f28bf5d9b05be08 commit e01ac62e5f36614e3a5195105f28bf5d9b05be08 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue May 31 09:49:43 2016 -0400 ecore-evas-drm: Disable direct input callback For ecore_evas drm engine(s), disable setting of ecore_event_window_direct_callback as this Completely Breaks all input when running Enlightenment Wayland. NB: This can likely be re-enabled at some point, when the jpeg breakage is over ;) @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 68ebc5a..e396423 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -770,7 +770,7 @@ ecore_evas_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); + /* _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); */ ecore_drm2_output_crtc_size_get(edata->output, , ); @@ -906,7 +906,7 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); - _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); + /* _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); */ ecore_drm2_output_crtc_size_get(edata->output, , ); --
[EGIT] [core/efl] master 02/02: ecore-drm: Deprecate Ecore_Drm library
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=af22796356a62b56dca47712e29dd88d87bd722c commit af22796356a62b56dca47712e29dd88d87bd722c Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue May 31 10:04:17 2016 -0400 ecore-drm: Deprecate Ecore_Drm library Small patch to deprecate Ecore_Drm. This patch also adds a configure option to enable ecore_drm for older code. This option is disabled by default, so must be explicitly specified during build. Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- configure.ac | 17 +++-- src/lib/ecore_drm/Ecore_Drm.h | 2 ++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 07e7ec4..3eef79c 100644 --- a/configure.ac +++ b/configure.ac @@ -1651,6 +1651,17 @@ AC_ARG_ENABLE([ecore_wayland], ], [want_ecore_wayland="no"]) +AC_ARG_ENABLE([ecore_drm], + [AS_HELP_STRING([--enable-ecore-drm],[enable legacy Ecore_Drm support. @<:@default=disabled@:>@])], + [ +if test "x${enableval}" = "xyes" ; then + want_ecore_drm="yes" +else + want_ecore_drm="no" +fi + ], + [want_ecore_drm="no"]) + ### Default values if test "${have_windows}" = "yes"; then @@ -2098,7 +2109,7 @@ AC_ARG_ENABLE([drm], fi want_drm="yes" else - want_drm="no" + want_drm="no" fi ], [want_drm="no"]) @@ -3511,7 +3522,7 @@ AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"]) Ecore_Drm have_libinput_new="no" -EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"]) +EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_ecore_drm}" = "yes"]) ### Additional options to configure SUID_CFLAGS=-fPIE @@ -5796,6 +5807,8 @@ echo "Ecore_File..: yes" echo "Ecore_IMF...: yes (${features_ecore_imf})" echo "Ecore_X.: ${with_x11} (${features_ecore_x})" echo "Ecore_SDL...: $want_sdl" +echo "Ecore_Drm...: $want_ecore_drm" +echo "Ecore_Drm2..: $want_drm" echo "Ecore_Wayland...: $want_ecore_wayland" echo "Ecore_Wl2...: $want_wayland" echo "IVI-Shell...: $want_wayland_ivi_shell" diff --git a/src/lib/ecore_drm/Ecore_Drm.h b/src/lib/ecore_drm/Ecore_Drm.h index a1a1317..62717e5 100644 --- a/src/lib/ecore_drm/Ecore_Drm.h +++ b/src/lib/ecore_drm/Ecore_Drm.h @@ -30,6 +30,8 @@ # endif // ifdef __GNUC__ # endif // ifdef _MSC_VER +# warning The Ecore_Drm library has been deprecated. Please use the Ecore_Drm2 library + # ifdef __cplusplus extern "C" { # endif --
[EGIT] [core/efl] master 01/01: ecore-evas-drm: Register direct input callback for gl_drm also
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1ca1f8b06def49fed9a513fae24162ed2d715d82 commit 1ca1f8b06def49fed9a513fae24162ed2d715d82 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Tue May 31 09:23:20 2016 -0400 ecore-evas-drm: Register direct input callback for gl_drm also @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 6c60cd7..68ebc5a 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -906,6 +906,7 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS (Ecore_Event_Multi_Move_Cb)_ecore_evas_mouse_multi_move_process, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); + _ecore_event_window_direct_cb_set(ee->prop.window, _ecore_evas_input_direct_cb); ecore_drm2_output_crtc_size_get(edata->output, , ); --
[EGIT] [core/efl] master 34/36: ecore-evas-drm: Fix issue of mouse pointer not centering on startup
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=593961c2e21b1bb1023e04231619d21af30ab767 commit 593961c2e21b1bb1023e04231619d21af30ab767 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Thu May 26 10:46:40 2016 -0400 ecore-evas-drm: Fix issue of mouse pointer not centering on startup This patch fixes an issue where starting Enlightenment would not center the mouse pointer. Basically the issue is that we cannot warp the mouse pointer until After the ee->prop.window has been set else E will not process the mouse_move event @fix Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 21 ++--- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index f6f4e0c..e14254b 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -58,8 +58,6 @@ static int _drm_init_count = 0; static int _ecore_evas_drm_init(Ecore_Evas_Engine_Drm_Data *edata, const char *device) { - int mw, mh; - if (++_drm_init_count != 1) return _drm_init_count; if (!ecore_drm2_init()) @@ -97,9 +95,6 @@ _ecore_evas_drm_init(Ecore_Evas_Engine_Drm_Data *edata, const char *device) if (!edata->output) WRN("Could not find output at %d %d", edata->x, edata->y); - ecore_drm2_output_crtc_size_get(edata->output, , ); - ecore_drm2_device_pointer_max_set(edata->dev, mw, mh); - ecore_event_evas_init(); return _drm_init_count; @@ -678,7 +673,7 @@ ecore_evas_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, Evas_Engine_Info_Drm *einfo; Ecore_Evas_Interface_Drm *iface; Ecore_Evas_Engine_Drm_Data *edata; - int method; + int method, mw, mh; method = evas_render_method_lookup("drm"); if (!method) return NULL; @@ -776,6 +771,12 @@ ecore_evas_drm_new_internal(const char *device, unsigned int parent EINA_UNUSED, (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); + ecore_drm2_output_crtc_size_get(edata->output, , ); + + ecore_drm2_device_calibrate(edata->dev, mw, mh); + ecore_drm2_device_pointer_max_set(edata->dev, mw, mh); + ecore_drm2_device_pointer_warp(edata->dev, mw / 2, mh / 2); + return ee; eng_err: @@ -791,7 +792,7 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS Evas_Engine_Info_GL_Drm *einfo; Ecore_Evas_Interface_Drm *iface; Ecore_Evas_Engine_Drm_Data *edata; - int method; + int method, mw, mh; method = evas_render_method_lookup("gl_drm"); if (!method) return NULL; @@ -905,6 +906,12 @@ ecore_evas_gl_drm_new_internal(const char *device, unsigned int parent EINA_UNUS (Ecore_Event_Multi_Down_Cb)_ecore_evas_mouse_multi_down_process, (Ecore_Event_Multi_Up_Cb)_ecore_evas_mouse_multi_up_process); + ecore_drm2_output_crtc_size_get(edata->output, , ); + + ecore_drm2_device_calibrate(edata->dev, mw, mh); + ecore_drm2_device_pointer_max_set(edata->dev, mw, mh); + ecore_drm2_device_pointer_warp(edata->dev, mw / 2, mh / 2); + return ee; eng_err: --
[EGIT] [core/efl] master 35/36: ecore-drm2: Add API functions to support cacheing of context & keymap
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=09805d2b15a71a361ec4bf3154f797fe3314775d commit 09805d2b15a71a361ec4bf3154f797fe3314775d Author: Chris Michael <cpmich...@osg.samsung.com> Date: Fri May 27 09:55:11 2016 -0400 ecore-drm2: Add API functions to support cacheing of context & keymap @feature Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_drm2/Ecore_Drm2.h| 22 ++ src/lib/ecore_drm2/ecore_drm2_device.c | 16 2 files changed, 38 insertions(+) diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index d8a1c3e..fa2e916 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -242,6 +242,28 @@ EAPI void ecore_drm2_device_window_set(Ecore_Drm2_Device *device, unsigned int w EAPI void ecore_drm2_device_pointer_max_set(Ecore_Drm2_Device *device, int w, int h); /** + * Set a cached context to be used on keyboards + * + * @param device + * @param context + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI void ecore_drm2_device_keyboard_cached_context_set(Ecore_Drm2_Device *device, void *context); + +/** + * Set a cached keymap to be used on keyboards + * + * @param device + * @param keymap + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI void ecore_drm2_device_keyboard_cached_keymap_set(Ecore_Drm2_Device *device, void *keymap); + +/** * Get the crtcs of a given device * * @param device diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index b4948d4..95b7315 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -265,6 +265,22 @@ ecore_drm2_device_pointer_max_set(Ecore_Drm2_Device *device, int w, int h) elput_input_pointer_max_set(device->em, w, h); } +EAPI void +ecore_drm2_device_keyboard_cached_context_set(Ecore_Drm2_Device *device, void *context) +{ + EINA_SAFETY_ON_NULL_RETURN(device); + + elput_input_keyboard_cached_context_set(device->em, context); +} + +EAPI void +ecore_drm2_device_keyboard_cached_keymap_set(Ecore_Drm2_Device *device, void *keymap) +{ + EINA_SAFETY_ON_NULL_RETURN(device); + + elput_input_keyboard_cached_keymap_set(device->em, keymap); +} + EAPI unsigned int * ecore_drm2_device_crtcs_get(Ecore_Drm2_Device *device, int *num) { --
[EGIT] [core/efl] master 04/36: ecore-drm2: Add API functions to work with framebuffer objects
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2b4176592c6f0e6bd2a78c7a620f29142b65575 commit d2b4176592c6f0e6bd2a78c7a620f29142b65575 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Mon May 2 11:45:39 2016 -0400 ecore-drm2: Add API functions to work with framebuffer objects This patch adds support for creating, deleting, and manipulating framebuffer objects via exposed API. Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/Makefile_Ecore_Drm2.am | 1 + src/lib/ecore_drm2/Ecore_Drm2.h | 122 ++- src/lib/ecore_drm2/ecore_drm2_fb.c | 265 src/lib/ecore_drm2/ecore_drm2_outputs.c | 14 ++ 4 files changed, 401 insertions(+), 1 deletion(-) diff --git a/src/Makefile_Ecore_Drm2.am b/src/Makefile_Ecore_Drm2.am index ab401c6..1c328e3 100644 --- a/src/Makefile_Ecore_Drm2.am +++ b/src/Makefile_Ecore_Drm2.am @@ -9,6 +9,7 @@ dist_installed_ecoredrm2mainheaders_DATA = \ lib/ecore_drm2/Ecore_Drm2.h lib_ecore_drm2_libecore_drm2_la_SOURCES = \ +lib/ecore_drm2/ecore_drm2_fb.c \ lib/ecore_drm2/ecore_drm2_outputs.c \ lib/ecore_drm2/ecore_drm2_device.c \ lib/ecore_drm2/ecore_drm2.c \ diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index 0bed771..f1ce291 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -2,7 +2,6 @@ # define _ECORE_DRM2_H # include -# include # ifdef EAPI # undef EAPI @@ -67,6 +66,7 @@ EAPI extern int ECORE_DRM2_EVENT_OUTPUT_CHANGED; * @li @ref Ecore_Drm2_Init_Group * @li @ref Ecore_Drm2_Device_Group * @li @ref Ecore_Drm2_Output_Group + * @li @ref Ecore_Drm2_Fb_Group */ /** @@ -302,6 +302,126 @@ EAPI void ecore_drm2_output_geometry_get(Ecore_Drm2_Output *output, int *x, int */ EAPI unsigned int ecore_drm2_output_crtc_get(Ecore_Drm2_Output *output); +/** + * Return the next Ecore_Drm2_Fb to be used on a given output + * + * @param output + * + * @return The next Ecore_Drm2_Fb which is scheduled to to be flipped, or NULL otherwise + * + * @ingroup Ecore_Drm2_Output_Group + * @since 1.18 + */ +EAPI Ecore_Drm2_Fb *ecore_drm2_output_next_fb_get(Ecore_Drm2_Output *output); + +/** + * Set the next Ecore_Drm2_Fb to be used on a given output + * + * @param output + * @param fb + * + * @ingroup Ecore_Drm2_Output_Group + * @since 1.18 + */ +EAPI void ecore_drm2_output_next_fb_set(Ecore_Drm2_Output *output, Ecore_Drm2_Fb *fb); + +/** + * @defgroup Ecore_Drm2_Fb_Group Drm framebuffer functions + * + * Functions that deal with setup of framebuffers + */ + +/** + * Create a new framebuffer object + * + * @param fd + * @param width + * @param height + * @param depth + * @param bpp + * @param format + * + * @return A newly create framebuffer object, or NULL on failure + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI Ecore_Drm2_Fb *ecore_drm2_fb_create(int fd, int width, int height, int depth, int bpp, unsigned int format); + +EAPI Ecore_Drm2_Fb *ecore_drm2_fb_gbm_create(int fd, int width, int height, int depth, int bpp, unsigned int format, unsigned int handle, unsigned int stride); + +/** + * Destroy a framebuffer object + * + * @param fb + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI void ecore_drm2_fb_destroy(Ecore_Drm2_Fb *fb); + +/** + * Get a framebuffer's mmap'd data + * + * @param fb + * + * @return The mmap'd area of the framebuffer or NULL on failure + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI void *ecore_drm2_fb_data_get(Ecore_Drm2_Fb *fb); + +/** + * Get a framebuffer's size + * + * @param fb + * + * @return size of the framebuffers' mmap'd data or 0 on failure + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI unsigned int ecore_drm2_fb_size_get(Ecore_Drm2_Fb *fb); + +/** + * Get a framebuffer's stride + * + * @param fb + * + * @return stride of the framebuffer or 0 on failure + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI unsigned int ecore_drm2_fb_stride_get(Ecore_Drm2_Fb *fb); + +/** + * Mark regions of a framebuffer as dirty + * + * @param fb + * @param rects + * @param count + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI void ecore_drm2_fb_dirty(Ecore_Drm2_Fb *fb, Eina_Rectangle *rects, unsigned int count); + +/** + * Schedule a pageflip to the given Ecore_Drm2_Fb + * + * @param fb + * @param output + * @param data + * + * @return The result of drmModePageFlip function call + * + * @ingroup Ecore_Drm2_Fb_Group + * @since 1.18 + */ +EAPI int ecore_drm2_fb_flip(Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output, void *data); + # endif #endif diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c new file mode 100644 index 000..9032c12 --- /dev/null +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c @@ -0,0 +1,265 @@ +#include "ecore_drm2_private.h" + +static Eina_Bool +_fb2_cr
[EGIT] [core/efl] master 05/36: ecore-drm2: Add API functions to get and set pointer position
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=296d233f64327d87d318093b2504b58834c5bc85 commit 296d233f64327d87d318093b2504b58834c5bc85 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed May 4 11:03:15 2016 -0400 ecore-drm2: Add API functions to get and set pointer position Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_drm2/Ecore_Drm2.h| 24 src/lib/ecore_drm2/ecore_drm2_device.c | 19 +++ 2 files changed, 43 insertions(+) diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index f1ce291..f4bbad2 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -175,6 +175,30 @@ EAPI int ecore_drm2_device_clock_id_get(Ecore_Drm2_Device *device); EAPI void ecore_drm2_device_cursor_size_get(Ecore_Drm2_Device *device, int *width, int *height); /** + * Get the current pointer position + * + * @param device + * @param x + * @param y + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI void ecore_drm2_device_pointer_xy_get(Ecore_Drm2_Device *device, int *x, int *y); + +/** + * Warp the pointer position to given coordinates + * + * @param dev + * @param x + * @param y + * + * @ingroup Ecore_Drm2_Device_Group + * @since 1.18 + */ +EAPI void ecore_drm2_device_pointer_warp(Ecore_Drm2_Device *device, int x, int y); + +/** * @defgroup Ecore_Drm2_Output_Group Drm output functions * * Functions that deal with setup of outputs diff --git a/src/lib/ecore_drm2/ecore_drm2_device.c b/src/lib/ecore_drm2/ecore_drm2_device.c index b47028b..f352b30 100644 --- a/src/lib/ecore_drm2/ecore_drm2_device.c +++ b/src/lib/ecore_drm2/ecore_drm2_device.c @@ -182,3 +182,22 @@ ecore_drm2_device_cursor_size_get(Ecore_Drm2_Device *device, int *width, int *he if (ret == 0) *height = caps; } } + +EAPI void +ecore_drm2_device_pointer_xy_get(Ecore_Drm2_Device *device, int *x, int *y) +{ + if (x) *x = 0; + if (y) *y = 0; + + EINA_SAFETY_ON_NULL_RETURN(device); + + elput_input_pointer_xy_get(device->em, NULL, x, y); +} + +EAPI void +ecore_drm2_device_pointer_warp(Ecore_Drm2_Device *device, int x, int y) +{ + EINA_SAFETY_ON_NULL_RETURN(device); + + elput_input_pointer_xy_set(device->em, NULL, x, y); +} --
[EGIT] [core/efl] master 25/36: ecore-drm2: Fix potential invalid access to output current_mode
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6697584fb9d553c2cd317ab3adffba04b5f710a3 commit 6697584fb9d553c2cd317ab3adffba04b5f710a3 Author: Chris Michael <cpmich...@osg.samsung.com> Date: Wed May 11 09:43:53 2016 -0400 ecore-drm2: Fix potential invalid access to output current_mode Signed-off-by: Chris Michael <cpmich...@osg.samsung.com> --- src/lib/ecore_drm2/ecore_drm2_outputs.c | 16 +--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index 81e0018..7596164 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -90,11 +90,21 @@ _output_event_send(Ecore_Drm2_Output *output) ev->x = output->x; ev->y = output->y; - ev->w = output->current_mode->width; - ev->h = output->current_mode->height; + if (output->current_mode) + { +ev->w = output->current_mode->width; +ev->h = output->current_mode->height; +ev->refresh = output->current_mode->refresh; + } + else + { +ev->w = output->ocrtc->width; +ev->h = output->ocrtc->height; +ev->refresh = 0; + } + ev->phys_width = output->pw; ev->phys_height = output->ph; - ev->refresh = output->current_mode->refresh; ev->scale = output->scale; ev->subpixel = output->subpixel; --