[EGIT] [core/efl] master 01/01: evas: prevent crash.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=105b0d75eee39db1410c3a8165e46d5344439ba1 commit 105b0d75eee39db1410c3a8165e46d5344439ba1 Author: ChunEon Park chuneon.p...@samsung.com Date: Mon Mar 23 22:00:27 2015 +0900 evas: prevent crash. if user delete the interceptor in the interceptor callback, the interceptors would be NULL. So we need to check whether it's valid or not. @fix --- src/lib/evas/canvas/evas_object_intercept.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index a1c331d..7da2935 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -58,7 +58,7 @@ evas_object_intercept_cleanup(Evas_Object *eo_obj) ret = !!(obj-interceptors-Type.func); \ if (ret) \ obj-interceptors-Type.func(obj-interceptors-Type.data, eo_obj); \ - obj-interceptors-Type.intercepted = EINA_FALSE; \ + if (obj-interceptors) obj-interceptors-Type.intercepted = EINA_FALSE; \ return ret;\ } --
[EGIT] [core/efl] efl-1.13 01/01: evas: prevent crash.
hermet pushed a commit to branch efl-1.13. http://git.enlightenment.org/core/efl.git/commit/?id=bb30fb6aea2a23017b46375a538b4016472b8da7 commit bb30fb6aea2a23017b46375a538b4016472b8da7 Author: ChunEon Park chuneon.p...@samsung.com Date: Mon Mar 23 22:00:27 2015 +0900 evas: prevent crash. if user delete the interceptor in the interceptor callback, the interceptors would be NULL. So we need to check whether it's valid or not. @fix --- src/lib/evas/canvas/evas_object_intercept.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_intercept.c b/src/lib/evas/canvas/evas_object_intercept.c index a1c331d..7da2935 100644 --- a/src/lib/evas/canvas/evas_object_intercept.c +++ b/src/lib/evas/canvas/evas_object_intercept.c @@ -58,7 +58,7 @@ evas_object_intercept_cleanup(Evas_Object *eo_obj) ret = !!(obj-interceptors-Type.func); \ if (ret) \ obj-interceptors-Type.func(obj-interceptors-Type.data, eo_obj); \ - obj-interceptors-Type.intercepted = EINA_FALSE; \ + if (obj-interceptors) obj-interceptors-Type.intercepted = EINA_FALSE; \ return ret;\ } --
[EGIT] [core/elementary] master 01/01: scroller: add loop feature.
jaehwan pushed a commit to branch master. http://git.enlightenment.org/core/elementary.git/commit/?id=63e7f8b8a48b3762daba54d180d151932b849504 commit 63e7f8b8a48b3762daba54d180d151932b849504 Author: Jaehwan Kim jae.hwan@samsung.com Date: Sat Jan 24 12:01:03 2015 +0900 scroller: add loop feature. This feature works the infinite loop horizontally or vertically. If the content is set, it will be shown repeatedly. @feature Change-Id: I1f20b794ae44bc8e5d120901222c7cccadca96b7 Conflicts: src/lib/elm_scroller.c src/lib/elm_scroller_legacy.h --- data/themes/edc/elm/scroller.edc| 52 src/bin/test_scroller.c | 36 +++- src/lib/elm_interface_scrollable.c | 118 ++ src/lib/elm_interface_scrollable.eo | 26 ++ src/lib/elm_interface_scrollable.h | 2 + src/lib/elm_scroller.c | 159 +++- src/lib/elm_scroller_legacy.h | 31 +++ src/lib/elm_widget_scroller.h | 4 + 8 files changed, 394 insertions(+), 34 deletions(-) diff --git a/data/themes/edc/elm/scroller.edc b/data/themes/edc/elm/scroller.edc index a2c397e..d70be40 100644 --- a/data/themes/edc/elm/scroller.edc +++ b/data/themes/edc/elm/scroller.edc @@ -1252,3 +1252,55 @@ group { name: elm/scroller/base/noclip; } } } + +group { name: elm/scroller/contents/default; + parts { + part { name: elm.swallow.content; + type: SWALLOW; + description { state: default 0.0; + } + } + part { name: elm.swallow.content_r; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 1.0 0.0; +to: elm.swallow.content; +} +rel2 { +relative: 2.0 1.0; +to: elm.swallow.content; +} + } + } + part { name: elm.swallow.content_b; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 0.0 1.0; +to: elm.swallow.content; +} +rel2 { +relative: 1.0 2.0; +to: elm.swallow.content; +} + } + } + part { name: elm.swallow.content_rb; + type: SWALLOW; + description { state: default 0.0; +fixed: 1 1; +rel1 { +relative: 1.0 1.0; +to: elm.swallow.content; +} +rel2 { +relative: 2.0 2.0; +to: elm.swallow.content; +} + } + } + } +} diff --git a/src/bin/test_scroller.c b/src/bin/test_scroller.c index 8628ca2..8457e92 100644 --- a/src/bin/test_scroller.c +++ b/src/bin/test_scroller.c @@ -113,6 +113,28 @@ my_bt_block_movements_y_axis(void *data, Evas_Object *obj, } void +my_bt_loop_x_axis(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Eina_Bool loop_h, loop_v; + Evas_Object *scroller = (Evas_Object *)data; + + elm_scroller_loop_get(scroller, loop_h, loop_v); + elm_scroller_loop_set(scroller, !loop_h, loop_v); +} + +void +my_bt_loop_y_axis(void *data, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + Eina_Bool loop_h, loop_v; + Evas_Object *scroller = (Evas_Object *)data; + + elm_scroller_loop_get(scroller, loop_h, loop_v); + elm_scroller_loop_set(scroller, loop_h, !loop_v); +} + +void page_change_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED) @@ -152,7 +174,7 @@ void test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { Evas_Object *win, *bg2, *tb, *tb2, *sc, *bt, *ck1, *ck2, *bx, *bx2, *fr, - *ck3, *ck4, *ck5; + *ck3, *ck4, *ck5, *ck6, *ck7; int i, j, n; char buf[PATH_MAX]; Evas_Coord x = 0, y = 0, w = 0, h = 0; @@ -214,6 +236,16 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ elm_box_pack_end(bx2, ck5); evas_object_show(ck5); + ck6 = elm_check_add(win); + elm_object_text_set(ck6, Loop in X axis); + elm_box_pack_end(bx2, ck6); + evas_object_show(ck6); + + ck7 = elm_check_add(win); + elm_object_text_set(ck7, Loop in Y axis); + elm_box_pack_end(bx2, ck7); + evas_object_show(ck7); + sc = elm_scroller_add(win); evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL); @@ -256,6 +288,8 @@ test_scroller(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_ evas_object_smart_callback_add(ck4, changed, my_bt_block_movements_y_axis, sc); evas_object_smart_callback_add(ck5, changed, my_bt_snap_to_pages, sc); +
[EGIT] [admin/devs] master 01/01: developer/jypark: update public key.
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=bf457d773726ec35b6bfcc46d37f09453607b883 commit bf457d773726ec35b6bfcc46d37f09453607b883 Author: ChunEon Park chuneon.p...@samsung.com Date: Mon Mar 23 22:44:35 2015 +0900 developer/jypark: update public key. requested by owner --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub index 6fce8b6..816a5ec 100755 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAACAQDPOLX2PgN9n2/zETtcXl/Qke75AmAK03NJGFu0NyEYIgZkmPQrP/epe4mXxLhhf53TTksz7gWD1iyR+YGIOpaPSSJ3Fwg9EYF7LLW9WIlsr5DV2GdVV8w6th/SScDAgjhBN02v0r81vPTEy61xWiIPJ25pEINGo/40e77wu5DWk5G25NAYYtci5OfOHyRk1Y00wzLopoIHtXRo2UTB1rRL3lDB4wuPZIaa9XP1wzet+FiIde88ltn3+DCP+FChlnO7deOl+0qJskLwitH4W7jysgXJn5O2K0AXBEg6D459ZfB6Lo/7ObW94eEUvKF3PPyyrER2GDwvJqduXeuf8xQliY9OI3Ylch9R0/mPg+dQaotPArmqJLvXuvJ6BBQsMBd7W8Ax3UoBRbY4QA2/jg6CHwNvndAfY6+S/f3SjnC6iHrD2Lrg6ivLKw9ZFxq6kR73Tgp5 [...] +ssh-rsa B3NzaC1yc2EDAQABAAACAQDBF6g8OEG5lXgIQEetaPgajWVayVHCPJqAc4kN9N3219DTtPMgDr4UOYRJPFFweIIahRReMTu3caUlVnkc5OijrGjEqEODesAzKQ3OQOX6sr9rQ2NpIz3dRnH102SSKGqoGh8NeEGG713w6WRk1Gw0mGVbh2YZkpAskaZXi0815z0L307oGyKEHEcL4nsvQQ5PM52CiXRdzcgcEuDb+ntlwezh1zrQojr4Y4hlTfu0tNSaMAIM7NELCLDKay56paMIA4Y2OrPJrCXLVORwSg6+hrqCpv+1FcNBJbK6xY4YVcj4I6u1lW4X522qsjFMZLfKI3FajioOSqiydYQgEiq2MTK1EfkKnczLjvb2B8gL8uvrJpX38bUyhNbZzC0iwa9ApATtGZnkqNihXHVdwDt+2obmKMs2SFF4d2wamso5AizzCUH3ENfrQvhP88z4oe/d6SU0 [...] --
[EGIT] [tools/erigo] master 01/01: Fix typo in event name
yakov pushed a commit to branch master. http://git.enlightenment.org/tools/erigo.git/commit/?id=575a8ae7fbc4061463c8faf50b125963d53e382e commit 575a8ae7fbc4061463c8faf50b125963d53e382e Author: Yakov Goldberg yako...@samsung.com Date: Mon Mar 23 16:07:21 2015 +0200 Fix typo in event name --- src/bin/egui_gui/descview.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/egui_gui/descview.c b/src/bin/egui_gui/descview.c index caeeb06..8590d0e 100644 --- a/src/bin/egui_gui/descview.c +++ b/src/bin/egui_gui/descview.c @@ -71,7 +71,7 @@ _description_item_content_get(It_Data *it_data) if (!strcmp(it_data-desc, DB_DEF_PUBLIC)) { Eo *ck = props_check_add(box, wdg_public_get(it_data-wdg)); -eo_do (ck, eo_event_callback_add(ELM_ENTRY_EVENT_CHANGED, _wdg_public_change_cb, it_data-wdg)); +eo_do(ck, eo_event_callback_add(ELM_CHECK_EVENT_CHANGED, _wdg_public_change_cb, it_data-wdg)); elm_object_tooltip_text_set(ck, Check to make widget accissible from code); } else if (!strcmp(it_data-desc, DB_DEF_NAME)) --
[EGIT] [enlightenment/modules/wallpaper2] master 01/01: wallpaper2: Update for comp-num removal
devilhorns pushed a commit to branch master. http://git.enlightenment.org/enlightenment/modules/wallpaper2.git/commit/?id=5389c046dc6dc12ecb19353e1e53084ca67524a2 commit 5389c046dc6dc12ecb19353e1e53084ca67524a2 Author: Chris Michael cp.mich...@samsung.com Date: Mon Mar 23 10:12:31 2015 -0400 wallpaper2: Update for comp-num removal Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/e_int_config_wallpaper.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/e_int_config_wallpaper.c b/src/e_int_config_wallpaper.c index 1382d1f..8048994 100644 --- a/src/e_int_config_wallpaper.c +++ b/src/e_int_config_wallpaper.c @@ -1100,7 +1100,7 @@ _scan(Info *info) } Info * -wp_browser_new(E_Comp *comp) +wp_browser_new(E_Comp *comp EINA_UNUSED) { Info *info; Evas_Object *win; @@ -1117,7 +1117,7 @@ wp_browser_new(E_Comp *comp) zone = e_zone_current_get(); desk = e_desk_current_get(zone); - info-man_num = comp-num; + info-man_num = 0; info-zone_num = zone-num; info-desk_x = desk-x; info-desk_y = desk-y; --
[EGIT] [admin/devs] master 01/01: probie: welcome new probie, thiep
hermet pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=c25e712d61a21033957e89c4f6f32702631959c2 commit c25e712d61a21033957e89c4f6f32702631959c2 Author: ChunEon Park chuneon.p...@samsung.com Date: Tue Mar 24 14:36:12 2015 +0900 probie: welcome new probie, thiep --- probies/thiep/id_rsa.pub | 1 + probies/thiep/info.txt | 8 2 files changed, 9 insertions(+) diff --git a/probies/thiep/id_rsa.pub b/probies/thiep/id_rsa.pub new file mode 100755 index 000..b1aa051 --- /dev/null +++ b/probies/thiep/id_rsa.pub @@ -0,0 +1 @@ +ssh-rsa B3NzaC1yc2EDAQABAAABAQDOK3B3Lfx5ERk6C3qEZliLb2RVNDsCEqUIRRXnp7eA9wcHxQ+cCw0B17ULzyHeN+aH2LPc9U/GmxjD8+iZ+U9rRC/0M6DN89TSa7b9DoMsZsXqtEdXSBn8M+VdUawp4kH7VRd+KtDB4OEWOm957Lf1+DB6FNL2dp3WzzUGWpdzM7W53aUJbtVpgbp2D8tANlYq1bnFJ63QMddAe260paeGhorrC3vGnbnXqc2OjZYm2zUzgnEN6xJ3o4l34Ix6GjOfrpd9fOZVskShgDMkasK+Icyw60wY5j0mLa2ZxmC4cKieSi8Sq3T4AjXzvWKQCZZNGm/WwNqlZIhgzeKIPoQ1 thiep...@samsung.com diff --git a/probies/thiep/info.txt b/probies/thiep/info.txt new file mode 100755 index 000..07c9869 --- /dev/null +++ b/probies/thiep/info.txt @@ -0,0 +1,8 @@ +Login:thiep +IRC Nick: thiep +Name: Thiep Ha +Location: Suwon, Korea +E-Mail: thie...@gmail.com; thiep...@samsung.com +Contributing: efl, elementary +Group:Libraries +Platform: Ubuntu --
[EGIT] [core/efl] master 04/04: emile: meaningful initialization of some pointers.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=671bd817bfb4e8ab96537d80310526f9bf9edf23 commit 671bd817bfb4e8ab96537d80310526f9bf9edf23 Author: Cedric BAIL ced...@osg.samsung.com Date: Mon Mar 23 22:04:15 2015 +0100 emile: meaningful initialization of some pointers. --- src/lib/emile/emile_image.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/emile/emile_image.c b/src/lib/emile/emile_image.c index 99a21b7..c75d2f5 100644 --- a/src/lib/emile/emile_image.c +++ b/src/lib/emile/emile_image.c @@ -1573,9 +1573,9 @@ _emile_jpeg_data(Emile_Image *image, struct _JPEG_error_mgr jerr; const unsigned char *m = NULL; uint8_t *ptr, *line[16], *data; - uint32_t *ptr2, *ptr_rotate = NULL; + uint32_t *ptr2 = NULL, *ptr_rotate = NULL; uint16_t *ptrag, *ptrag_rotate = NULL; - uint8_t *ptrg, *ptrg_rotate = NULL; + uint8_t *ptrg = NULL, *ptrg_rotate = NULL; unsigned int x, y, l, i, scans; int region = 0; /* rotation setting */ --
[EGIT] [core/efl] master 03/04: ecore_con: clean up, refactor and unpdate documentation.
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9c03e3e728f07c4aa9c401646cdbca3127342944 commit 9c03e3e728f07c4aa9c401646cdbca3127342944 Author: Srivardhan Hebbar sri.heb...@samsung.com Date: Mon Mar 23 19:44:03 2015 +0100 ecore_con: clean up, refactor and unpdate documentation. Summary: 1. Have refactored code in ecore_con_local.c 2. Changed env variable from TMP to TMPDIR. 3. Added check for negetive port number when type is ECORE_CON_LOCAL_USER. 4. Added check to check TMPDIR before assuming /tmp as temp directory. 5. Updated documentation in Ecore_Con.h explaining about local socket and port number. Signed-off-by: Srivardhan Hebbar sri.heb...@samsung.com Reviewers: cedric Reviewed By: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2194 Signed-off-by: Cedric BAIL ced...@osg.samsung.com --- src/lib/ecore_con/Ecore_Con.h | 32 src/lib/ecore_con/ecore_con_local.c | 101 2 files changed, 79 insertions(+), 54 deletions(-) diff --git a/src/lib/ecore_con/Ecore_Con.h b/src/lib/ecore_con/Ecore_Con.h index fee1889..2c99079 100644 --- a/src/lib/ecore_con/Ecore_Con.h +++ b/src/lib/ecore_con/Ecore_Con.h @@ -1123,9 +1123,16 @@ EAPI void ecore_con_socks_apply_always(Ecore_Con_Socks *ecs); * The socket on which the server listens depends on the connection * type: * @li If @a type is @c ECORE_CON_LOCAL_USER, the server will listen on - * the Unix socket ~/.ecore/[name]/[port]. + * the Unix socket. The path to the socket is taken from XDG_RUNTIME_DIR, + * if that is not set, then from HOME, even if this is not set, then from + * TMPDIR. If none is set, then path would be /tmp. From this path socket + * would be created as [path]/.ecore/[name]/[port]. If port is negetive, + * then [path]/.ecore/[name]. * @li If @a type is @c ECORE_CON_LOCAL_SYSTEM, the server will listen - * on Unix socket /tmp/.ecore_service|[name]|[port]. + * on Unix socket /tmp/.ecore_service|[name]|[port]. If port is negetive, + * then /tmp/.ecore_service|[name]. + * @li If @a type is @c ECORE_CON_LOCAL_ABSTRACT, then port number is not + * considered while creating the socket. * @li If @a type is @c ECORE_CON_REMOTE_TCP, the server will listen * on TCP port @c port. * @@ -1154,14 +1161,19 @@ EAPI Ecore_Con_Server *ecore_con_server_add(Ecore_Con_Type type, * @return A new Ecore_Con_Server. * * The socket to which the connection is made depends on the connection type: - * @li If @a type is @c ECORE_CON_LOCAL_USER, the function will - * connect to the server at the Unix socket - * ~/.ecore/[name]/[port]. - * @li If @a type is @c ECORE_CON_LOCAL_SYSTEM, the function will - * connect to the server at the Unix socket - * /tmp/.ecore_service|[name]|[port]. - * @li If @a type is @c ECORE_CON_REMOTE_TCP, the function will - * connect to the server at the TCP port [name]:[port]. + * @li If @a type is @c ECORE_CON_LOCAL_USER, the server will conect to + * the Unix socket. The path to the socket is taken from XDG_RUNTIME_DIR, + * if that is not set, then from HOME, even if this is not set, then from + * TMPDIR. If none is set, then path would be /tmp. From this path the + * function would connect to socket at [path]/.ecore/[name]/[port]. If + * port is negetive, then to socket at [path]/.ecore/[name]. + * @li If @a type is @c ECORE_CON_LOCAL_SYSTEM, the server will connect to + * Unix socket at /tmp/.ecore_service|[name]|[port]. If port is negetive, + * then to Unix socket at /tmp/.ecore_service|[name]. + * @li If @a type is @c ECORE_CON_LOCAL_ABSTRACT, then port number is not + * considered while connecting to socket. + * @li If @a type is @c ECORE_CON_REMOTE_TCP, the server will listen + * on TCP port @c port. * * More information about the @p type can be found at @ref _Ecore_Con_Type. * diff --git a/src/lib/ecore_con/ecore_con_local.c b/src/lib/ecore_con/ecore_con_local.c index 9af5ca5..dc9a78e 100644 --- a/src/lib/ecore_con/ecore_con_local.c +++ b/src/lib/ecore_con/ecore_con_local.c @@ -37,6 +37,24 @@ static int _ecore_con_local_init_count = 0; +static inline const char *_ecore_con_get_tmpdir() +{ + const char *tmpdir = /tmp; + const char *dir = getenv(TMPDIR); + + if (!dir) return tmpdir; + return dir; +} + +static const char *_ecore_con_local_path_get() +{ + const char *homedir = getenv(XDG_RUNTIME_DIR); + if (!homedir) homedir = getenv(HOME); + if (!homedir) homedir = _ecore_con_get_tmpdir(); + + return homedir; +} + int ecore_con_local_init(void) { @@ -77,33 +95,23 @@ ecore_con_local_connect(Ecore_Con_Server *obj, #if defined(HAVE_GETUID) defined(HAVE_GETEUID) if (getuid() == geteuid()) #endif - { - homedir =
[EGIT] [core/efl] master 02/04: ecore_exe: fix ecore_exe_pid_get on windows
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1c3dbc3267caef2169dbf1e7c21dec288bf91c5c commit 1c3dbc3267caef2169dbf1e7c21dec288bf91c5c Author: Andrii Kroitor an.kroi...@samsung.com Date: Mon Mar 23 19:37:21 2015 +0100 ecore_exe: fix ecore_exe_pid_get on windows Summary: ecore_exe_pid_get returns exe-pid value so it should be filled @fix Reviewers: raster, seoz, cedric, Hermet Subscribers: NikaWhite, cedric, reutskiy.v.v Differential Revision: https://phab.enlightenment.org/D2195 Signed-off-by: Cedric BAIL ced...@osg.samsung.com --- src/lib/ecore/ecore_exe_win32.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/ecore/ecore_exe_win32.c b/src/lib/ecore/ecore_exe_win32.c index 4b0eb72..7a9f41f 100644 --- a/src/lib/ecore/ecore_exe_win32.c +++ b/src/lib/ecore/ecore_exe_win32.c @@ -484,6 +484,7 @@ _impl_ecore_exe_eo_base_finalize(Eo *obj, Ecore_Exe_Data *exe) exe-process = pi.hProcess; exe-process_thread = pi.hThread; exe-process_id = pi.dwProcessId; + exe-pid = pi.dwProcessId; exe-thread_id = pi.dwThreadId; exe-h_close = ecore_main_win32_handler_add(exe-process, --
[EGIT] [core/efl] master 01/04: eina: add test cases for various eina xattr data type functions
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=54bedbe1f14ffda6a8acdd2d180786bd8fc15318 commit 54bedbe1f14ffda6a8acdd2d180786bd8fc15318 Author: vivek vivek.el...@samsung.com Date: Mon Mar 23 19:29:55 2015 +0100 eina: add test cases for various eina xattr data type functions Summary: Added test cases for eina_xattr_string_set, eina_xattr_int_set and eina_xattr_double_set functions Signed-off-by: vivek vivek.el...@samsung.com Reviewers: cedric Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2218 Signed-off-by: Cedric BAIL ced...@osg.samsung.com --- src/tests/eina/eina_test_xattr.c | 47 1 file changed, 47 insertions(+) diff --git a/src/tests/eina/eina_test_xattr.c b/src/tests/eina/eina_test_xattr.c index d70e952..72c0c3d 100644 --- a/src/tests/eina/eina_test_xattr.c +++ b/src/tests/eina/eina_test_xattr.c @@ -223,6 +223,52 @@ START_TEST(eina_test_xattr_list) eina_shutdown(); } END_TEST + +START_TEST(eina_test_xattr_types) +{ + char *filename = tmpfile; + char *str_attr = user.name, *ret_str; + char *str_data = Vivek Ellur; + char *int_attr = user.id; + int int_data = 1234, int_ret; + char *double_attr = user.size; + double double_data = 123.456, double_ret; + int fd; + Eina_Bool ret; + Eina_Tmpstr *test_file_path; + + eina_init(); + + test_file_path = get_file_path(XATTR_TEST_DIR, filename); + fd = open(test_file_path, O_WRONLY | O_CREAT | O_TRUNC, S_IRWXU | S_IRWXG | S_IRWXO); + fail_if(fd == 0); + + ret = eina_xattr_string_set(test_file_path, str_attr, str_data, EINA_XATTR_INSERT); + fail_if(ret != EINA_TRUE); + ret_str = eina_xattr_string_get(test_file_path, str_attr); + fail_if(ret_str == NULL); + fail_if(strcmp(ret_str, str_data) != 0); + free(ret_str); + + ret = eina_xattr_int_set(test_file_path, int_attr, int_data, EINA_XATTR_INSERT); + fail_if(ret != EINA_TRUE); + ret = eina_xattr_int_get(test_file_path, int_attr, int_ret); + fail_if(ret != EINA_TRUE); + fail_if(int_data != int_ret); + + ret = eina_xattr_double_set(test_file_path, double_attr, double_data, EINA_XATTR_INSERT); + fail_if(ret != EINA_TRUE); + ret = eina_xattr_double_get(test_file_path, double_attr, double_ret); + fail_if(ret != EINA_TRUE); + fail_if(double_data != double_ret); + + close(fd); + unlink(test_file_path); + eina_tmpstr_del(test_file_path); + + eina_shutdown(); +} +END_TEST #endif void @@ -231,6 +277,7 @@ eina_test_xattr(TCase *tc) #ifdef XATTR_TEST_DIR tcase_add_test(tc, eina_test_xattr_set); tcase_add_test(tc, eina_test_xattr_list); + tcase_add_test(tc, eina_test_xattr_types); #else (void)tc; #endif --
[EGIT] [core/efl] master 01/01: Revert evas/gl_x11: Optimize out calls to make current
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5bc4b891154e359ce25354b4127f904e5144bc12 commit 5bc4b891154e359ce25354b4127f904e5144bc12 Author: Jean-Philippe ANDRE j...@videolan.org Date: Tue Mar 24 05:58:26 2015 +0900 Revert evas/gl_x11: Optimize out calls to make current This reverts commit 0585540bb3558b2ff834a1bb730e897c6301a224. This broke Evas 3d examples. I also suspected some weird things and wasn't 100% confident with this patch. Closes T2215. Thanks for the report. --- src/modules/evas/engines/gl_drm/evas_engine.c | 1 - .../engines/gl_generic/Evas_Engine_GL_Generic.h| 4 --- src/modules/evas/engines/gl_generic/evas_engine.c | 33 +- src/modules/evas/engines/gl_sdl/evas_engine.c | 1 - src/modules/evas/engines/gl_x11/evas_engine.c | 1 - src/modules/evas/engines/gl_x11/evas_engine.h | 4 --- src/modules/evas/engines/gl_x11/evas_x_main.c | 27 +- src/modules/evas/engines/wayland_egl/evas_engine.c | 1 - 8 files changed, 15 insertions(+), 57 deletions(-) diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index 8736e99..11a20b6 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -641,7 +641,6 @@ eng_setup(Evas *eo_e, void *in) eng_outbuf_egl_display_get, eng_gl_context_new, eng_gl_context_use, - NULL,//eng_outbuf_context_is_current_set evgl_funcs, epd-output.w, epd-output.h)) { diff --git a/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h index f74bef4..e5743ee 100644 --- a/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h +++ b/src/modules/evas/engines/gl_generic/Evas_Engine_GL_Generic.h @@ -14,7 +14,6 @@ typedef Evas_Engine_GL_Context *(*Window_GL_Context_Get)(Outbuf *ob); typedef void *(*Window_EGL_Display_Get)(Outbuf *ob); typedef Context_3D *(*Window_GL_Context_New)(Outbuf *ob); typedef void (*Window_GL_Context_Use)(Context_3D *ctx); -typedef void (*Window_Context_Is_Current_Set)(Outbuf *ob, Eina_Bool context_current); struct _Render_Engine_GL_Generic { @@ -25,7 +24,6 @@ struct _Render_Engine_GL_Generic Window_EGL_Display_Get window_egl_display_get; Window_GL_Context_New window_gl_context_new; Window_GL_Context_Use window_gl_context_use; - Window_Context_Is_Current_Set window_context_is_current_set; struct { Evas_Object_Image_Pixels_Get_Cb get_pixels; @@ -58,7 +56,6 @@ evas_render_engine_gl_generic_init(Render_Engine_GL_Generic *re, Window_EGL_Display_Get window_egl_display_get, Window_GL_Context_New window_gl_context_new, Window_GL_Context_Use window_gl_context_use, - Window_Context_Is_Current_Set window_context_is_current_set, const EVGL_Interface *evgl_funcs, int w, int h) { @@ -81,7 +78,6 @@ evas_render_engine_gl_generic_init(Render_Engine_GL_Generic *re, re-window_egl_display_get = window_egl_display_get; re-window_gl_context_new = window_gl_context_new; re-window_gl_context_use = window_gl_context_use; - re-window_context_is_current_set = window_context_is_current_set; re-func.get_pixels = NULL; re-func.get_pixels_data = NULL; diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c index 2d0bff0..627e5c0 100644 --- a/src/modules/evas/engines/gl_generic/evas_engine.c +++ b/src/modules/evas/engines/gl_generic/evas_engine.c @@ -805,23 +805,6 @@ eng_image_data_preload_cancel(void *data EINA_UNUSED, void *image, const Eo *tar evas_gl_preload_target_unregister(gim-tex, (Eo*) target); } -static void -eng_gl_get_pixels_pre(void *data EINA_UNUSED) -{ - evgl_get_pixels_pre(); -} - -static void -eng_gl_get_pixels_post(void *data) -{ - Render_Engine_GL_Generic *re = data; - if (!re) return; - - evgl_get_pixels_post(); - if (re-window_context_is_current_set) - re-window_context_is_current_set(re-software.ob, EINA_FALSE); -} - static Eina_Bool eng_image_draw(void *data, void *context, void *surface, void *image, int src_x, int src_y, int src_w, int src_h, int dst_x, int dst_y, int dst_w, int dst_h, int smooth, Eina_Bool do_async EINA_UNUSED) { @@ -873,9 +856,9 @@ eng_image_draw(void *data, void *context, void *surface, void *image, int src_x,
[EGIT] [core/efl] master 01/01: [Evas: Evas_3D] Refactor shaders: used m4 for removing duplication of code.
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1bf3ca03f7e49af76fa4833d2b2ae313ca13e544 commit 1bf3ca03f7e49af76fa4833d2b2ae313ca13e544 Author: Dmytro Dadyka d.dad...@samsung.com Date: Mon Mar 23 14:59:19 2015 -0700 [Evas: Evas_3D] Refactor shaders: used m4 for removing duplication of code. Reviewers: Hermet, raster, cedric, jpeg Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2076 --- .../gl_common/shader_3d/evas_gl_3d_shaders.x | 71 .../engines/gl_common/shader_3d/gen_shaders_3d.sh | 7 +- .../evas/engines/gl_common/shader_3d/include.shd | 183 + .../engines/gl_common/shader_3d/phong_frag.shd | 166 ++- .../engines/gl_common/shader_3d/phong_vert.shd | 85 ++ 5 files changed, 249 insertions(+), 263 deletions(-) diff --git a/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x b/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x index 1247673..c4d328a 100644 --- a/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x +++ b/src/modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x @@ -466,7 +466,7 @@ static const char const phong_vert_glsl[] = vNormal = normal;\n }\n void main() {\n - #ifdef VERTEX_POSITION_BLEND\n + #ifdef VERTEX_POSITION_BLEND\n vec4 position = aPosition0 * uPositionWeight +\n aPosition1 * (1.0 - uPositionWeight);\n position = vec4(position.xyz, 1.0);\n @@ -475,7 +475,7 @@ static const char const phong_vert_glsl[] = vec4 position = vec4(aPosition0.xyz, 1.0);\n #endif // VERTEX_POSITION\n #endif //VERTEX_POSITION_BLEND\n - #ifdef VERTEX_NORMAL_BLEND\n + #ifdef VERTEX_NORMAL_BLEND\n vec3 normal = aNormal0.xyz * uNormalWeight +\n aNormal1.xyz * (1.0 - uNormalWeight);\n #else\n @@ -483,7 +483,7 @@ static const char const phong_vert_glsl[] = vec3 normal = aNormal0.xyz;\n #endif //VERTEX_NORMAL\n #endif //VERTEX_NORMAL_BLEND\n - #ifdef VERTEX_TEXCOORD_BLEND\n + #ifdef VERTEX_TEXCOORD_BLEND\n vTexCoord = aTexCoord0.st * uTexCoordWeight +\n aTexCoord1.st * (1.0 - uTexCoordWeight);\n #else\n @@ -493,7 +493,7 @@ static const char const phong_vert_glsl[] = #endif //VERTEX_TEXCOORD_BLEND\n gl_Position = uMatrixMvp * position;\n vertexPhong(position, normal);\n - #ifdef SHADOWED\n + #ifdef SHADOWED\n vLightPosition = uMatrixLight * position;\n #endif //SHADOWED\n }\n; @@ -513,6 +513,16 @@ static const char const phong_frag_glsl[] = varying vec4 vLightPosition;\n uniform sampler2D uShadowMap;\n float shadow;\n + float pcf(vec4 lpos, float size)\n + {\n +vec3 smcoord = lpos.xyz / lpos.w * 0.5 + 0.5;\n +float i, j, randx, randy, shadow;\n +shadow = 0.0;\n +for (i = -4.0; i 4.0; i++)\n + for (j = -4.0; j 4.0; j++)\n +shadow += float(smcoord.z = texture2D(uShadowMap, smcoord.xy + vec2(i / 8.0, j / 8.0)*size).x);\n +return shadow / 64.0;\n + }\n #endif //SHADOWED\n #ifdef DIFFUSE\n uniform vec4uMaterialDiffuse;\n @@ -583,14 +593,15 @@ static const char const phong_frag_glsl[] = {\n /* Diffuse term. */\n #ifdef DIFFUSE\n + \n #ifdef DIFFUSE_TEXTURE_BLEND\n - color = texture2D(uTextureDiffuse0, vTexCoord) * uTextureDiffuseWeight +\n - texture2D(uTextureDiffuse1, vTexCoord) * (1.0 - uTextureDiffuseWeight);\n + color = texture2D(uTextureDiffuse0, vTexCoord) * uTextureDiffuseWeight +\n + texture2D(uTextureDiffuse1, vTexCoord) * (1.0 - uTextureDiffuseWeight);\n #else\n #ifdef DIFFUSE_TEXTURE\n - color = texture2D(uTextureDiffuse0, vTexCoord);\n + color = texture2D(uTextureDiffuse0, vTexCoord);\n #else\n - color = uMaterialDiffuse;\n + color = uMaterialDiffuse;\n #endif //DIFFUSE_TEXTURE\n #endif //DIFFUSE_TEXTURE_BLEND\n gl_FragColor = uLightDiffuse * color * factor;\n @@ -603,16 +614,17 @@ static const char const phong_frag_glsl[] = if (factor 0.0)\n {\n factor = pow(factor, uMaterialShininess);\n +\n #ifdef SPECULAR_TEXTURE_BLEND\n -color = texture2D(uTextureSpecular0, vTexCoord) * uTextureSpecularWeight +\n -texture2D(uTextureSpecular1, vTexCoord) * (1.0 - uTextureSpecularWeight);\n + color = texture2D(uTextureSpecular0, vTexCoord) * uTextureSpecularWeight +\n + texture2D(uTextureSpecular1, vTexCoord) * (1.0 - uTextureSpecularWeight);\n #else\n - #ifdef SPECULAR_TEXTURE\n -color = texture2D(uTextureSpecular0, vTexCoord);\n + #ifdef SPECULAR_TEXTURE\n + color = texture2D(uTextureSpecular0, vTexCoord);\n #else\n -color =
[EGIT] [core/efl] master 02/02: ecore-drm: Fix issue of not getting updated for output hotplug events
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2dc7ad52df841cb92c1340b682471d71d860a4b8 commit 2dc7ad52df841cb92c1340b682471d71d860a4b8 Author: Chris Michael cp.mich...@samsung.com Date: Mon Mar 23 12:17:11 2015 -0400 ecore-drm: Fix issue of not getting updated for output hotplug events Summary: When setting up the Eeze_Udev_Watch for output hotplug events, we should also be listening for the change event. As eeze will now check the HOTPLUG property for drm events, we don't need to check that here. @fix Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/ecore_drm/ecore_drm_output.c | 36 ++-- 1 file changed, 6 insertions(+), 30 deletions(-) diff --git a/src/lib/ecore_drm/ecore_drm_output.c b/src/lib/ecore_drm/ecore_drm_output.c index f10b5a2..3fcc703 100644 --- a/src/lib/ecore_drm/ecore_drm_output.c +++ b/src/lib/ecore_drm/ecore_drm_output.c @@ -596,26 +596,6 @@ finish: _ecore_drm_output_frame_finish(output); } -static Eina_Bool -_ecore_drm_output_device_is_hotplug(Ecore_Drm_Output *output) -{ - const char *syspath; - const char *val; - int sysnum; - - syspath = output-dev-drm.path; - sysnum = eeze_udev_syspath_get_sysnum(syspath); - - if ((sysnum == -1) || (sysnum != output-dev-id)) - return EINA_FALSE; - - val = eeze_udev_syspath_get_property(syspath, HOTPLUG); - if (!val) - return EINA_FALSE; - - return (strcmp(val, 1) == 0); -} - static void _ecore_drm_update_outputs(Ecore_Drm_Output *output) { @@ -685,7 +665,8 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output) drmModeFreeCrtc(crtc); drmModeFreeEncoder(enc); - events = (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE); + events = (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE | + EEZE_UDEV_EVENT_CHANGE); new_output-watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_DRM, events, @@ -713,18 +694,12 @@ _ecore_drm_update_outputs(Ecore_Drm_Output *output) } static void -_ecore_drm_output_event(const char *device, Eeze_Udev_Event event EINA_UNUSED, void *data, Eeze_Udev_Watch *watch EINA_UNUSED) +_ecore_drm_output_event(const char *device EINA_UNUSED, Eeze_Udev_Event event EINA_UNUSED, void *data, Eeze_Udev_Watch *watch EINA_UNUSED) { Ecore_Drm_Output *output; - DBG(Udev Hotplug Event for Device: %s, device); - if (!(output = data)) return; - - if (_ecore_drm_output_device_is_hotplug(output)) - _ecore_drm_update_outputs(output); - else - DBG(\tUdev Event was not a hotplug event); + _ecore_drm_update_outputs(output); } static void @@ -863,7 +838,8 @@ ecore_drm_outputs_create(Ecore_Drm_Device *dev) drmModeFreeCrtc(crtc); drmModeFreeEncoder(enc); - events = (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE); + events = (EEZE_UDEV_EVENT_ADD | EEZE_UDEV_EVENT_REMOVE | + EEZE_UDEV_EVENT_CHANGE); output-watch = eeze_udev_watch_add(EEZE_UDEV_TYPE_DRM, events, --
[EGIT] [core/efl] master 01/02: eeze: Fix issue of eeze_udev_watch_add not getting events for drm
devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fe77fb6c34a5acc041ad45e1cd56168ce92c51dd commit fe77fb6c34a5acc041ad45e1cd56168ce92c51dd Author: Chris Michael cp.mich...@samsung.com Date: Mon Mar 23 12:14:45 2015 -0400 eeze: Fix issue of eeze_udev_watch_add not getting events for drm Summary: This fixes eeze_udev_watch_add for DRM events, Previously, we were not getting a watch callback fired due to using the wrong subsystem device type in udev_monitor_filter_add_match_subsystem_devtype. @fix Signed-off-by: Chris Michael cp.mich...@samsung.com --- src/lib/eeze/eeze_udev_watch.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/eeze/eeze_udev_watch.c b/src/lib/eeze/eeze_udev_watch.c index ec26b91..5a477b9 100644 --- a/src/lib/eeze/eeze_udev_watch.c +++ b/src/lib/eeze/eeze_udev_watch.c @@ -239,6 +239,10 @@ _get_syspath_from_watch(void *data, if ((!(test = udev_device_get_subsystem(device))) || (strcmp(test, drm))) goto error; + +test = udev_device_get_property_value(device, HOTPLUG); +if ((!test) || (strcmp(test, 1))) goto error; + break; case EEZE_UDEV_TYPE_BACKLIGHT: @@ -334,8 +338,7 @@ eeze_udev_watch_add(Eeze_Udev_Type type, break; case EEZE_UDEV_TYPE_DRM: -udev_monitor_filter_add_match_subsystem_devtype(mon, drm_minor, -NULL); +udev_monitor_filter_add_match_subsystem_devtype(mon, drm, NULL); break; default: --
[EGIT] [bindings/python/python-efl] master 01/01: Evas.SmartObject: Fix smart callbacks with NULL event_info
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=fcc93216f9b7179f4af13b29ddde848fcc94f19f commit fcc93216f9b7179f4af13b29ddde848fcc94f19f Author: Kai Huuhko kai.huu...@gmail.com Date: Mon Mar 23 19:15:25 2015 +0200 Evas.SmartObject: Fix smart callbacks with NULL event_info If the event has a conversion func assigned but event_info is NULL we should pass None instead of dropping the parameter. This behavior is now the same as before the callback rework. --- efl/evas/efl.evas_object_smart.pxi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/efl/evas/efl.evas_object_smart.pxi b/efl/evas/efl.evas_object_smart.pxi index 087841e..3014e08 100644 --- a/efl/evas/efl.evas_object_smart.pxi +++ b/efl/evas/efl.evas_object_smart.pxi @@ -420,11 +420,13 @@ cdef void _smart_callback(void *data, Evas_Object *o, void *event_info) with gil if event_info == NULL: try: tmp_args = [spec.obj] +if spec.event_conv != NULL: +tmp_args.append(None) tmp_args.extend(spec.args) PyObject_Call(spec.func, tuple(tmp_args), spec.kargs) except Exception: traceback.print_exc() -elif spec.event_conv == NULL: +elif event_info != NULL and spec.event_conv == NULL: EINA_LOG_DOM_WARN( PY_EFL_EVAS_LOG_DOMAIN, 'event_info for event %s is not NULL and there is no event_conv!', --
[EGIT] [core/efl] master 01/01: evas/gl_x11: Separate gl symbols check
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=69fa047048db79832ee30d5c9a213ea206387937 commit 69fa047048db79832ee30d5c9a213ea206387937 Author: Dongyeon Kim dy5@samsung.com Date: Mon Mar 23 17:17:37 2015 -0700 evas/gl_x11: Separate gl symbols check Summary: There is a restriction for some gpu drivers that eglGetProcAddress must be called after eglMakeCurrent. So separate egl/glx extensions check from gl_symbols to be called inside eng_window_new. Test Plan: egl and glx backend tests Reviewers: cedric, jpeg Subscribers: cedric, mer.kim, wonsik Differential Revision: https://phab.enlightenment.org/D2193 --- src/modules/evas/engines/gl_x11/evas_engine.c | 34 +++ src/modules/evas/engines/gl_x11/evas_engine.h | 1 + src/modules/evas/engines/gl_x11/evas_x_main.c | 1 + 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index 4d9cd53..7497eb2 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -1293,6 +1293,36 @@ gl_symbols(void) FINDSYM(glsym_eglGetProcAddress, eglGetProcAddressEXT, glsym_func_eng_fn); FINDSYM(glsym_eglGetProcAddress, eglGetProcAddressARB, glsym_func_eng_fn); FINDSYM(glsym_eglGetProcAddress, eglGetProcAddress, glsym_func_eng_fn); +#else +#define FINDSYM(dst, sym, typ) \ + if (glsym_glXGetProcAddress) { \ + if (!dst) dst = (typ)glsym_glXGetProcAddress(sym); \ + } else { \ + if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \ + } + + FINDSYM(glsym_glXGetProcAddress, glXGetProcAddressEXT, glsym_func_eng_fn); + FINDSYM(glsym_glXGetProcAddress, glXGetProcAddressARB, glsym_func_eng_fn); + FINDSYM(glsym_glXGetProcAddress, glXGetProcAddress, glsym_func_eng_fn); +#endif + + done = 1; +} + +void +eng_gl_symbols(void) +{ + static int done = 0; + + if (done) return; + +#ifdef GL_GLES +#define FINDSYM(dst, sym, typ) \ + if (glsym_eglGetProcAddress) { \ + if (!dst) dst = (typ)glsym_eglGetProcAddress(sym); \ + } else { \ + if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \ + } glsym_evas_gl_symbols((void*)glsym_eglGetProcAddress); @@ -1321,10 +1351,6 @@ gl_symbols(void) if (!dst) dst = (typ)dlsym(RTLD_DEFAULT, sym); \ } - FINDSYM(glsym_glXGetProcAddress, glXGetProcAddressEXT, glsym_func_eng_fn); - FINDSYM(glsym_glXGetProcAddress, glXGetProcAddressARB, glsym_func_eng_fn); - FINDSYM(glsym_glXGetProcAddress, glXGetProcAddress, glsym_func_eng_fn); - glsym_evas_gl_symbols((void*)glsym_glXGetProcAddress); FINDSYM(glsym_glXBindTexImage, glXBindTexImageEXT, glsym_func_void); diff --git a/src/modules/evas/engines/gl_x11/evas_engine.h b/src/modules/evas/engines/gl_x11/evas_engine.h index a090393..29171b0 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.h +++ b/src/modules/evas/engines/gl_x11/evas_engine.h @@ -198,6 +198,7 @@ Evas_Engine_GL_Context *eng_outbuf_gl_context_get(Outbuf *ob); void *eng_outbuf_egl_display_get(Outbuf *ob); Eina_Bool eng_preload_make_current(void *data, void *doit); +void eng_gl_symbols(void); static inline int _re_wincheck(Outbuf *ob) 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 3e425bf..38e450c 100644 --- a/src/modules/evas/engines/gl_x11/evas_x_main.c +++ b/src/modules/evas/engines/gl_x11/evas_x_main.c @@ -463,6 +463,7 @@ try_gles2: gw-detected.msaa = val; #endif + eng_gl_symbols(); gw-gl_context = glsym_evas_gl_common_context_new(); if (!gw-gl_context) { --
[EGIT] [apps/terminology] master 01/01: terminology shine - make it much higher resolution than before
raster pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=df96e87350f160feaef3059c0f2cb967c0a72ac0 commit df96e87350f160feaef3059c0f2cb967c0a72ac0 Author: Carsten Haitzler (Rasterman) ras...@rasterman.com Date: Tue Mar 24 08:37:45 2015 +0900 terminology shine - make it much higher resolution than before fixes T2154 --- data/themes/default.edc | 28 data/themes/images/Makefile.am | 4 data/themes/images/bg_shine.png | Bin 7300 - 1548380 bytes data/themes/images/bg_shine2.png | Bin 0 - 401664 bytes data/themes/images/bg_shine3.png | Bin 0 - 101621 bytes data/themes/images/bg_shine4.png | Bin 0 - 26007 bytes data/themes/images/bg_shine5.png | Bin 0 - 6991 bytes 7 files changed, 24 insertions(+), 8 deletions(-) diff --git a/data/themes/default.edc b/data/themes/default.edc index 5bac2cd..a675c9a 100644 --- a/data/themes/default.edc +++ b/data/themes/default.edc @@ -200,7 +200,6 @@ collections { group { name: terminology/background; images { image: bg_bevel.png COMP; -image: bg_shine.png COMP; image: bg_glint.png COMP; image: bg_glow_in.png COMP; image: bg_led_glow.png COMP; @@ -233,6 +232,13 @@ collections { image { image: bg_shadow2.png COMP; size: 200 150 400 300; } image { image: bg_shadow3.png COMP; size: 400 300 9 9; } } + set { name: bg_shine; +image { image: bg_shine5.png COMP; size: 0 0 256 120; } +image { image: bg_shine4.png COMP; size: 256 120 512 240; } +image { image: bg_shine3.png COMP; size: 512 240 1024 480; } +image { image: bg_shine2.png COMP; size: 1024 480 2048 960; } +image { image: bg_shine.png COMP; size: 2048 960 9 9; } + } sounds { sample { name: bell LOSSY 64; source: bell.wav; @@ -665,10 +671,10 @@ collections { description { state: default 0.0; rel1.offset: 0 0; rel2.offset: -1 -1; - image.normal: bg_shine.png; + image.normal: bg_shine; fill.smooth: 0; align: 0.5 0.0; - aspect: (255/120) (255/120); + aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; color: 255 255 255 64; } @@ -1481,10 +1487,10 @@ collections { fixed: 1 1; rel1.to: terminology.popmedia; rel2.to: terminology.popmedia; - image.normal: bg_shine.png; + image.normal: bg_shine; fill.smooth: 0; align: 0.5 0.0; - aspect: (255/120) (255/120); + aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; visible: 0; } @@ -3432,7 +3438,6 @@ target: 0.clip; target: 1.clip; target: 2.clip; target: 3.clip; target: group { name: terminology/sel/item; images { image: bg_bevel.png COMP; -image: bg_shine.png COMP; image: bg_glint.png COMP; image: pm_shadow.png COMP; image: cr_glow.png COMP; @@ -3441,6 +3446,13 @@ target: 0.clip; target: 1.clip; target: 2.clip; target: 3.clip; target: image: bg_led.png COMP; image: bg_led_strobe.png COMP; } + set { name: bg_shine; +image { image: bg_shine5.png COMP; size: 0 0 256 120; } +image { image: bg_shine4.png COMP; size: 256 120 512 240; } +image { image: bg_shine3.png COMP; size: 512 240 1024 480; } +image { image: bg_shine2.png COMP; size: 1024 480 2048 960; } +image { image: bg_shine.png COMP; size: 2048 960 9 9; } + } parts { // base background and selection image @@ -3630,10 +3642,10 @@ target: 0.clip; target: 1.clip; target: 2.clip; target: 3.clip; target: fixed: 1 1; rel1.to: terminology.content; rel2.to: terminology.content; - image.normal: bg_shine.png; + image.normal: bg_shine; fill.smooth: 0; align: 0.5 0.0; - aspect: (255/120) (255/120); + aspect: (256/120) (256/120); aspect_preference: HORIZONTAL; } } diff --git a/data/themes/images/Makefile.am b/data/themes/images/Makefile.am index 76300d5..3251edc 100644 --- a/data/themes/images/Makefile.am +++ b/data/themes/images/Makefile.am @@ -4,6 +4,10 @@ ab_base.png \ ab_shell.png \ bg_bevel.png \ bg_shine.png \ +bg_shine2.png \ +bg_shine3.png \ +bg_shine4.png \ +bg_shine5.png \ bg_glint.png \ bg_glow_in.png \ bg_led.png \ diff --git a/data/themes/images/bg_shine.png b/data/themes/images/bg_shine.png index c3cd9a2..e3adcb7 100644 Binary files a/data/themes/images/bg_shine.png
[EGIT] [core/efl] master 01/01: Evas: Fix invalid test case
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6638c7af90e8a2601fd868ce39977dec5adebf6e commit 6638c7af90e8a2601fd868ce39977dec5adebf6e Author: Jean-Philippe ANDRE j...@videolan.org Date: Mon Mar 23 15:55:23 2015 -0700 Evas: Fix invalid test case No idea how it worked before. It shouldn't. It was invalid. But somehow evas_suite decided to start crashing on this test. --- src/tests/evas/evas_test_filters.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/evas/evas_test_filters.c b/src/tests/evas/evas_test_filters.c index e494c8b..cb21905 100644 --- a/src/tests/evas/evas_test_filters.c +++ b/src/tests/evas/evas_test_filters.c @@ -252,7 +252,7 @@ static struct Filter_Test_Case _test_cases[] = { { 0, 0, 0, 0, a = buffer ({ 'alpha' }) blend ({ dst = a }) bump ({ a,compensate=yes,specular=10.0 }), NULL }, { 7, 7, 7, 7, a = buffer ({ 'alpha' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) displace ({ map = b, src = input, dst = a, intensity = 7 }) blend ({ a }), NULL }, - { 7, 7, 7, 7, a = buffer ({ 'alpha' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) blend ({ dst = a }) displace ({ map = b, src = a, intensity = 7 }), NULL }, + { 7, 7, 7, 7, a = buffer ({ 'rgba' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) blend ({ dst = a }) displace ({ map = b, src = a, intensity = 7 }), NULL }, { 7, 7, 7, 7, a = buffer ({ 'rgba' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) blend ({ dst = a }) displace ({ map = b, src = a, intensity = 7 }), NULL }, { 7, 7, 7, 7, a = buffer ({ 'rgba' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) blend ({ dst = a }) displace ({ map = b, src = a, intensity = 7, flags = 'default' }), NULL }, { 7, 7, 7, 7, a = buffer ({ 'rgba' }) b = buffer ({ 'rgba' }) blend ({ dst = b, color = '#330' }) blend ({ dst = a }) displace ({ map = b, src = a, intensity = 7, flags = 'nearest' }), NULL }, --
[EGIT] [core/efl] master 01/01: evas/gl_x11: add env variables for disable partial rendering
jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9a767921c552892dd1e8b6f73f4cc8d99db50fea commit 9a767921c552892dd1e8b6f73f4cc8d99db50fea Author: Sunghyun Kim vdtizen@samsung.com Date: Mon Mar 23 17:30:59 2015 -0700 evas/gl_x11: add env variables for disable partial rendering Summary: add 'EVAS_GL_PARTIAL_DISABLE' environment variables for disable partial rendering Reviewers: cedric, jpeg Reviewed By: jpeg Subscribers: mer.kim, spacegrapher, cedric, wonsik Differential Revision: https://phab.enlightenment.org/D2183 Signed-off-by: Jean-Philippe ANDRE j...@videolan.org jpeg added atoi(s) and copied the code for gl_drm and wayland_egl. --- src/modules/evas/engines/gl_drm/evas_engine.c | 7 +++ src/modules/evas/engines/gl_x11/evas_engine.c | 7 +++ src/modules/evas/engines/wayland_egl/evas_engine.c | 7 +++ 3 files changed, 21 insertions(+) diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c index 11a20b6..75b54af 100644 --- a/src/modules/evas/engines/gl_drm/evas_engine.c +++ b/src/modules/evas/engines/gl_drm/evas_engine.c @@ -218,8 +218,15 @@ gl_extn_veto(Render_Engine *re) str = eglQueryString(eng_get_ob(re)-egl_disp, EGL_EXTENSIONS); if (str) { +const char *s; if (getenv(EVAS_GL_INFO)) printf(EGL EXTN:\n%s\n, str); +// Disable Partial Rendering +if ((s = getenv(EVAS_GL_PARTIAL_DISABLE)) atoi(s)) + { + extn_have_buffer_age = 0; + glsym_eglSwapBuffersWithDamage = NULL; + } if (!strstr(str, EGL_EXT_buffer_age)) extn_have_buffer_age = 0; if (!strstr(str, EGL_EXT_swap_buffers_with_damage)) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index 7497eb2..efe9e3f 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -1397,8 +1397,15 @@ gl_extn_veto(Render_Engine *re) str = eglQueryString(eng_get_ob(re)-egl_disp, EGL_EXTENSIONS); if (str) { +const char *s; if (getenv(EVAS_GL_INFO)) printf(EGL EXTN:\n%s\n, str); +// Disable Partial Rendering +if ((s = getenv(EVAS_GL_PARTIAL_DISABLE)) atoi(s)) + { + extn_have_buffer_age = 0; + glsym_eglSwapBuffersWithDamage = NULL; + } if (!strstr(str, EGL_EXT_buffer_age)) { extn_have_buffer_age = 0; diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c index 0b33672..b088158 100644 --- a/src/modules/evas/engines/wayland_egl/evas_engine.c +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c @@ -179,8 +179,15 @@ gl_extn_veto(Render_Engine *re) str = eglQueryString(eng_get_ob(re)-egl_disp, EGL_EXTENSIONS); if (str) { +const char *s; if (getenv(EVAS_GL_INFO)) printf(EGL EXTN:\n%s\n, str); +// Disable Partial Rendering +if ((s = getenv(EVAS_GL_PARTIAL_DISABLE)) atoi(s)) + { + extn_have_buffer_age = EINA_FALSE; + glsym_eglSwapBuffersWithDamage = NULL; + } if (!strstr(str, EGL_EXT_buffer_age)) { extn_have_buffer_age = EINA_FALSE; --
[EGIT] [core/efl] master 01/01: ecore-imf: Added the device information in the Ecore_IMF_Event structs
jihoon pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c7af3af835ff838d5d6dba15240d20bd4af68029 commit c7af3af835ff838d5d6dba15240d20bd4af68029 Author: Wonkeun Oh wonkeun...@samsung.com Date: Tue Mar 24 10:26:20 2015 +0900 ecore-imf: Added the device information in the Ecore_IMF_Event structs Summary: Added the device information in the Ecore_IMF_Event structs. Applications may require to know actual source of key event to handle it differently depending on device. Even if key events are currently generated from different devices, application couldn't distinguish it. This patch will support device information for the Ecore-imf key events. Reviewers: jihoon Reviewed By: jihoon Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2214 --- src/lib/ecore_imf/Ecore_IMF.h | 34 + src/lib/ecore_imf_evas/ecore_imf_evas.c | 6 ++ 2 files changed, 40 insertions(+) diff --git a/src/lib/ecore_imf/Ecore_IMF.h b/src/lib/ecore_imf/Ecore_IMF.h index 5a8b781..53f6b7a 100644 --- a/src/lib/ecore_imf/Ecore_IMF.h +++ b/src/lib/ecore_imf/Ecore_IMF.h @@ -378,6 +378,7 @@ enum ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NORMAL, /** The normal password layout @since 1.12 */ ECORE_IMF_INPUT_PANEL_LAYOUT_PASSWORD_VARIATION_NUMBERONLY /** The password layout to allow only number @since 1.12 */ }; + /** * @typedef Ecore_IMF_BiDi_Direction * @brief Enumeration that defines the types of Ecore_IMF bidirectionality @@ -390,6 +391,33 @@ typedef enum ECORE_IMF_BIDI_DIRECTION_RTL /** The Right to Left mode @since 1.12 */ } Ecore_IMF_BiDi_Direction; +typedef enum _Ecore_IMF_Device_Class +{ + ECORE_IMF_DEVICE_CLASS_NONE, /** Not a device @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_SEAT, /** The user/seat (the user themselves) @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_KEYBOARD, /** A regular keyboard, numberpad or attached buttons @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_MOUSE, /** A mouse, trackball or touchpad relative motion device @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_TOUCH, /** A touchscreen with fingers or stylus @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_PEN, /** A special pen device @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_POINTER, /** A laser pointer, wii-style or minority report pointing device @since 1.14 */ + ECORE_IMF_DEVICE_CLASS_GAMEPAD /** A gamepad controller or joystick @since 1.14 */ +} Ecore_IMF_Device_Class; /** A general class of device @since 1.14 */ + +typedef enum _Ecore_IMF_Device_Subclass +{ + ECORE_IMF_DEVICE_SUBCLASS_NONE, /** Not a device @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_FINGER, /** The normal flat of your finger @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_FINGERNAIL, /** A fingernail @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_KNUCKLE, /** A Knuckle @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_PALM, /** The palm of a users hand @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_HAND_SIZE, /** The side of your hand @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_HAND_FLAT, /** The flat of your hand @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_PEN_TIP, /** The tip of a pen @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_TRACKPAD, /** A trackpad style mouse @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_TRACKPOINT, /** A trackpoint style mouse @since 1.14 */ + ECORE_IMF_DEVICE_SUBCLASS_TRACKBALL, /** A trackball style mouse @since 1.14 */ +} Ecore_IMF_Device_Subclass; /** A general subclass of device @since 1.14 */ + /** * @struct _Ecore_IMF_Event_Preedit_Start * @brief The structure type used with the Preedit_Start Input Method event @@ -575,6 +603,9 @@ struct _Ecore_IMF_Event_Key_Down const char *string;/** A UTF8 string if this keystroke has produced a visible string to be ADDED */ const char *compose; /** A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */ unsigned int timestamp; /** The timestamp when the event occurred */ + const char *dev_name; /** The device name of the key pressed */ + Ecore_IMF_Device_Classdev_class; /** The device class of the key pressed */ + Ecore_IMF_Device_Subclass dev_subclass; /** The device subclass of the key pressed */ }; /** @@ -590,6 +621,9 @@ struct _Ecore_IMF_Event_Key_Up const char *string;/** A UTF8 string if this keystroke has produced a visible string to be ADDED */ const char *compose; /** A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */ unsigned int timestamp; /** The timestamp when the event occurred */ + const char *dev_name; /** The device name
[EGIT] [bindings/python/python-efl] master 01/01: Evas.Rect: Use inline and nogil to optimize the intersection helper
kuuko pushed a commit to branch master. http://git.enlightenment.org/bindings/python/python-efl.git/commit/?id=3a143848324c03b647155fe295de4a2d05aa commit 3a143848324c03b647155fe295de4a2d05aa Author: Kai Huuhko kai.huu...@gmail.com Date: Tue Mar 24 05:05:28 2015 +0200 Evas.Rect: Use inline and nogil to optimize the intersection helper --- efl/evas/efl.evas_rect.pxi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/efl/evas/efl.evas_rect.pxi b/efl/evas/efl.evas_rect.pxi index 5d55f51..76dce95 100644 --- a/efl/evas/efl.evas_rect.pxi +++ b/efl/evas/efl.evas_rect.pxi @@ -19,7 +19,7 @@ from efl.utils.deprecated cimport DEPRECATED cimport cython -cdef int _spans_intersect(int c1, int l1, int c2, int l2): +cdef inline int _spans_intersect(int c1, int l1, int c2, int l2) nogil: return not (((c2 + l2) = c1) or (c2 = (c1 + l1))) --
[EGIT] [admin/devs] master 01/01: developer/jypark: update public key
woohyun pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=7f5b38603ac23c7304d561889e267009849feaff commit 7f5b38603ac23c7304d561889e267009849feaff Author: WooHyun Jung wh0705.j...@samsung.com Date: Tue Mar 24 11:24:22 2015 +0900 developer/jypark: update public key --- developers/jypark/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/jypark/id_rsa.pub b/developers/jypark/id_rsa.pub index 816a5ec..b1b734c 100755 --- a/developers/jypark/id_rsa.pub +++ b/developers/jypark/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAACAQDBF6g8OEG5lXgIQEetaPgajWVayVHCPJqAc4kN9N3219DTtPMgDr4UOYRJPFFweIIahRReMTu3caUlVnkc5OijrGjEqEODesAzKQ3OQOX6sr9rQ2NpIz3dRnH102SSKGqoGh8NeEGG713w6WRk1Gw0mGVbh2YZkpAskaZXi0815z0L307oGyKEHEcL4nsvQQ5PM52CiXRdzcgcEuDb+ntlwezh1zrQojr4Y4hlTfu0tNSaMAIM7NELCLDKay56paMIA4Y2OrPJrCXLVORwSg6+hrqCpv+1FcNBJbK6xY4YVcj4I6u1lW4X522qsjFMZLfKI3FajioOSqiydYQgEiq2MTK1EfkKnczLjvb2B8gL8uvrJpX38bUyhNbZzC0iwa9ApATtGZnkqNihXHVdwDt+2obmKMs2SFF4d2wamso5AizzCUH3ENfrQvhP88z4oe/d6SU0 [...] +ssh-rsa B3NzaC1yc2EDAQABAAABAQDEJzgZ5SvuOFlw6ydEXMLluacbxp9njs/1WdI1OyoIioL3U4u7tqMfcEQmiCoF0KyxFCPljG2Q3PYU998Wl8XPuF5xxsiGo4SLQIPqHrgD2ppFuLXYUbcx+1ud9fGkrOKd0mW59by0/otOHy3sWlZx/uv77VvpTkl7sffKvn2mmoNss8seWWSneQui6FTmBfhVP6lbnES0nBq4+3tls7a40RVL2dgVK9Cc2cLYh2IGjqWG5fSEdaU2cHJqXMoC77EXxyGsNmejzsbeX45cwWS8JnzW01v5zX7VcpSocoC/+XgbxSqtgMZrMQyRkIey6IeUaIpt7q4ngy45hKU0VFMJ jy0703.p...@samsung.com --
[EGIT] [core/efl] master 01/01: evas: Add safety check for NULL pointer of clipper.
hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b8b6c1e1a8dd461026c47f316475f2812d32eeb0 commit b8b6c1e1a8dd461026c47f316475f2812d32eeb0 Author: Youngbok Shin youngb.s...@samsung.com Date: Tue Mar 24 12:53:34 2015 +0900 evas: Add safety check for NULL pointer of clipper. Summary: It caused crash when clipper is NULL and it makes evas test-suite fail. Test Plan: Run evas test-suite. (make check) Reviewers: woohyun, tasn, herdsman, Hermet Reviewed By: Hermet Subscribers: cedric Differential Revision: https://phab.enlightenment.org/D2215 --- src/lib/evas/canvas/evas_object_text.c | 13 - src/lib/evas/canvas/evas_object_textblock.c | 13 - 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_text.c b/src/lib/evas/canvas/evas_object_text.c index 87c4d5a..e17bd63 100644 --- a/src/lib/evas/canvas/evas_object_text.c +++ b/src/lib/evas/canvas/evas_object_text.c @@ -2055,11 +2055,14 @@ normal_render: /* normal text */ ENFN-context_multiplier_unset(output, context); -ENFN-context_multiplier_set(output, context, - obj-cur-clipper-cur-cache.clip.r, - obj-cur-clipper-cur-cache.clip.g, - obj-cur-clipper-cur-cache.clip.b, - obj-cur-clipper-cur-cache.clip.a); + +if (obj-cur-clipper) + ENFN-context_multiplier_set(output, context, + obj-cur-clipper-cur-cache.clip.r, + obj-cur-clipper-cur-cache.clip.g, + obj-cur-clipper-cur-cache.clip.b, + obj-cur-clipper-cur-cache.clip.a); + COLOR_ONLY_SET(obj, cur-cache, clip); DRAW_TEXT(0, 0); ENFN-context_multiplier_unset(output, context); diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 7b836b3..7a70ac0 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -11669,11 +11669,14 @@ evas_object_textblock_render(Evas_Object *eo_obj EINA_UNUSED, int line_position = evas_common_font_instance_underline_position_get(NULL); ENFN-context_multiplier_unset(output, context); - ENFN-context_multiplier_set(output, context, -obj-cur-clipper-cur-cache.clip.r, -obj-cur-clipper-cur-cache.clip.g, -obj-cur-clipper-cur-cache.clip.b, -obj-cur-clipper-cur-cache.clip.a); + + if (obj-cur-clipper) + ENFN-context_multiplier_set(output, context, + obj-cur-clipper-cur-cache.clip.r, + obj-cur-clipper-cur-cache.clip.g, + obj-cur-clipper-cur-cache.clip.b, + obj-cur-clipper-cur-cache.clip.a); + ITEM_WALK() { Evas_Object_Textblock_Text_Item *ti; --