========= EFL 1.9.0 ========= Changes since 1.8.0: -------------------- Additions: * evas - Added eina_stringshare_ref call for fallbacks, lang in font description. * evas gl: added partial rendering support for qcom extension * Evas filters: Add a small utility to take some screenshots * edje - feature - add channel types for sounds and ability to mute them * ecore_evas: added window manager rotation to manage the rotation of windows by the WM. * Add quadruple swap mode for partial rendering * Evas filters: Implement advanced text effects * Evas filters: Add transform filter * Evas: Add support for Alpha buffers * ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER. * ecore_x: Added API - ecore_x_e_illume_window_state_send * Evas font: Added support for font fallback for eet/edje fonts. * eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb) * edje: Support to set or retrieve selection of ecore_imf * Add ecore_imf_context_selection_get API to allow Input Method to get the selected text. * eina: add eina_{str,bin}buf_manage_read_only_new_length(). * eina: add eina_binbuf_append_buffer() and eina_strbuf_append_buffer(). * edje: use luajit by default, if you want lua use --enable-lua-old * ecore-x now supports XPRESENT * evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs * evas gl - prefer alpha4 format for font textures if possible (save memory) * Edje: add edje_object_part_text_input_panel_show_on_demand_set/get() * emotion: initial port of emotion to GStreamer 1.0 * edje: edje_edit - adding getter and setter for smooth parameter * edje: edje_edit - adding API to move to the specified place in the parts stack * edje: edje_edit - adding getter and setter for text source * edje: edje_edit - adding getter and setter for text style * edje: edje_edit - adding edje_edit_group_copy. * Ecore_Avahi: initial commit. * edje: adding Alias API into edje_edit module * edje embryo now supports reset_timer() * Ecore: add DnD abort from source * ecore_evas/wayland: Add a function to cleanup the frame callback. * Adding the cubic-bezier curve to edje transitions * Eldbus: added function for getting bus unique name * edje_edit: Add getters and setters for fixed param Improvements: * evil: don't depend on the toolchain defined macro. * emotion: lower severity of a simple warning. * ecore_evas_fb: allow to force tslib even if mouse was handled. * autotools: detect cross compilation. * Evas filters: Improve test coverage of the filters * Evas filters: Add render test cases with pixel verification * Evas textblock tests: Improved textblock word start/end tests. * configure - add warning for non /usr prefixes! * Evas textblock tests: Add a wrapping test for complex cluster wrapping. * ecore-evas - sdl module - limit to 1 window at a time * Edje/entry: Add propagation handling in mouse_out for link anchors (T878) * Emotion test: rename speed slider to alpha as it should be. * Emotion test: New volume slider. More readable alpha text. * distribution cleanup - remove os/arch from module dirs and simplify version * eina: allow eina_time_get to fall back to other clocks if the first one fails * configure - add big complaint section if you use off configure options * Evas textblock: Added a test for rendering of spaces in some cases. * evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride. * evas: add eglMakeCurrent in evas map create/free. * evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48 * Edje entry: Enable allow_set for DEFAULT select mode. * Edje entry: always finish selection when mouse is up. * Evas textblock: Added tests for *_cursor_char_coord_set. * Evas filters: Disable proxies with the GL engine * Evas filters: Add support for proxies in Edje * Evas filters: Implement basic Edje support * Evas fonts: Pass RGBA_Image instead of DATA32 buffer * Evas text utils: Check syntax in color parse * autotools: use libevil libdl implementation. * evas: gl backend - ensure eng_window_use in image_content_hint_set * Evas font: Change font fallback to not depend on fontconfig >= 2.11. * Evas textblock: Improved error messages when detecting errors in markup. * evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API. * Evas font: Renamed evas_load_fontconfig and added support for a base set. * edje: call imf reset before selecting text area * Updating hungarian and italian translations * Evas font: Added support for the freetype spacing tag (T865) * Evas font: Added support for weight/width/slant font tags. * Evas textblock: Added a test for range geometry with bidi text. * allow --without-tests in addition to --with-tests=no * Registers a fallback handler for a given subsection of the object hierarchy. * ecore_imf: Add selection_set callback type to allow Input Method to select a region of text * Synced libunibreak local copy with upstream (T805) * ecore_getopt: support for per-category help listing * eina-inlist - handle prepend/append relative if list is null (empty) * eet: reduce memory usage of Eet internal structure by removing useless structure. * edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb * emotion: Use the GStreamer 1.x module instead of the 0.10 one in the border example application * edje_entry: When preediting, cursor should not be moved. * ecore_getopt: support for categories * Textblock: Add test cases for style padding * ecore_x: set cursor with xinput2 * ecore xcim module - don't printf every time you start to add stdout noise * emotion gstreamer1: Set visualizations if the vis name is not NULL * emotion gstreamer1: Also handle DATE_TIME tag * emotion gstreamer1: Don't forget to allocate metadata struct * emotion gstreamer1: Implement seekability check via seeking query * emotion gstreamer1: Add support for selecting subtitle channels * emotion gstreamer1: Volumes > 1.0 are valid too * emotion gstreamer1: Add support for buffering and clock-lost handling * emotion gstreamer1: Major cleanup of internal and GStreamer state handling * emotion gstreamer1: Don't set pipeline to PAUSED during seeking * emotion gstreamer1: Use GST_PLAY_FLAG_VIS instead of the corresponding integer * emotion gstreamer1: Don't use the NATIVE_AUDIO/VIDEO flags * emotion gstreamer1: Use refcounting instead of in/out variable counting * emotion gstreamer1: Simplify pipeline creation * emotion gstreamer1: Some code re-flow in the GStreamer bus handler * emotion gstreamer1: Use GStreamer's path/URI handling functions instead of writing our own * emotion gstreamer1: Rename functions and variables for clarity * eina: add test case - eina_list_clone, eina_list_reverse_clone * ecore: use WIN32 API to port readdir_r in ecore thread example * autotools: really don't build Unix specific example on Windows * ecore_x: Set data of selection event for XDND selection * ecore: don't build Unix specific example on Windows. * configure: correctly detect C99-capabilities for ecore_con_resolver * win build - check for pause func and use only if its there * setuid safeness - ensure if an app that is setuid doesn't do bad things * evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa * efl - build - add warning about gnutls to configure and dropping privs * evas: let's use HUGETLB when it makes sense. * edje: be more informative when and where a file was not found. * Use key instead of keyname for considering setxkbmap * Major cleanup of the Emotion GStreamer 1.x video sink * Updating serbian and italian translations * evas: disable use of mmap on windows for allocating pixels buffer. * eina: make eina_binbuf_free and eina_strbuff_free accept NULL. * scimimmodule: support super key (between ctrl and alt key) * scimimmodule: code refinement related to key modifier and lock * ibusimmodule: support CAPS LOCK and NUM LOCK * configure - add warning when enabling xcb * Blending function rework and speedup * emotion - generic - set play after setting mutes and play speed etc. * evas: improve textblock rendering by walking even less in all case. * ecore-x - add call to create a permanent window that is not deleted on exit * Adding hungarian translation * Evas test textblock: Added a test for a broken range_text_get case. * edje: edje_decc - added -output flag (save to specified dir) * evas - jpg loader - speed up header check for pgoressive jpgs * Remove ecore_imf_context_reset in focus-in event handler * autotools: Evil is actually needed on Windows add the correct line for Ecore_Avahi. * getopt: add positional argument handling. * Evas test textblock: Added a test for a broken range_delete case. * Evas textblock: Added more range_delete tests. * ibusimmodule: support preedit style * emotion: make webcam initialization lazy and non blocking (T648) * rebase dns.c from upstream * autotools: detect systemd to warn user they are required to use --enable-systemd to turn it on. * autotools: let's try this variant for detecting c++ compiler availability. * Evas tests: Add invalid markup test * ecore-evas - disable comp syncing by default (can be turned on though still) * Evas textblock: Slightly improve paragraph items freeing. * ecore evas - add animator update syncing to only render on animator ticks * ecore loop + animator - add call to get if an animator cb has run this iter * evas - Clip mark performance improvement * efreet: propagate scan error to caller * eina: this is actually a better way of improving Eina_Hash performance. * eina: fuzze test the eina_hash_string_superfast to. * eina: increase hash matching inside of Eina_Hash. * eina: add fuzzy test of eina_hash. * eina: add fuzzy testing of the red black tree. * Implement withdrawn_set/unset on Wayland engines. (T155) * ecore_evas/wayland: Implement ecore_evas_withdrawn_set. * Update Korean translation for the efl1.8 release * NEON vectorization: added use of COLSAME define in map routine * configure: add optional solution to alert * ecore_evas_object_example: Added cursor unset example. * Emotion generic: change the log domain name to be consistent with others domains. * Emotion test: added --loop and --position args. * Emotion generic: remove the player restart hack. * eina: reduce log to warning when not found. Fixes: * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e. * edje freeze count can no longer become negative * Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11." (T1006) * Evil: Fix parallel build for Windows * Emotion Generic: receiving the size on opening is correct. * edje: Edje_Edit - make sure we don't use an not initialized value (CID 1181885 and CID 1181888) * Evas textblock: Fixed a few word start/end issues (T995) * ethumb - fix clients going right to disk and getting half written thumbs * edje: fix custom allocator with luajit * Evas text utils: Fixed walking compound clusters. * evas/image - update dirty region in the render time. * Gif: Fix animated gifs when used as proxy sources * Emotion test: no need for an animator to update the time string. * Emotion test: no need to search for a folder that no more exists * Emotion test: add the volume slider also to the Reflex group. * Emotion test: Removed volume key bind. EINA_UNUSED-- * edje: fix Eo ids, to make Eolian keep silence * evas/common: fix segfaults in evas_map_image_loop.c * eina: fix in eina_rectangle_pool to make sorting effective * eet - dump - if group type is not a handled type, assume unknown (CID 1039307) * evas - table - fix theoretical leak that likely will never happen (CID 1039663) * evas - gl - core - checke for wrong context in error check (CID 1135266) * evas - gl x11 - fix glx texture from pixmap target rectangle mode check (CID 1135267) * edje - edje_cc - remove logically dead code (CID 1135268) * evas cserve2 - fix chekc of wrong return type (CID 1135269) * evas - gl core - don't access null ptr on init (CID 1135270) * edje - fix bunch of possible null return errors with checks (CID 1135274 CID 1135272 CID 1135275) * evas filter - fix uninitialized pointer in evas (CID 1174077) * evas - filter - don't use longs when DATA32 is the right type (CID 1174078) * evas - filters - remove logically dead code (CID 1174084) * evas - proxy source visible check not done on update del (T842) * edje segv on file update - try and fix this. not sure if this caused it * edje - fix probable leak by ensuring current prog is freed on real part free (T923) * Evas textblock: Fixed colour setting for textblock formats (T926) * Evas textblock: Fix rendering of spaces in some cases (T924) * Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs * ecore_x_selection: fix selection data freeing * in case font_instance is null in text_props... avoid using it * Evas Textgrid: Don't leak an eina_stringshare when scale_update is called. * evas - textblock ... fix valign handling to actually work as documented * evas text filter - fix va_arg usage to not cause compiler internal errs * ecore_x: fix wrong Atom name. * Evas textblock: Fixed *_cursor_char_coord_set with some y values. * ecore-x xpresent - fix build if you DONT have xpresent there. * edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE * eina: restore magic debug option for ABI compatibility purpose. * edje embryo reset timer should probably call the reset function * Patcna: fix wrong widgth and height in eina_rectangle computation logic. * evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a * Evas textblock: Fix selection with bidi text. * fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios) * Edje entry: Fix memory corruption (of by one in allocation) (T867) * Edje entry: Fix anchor href parsing. * entry: clear selection before selecting new one * checking for libmount newer than 2.19.0 means newer, not older * configure: Add ecore-imf to ETHUMB_INTERNAL_LIBS * eina: fix test suite for rwlock... hopefully. * evas: textgrid - fix crash in terminology with rare characters. * embryo: force the insertion of a '/' in the path to be sure that file path make sense. * eina_tls: fix calls to TlsFree * ecore_imf: fix to call function of immodule when the input method property is changed * embryo_cc - remove trainling / from path for windows stat so it works * Evas: Fix proxy rendering for animated objects (T832) * eina: do not access dead pointer from within valgrind macro. * ximimmodule: fix dereference after null check (CID 1162749) * okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get * nul terminate string from ecore_x_randr_output_name_get * Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx() * _op_blend_c_dp_neon miscalculation fix * eet_data: guarantee double-word alignment for temporary stack buffer. * eina/mp/one_big: fix alignment issues. * configure: include required NEON build flags. * ecore_x: Fix to handle paste null data case. * evas: Fixed to compare current render_op with previous render_op for textblock. If the render_op is changed, call evas_object_render_pre_prev_cur_add. * Evas cserve2: Fix invalid memory access * emotion gstreamer1: Call _emotion_frame_new() for audio-only streams without visualisations too (T767) * Textblock: Relayout if needed in line geometry get * Textblock: Fix padding with styles (part 2) * Textblock: Fix padding computation (part 1) * Evas/cserve2: Add some safety checks when reading socket messages (CID 1039571 and 1039572) * Evas/cserve2: Remove dead code (CID 1039925) * Evas/cserve2: Stop looking at those dirty pics! * Evas/cserve2: Fix potential crash in image_free * Eio monitor: Fix crash on invalid data access * Evas/cserve2: Keep image_id when reopening a changed file * Evas/cserve2: Clear up File_Data when opening a new image * Evas/cserve2: Rename "invalid" field to "changed" * Evas/cserve2: Add another load error check * Evas/cserve2: Fix crash on image file change * Evas/cserve2: Fix crash in server on file change * Evas/cserve2: Fix memleak during shutdown * Evas/cserve2: Use calloc instead of malloc * Unbreak ecore_evas wayland engines * evas - cserve2 - avoid segv accessing im->cache * evas gl - fix egl/gles build after alpha4 change for fonts * ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle exceptional case. * eina: fix memory leak of inserting the wrong value in the hash. * evas cserv2 - remove logical dead code (CID 1113441) * cserve2 - debug bin - fix theoretical leak of socket fd (CID 1039286) * eina lock posix - remove dead code in eina_spinlock_take (CID 1106340) * examples: fix pointer <-> int conversion (windows 64 bits) in ecore and evas examples. * examples: do not do void* arithmetics in evas examples. * example: fix uninitialized variable in ecore. * evas - unbreak gl font rendering with dst pointer checks * evas - sw render - protect against null pointer surface access * Evas/cserve2: Fix valgrind warning about uninitialized memory * Evas cserve2: Fix crash in cserve2 when slaves die * eio - protect against posible segv on rename with eio * eina: Eina_File - don't leak memory when file is not found. * ecore_imf_example: remove wrong implementation code. * eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier. * eina: fix build break on systemd based system. * ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break. * ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP. * evas - sw render - map render neon broken for expedite 45/46 disable * evas - fix neon scale code * ibusimmodule: fix segmentation fault * edje - fix edje lua usage for lua 5.2 to not go crazy on memory allocs (T323) * evas - set clipees list to NULL on free to avoid access * ecore-evas - x11 - call resize callback if wm denies resize request * ethumbd - stop using an idler that spins at 100% cpu while generating queues * ethumbd - if thumb gen takes too long don't just quit ethumbd, but skip thumb * ethumbd - drop priority to 19 like efreetd so it lurks in bg as much as it can * efreet - minor formatting and move set prirority to very start * Evas textblock: Fixed range_text_get bug with multiple text nodes. * emotion: don't duplicate storage of audio/video stream metadata in GStreamer 1.x backend. * evas - gl engine - glerr should be off by default for performance * emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock * eina: struct _Eina_Rbtree contains an enum bitfield, which is a GNU extension not specified by C99. * emotion: remove (broken) X11 integration from the GStreamer 1.x backend. * evas gl engine - ensure on texture delete we never leave a cur tex id dangling * evas - gl-x11 engine - don't re-init engine window on rotate * evas - protect against table cache being null and then used * evas: limit how many times we walk over items. * ecore: allow out-of-source build of ecore_xcb_keysym_table.h. * evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field * ecore: remove dead free (CID 1139955) * ecore: fix shutdown when using system module. * ecore: fix tests to avoid failure on successful initialization. * ecore_audio: update test to not look at ecore_init return to much due to system module. * eldbus: fix tests to properly take into account the presence of ecore system module. * eldbus: don't do a double initialization due to ecore module using eldbus now. * edje: edje_edit - fix .edc file generation * evas - redraw the map surface if one of the children has been still changed map. * emotion_generic: fix permissions, resource leaks and error handling. * bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on * extn: remove unused attribute am_server. * extn: complete with NULL newly added functions. * evas: no loader should ever close an Eina_File anymore (T674 and T668) * evas: patched evas_map_image.c to use NEON code * evas - render - clear out pending object array more aggressively * Fix leak + possible segfault in edje_edit. * edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class. * ibusimmodule: fix dereference after null check issue * evas - tiler - fix missing clip of first rect to outbuf size * ecore/ecore_x - show the window if the window should be visible. * Evas textblock: Fixed range_deletion bug with multiple visible formats. * bugfix: eldbus code generator struct members named "proxy" should not be passed to eina_value_free. * edje_edit - fix mem leak of src strbuf on print status (CID 1039263) * edje - edje_edit - don't access collection after it is freed (CID 1137855) * emotion - webcam - don't access after free and ensure it is not in list (CID 1137853 and CID 1137854) * evas - fb engine - fix mem leak if ioctl fails on fb mode (CID 1137852) * ecore-file - fix mem leak in ecore_file_app_exe_get() on restart (CID 1039279) * evas - software-x11 - fill in unused struct members to avoid uninitialized CID 1039548 * bugfix: make eldbus generated code not crash on every single generated event * Evas textblock: Fixed deletion of ranges ending with visual formats. * ecore_file - finding exe path - if HOME is not set a leak could happen (CID 1039279) * eina - eina_file - fix leak of fd is fd is 0 (CID 1039181) * fix fd leak in emotion webcam where fd of value 0 never closed (CID 1039175) * ethumbd - fix possible out of bounds access to work table (CID 1039314) * edje - epp - fix possible array access by negative (CID 1039357) * ecore - utils - makekeys - fix uniitialized arrays (CID 1039547 and CID 1039546) * eeze - fix uninitialised sigation struct content (CID 1039552) * edje_decc - fix possible use of uninitialized string (CID 1039553) * ethumb - ensure buf is nul terminated (CID 1039577 and CID 1039576) * ecore-con - fix possible unterminated buffers (CID 1039725 and CID 1039724) * Edje: Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb. * emotion: fix potential memory leak when webcam register fail. * ecore_con - dns.c - re-fix coverty double-free. coverity was and is right (CID 1039909) * evas - fix gif loader drop of image data sometimes (image dump/flush) * embryo - embryo_cc - argv parsing MIGHT leave str buf not nul terminated (CID 1039726) * evas - evas gl - fix realloc failure case to handle it properly * evas - evas_gl - fix shader patch to not free static strings (CID 1039653) * eet data encode - dont free data if its not separately allocated (CID 1039728) * evas - font dir - remove from hash before free/del (CID 1039889) * ethumb - client lib - fix access of async item in idler after free (CID 1039892) * ephysics - fix real access-after-free issue on delete of constraint (CID 1039895) * edje - edje_pick - fix coverty access-after-unref issue (CID 1039916) * edje - edje_cc - fix coverty issue of not exiting loop for box items name (CID 1039918) * evas - textblock - fix dbg_info_get to avoid leak if root is NULL (CID 1040007) * evas - cserve2 - fix uninitialized member "image_id". (CID 1042303) * evas - gl - use snprintf for safety (never likely anyway, so code was fine) * edje - edje_cc - try and make coverty ignore the leak (invalid) (CID 1132627) * evas gif loader - address animated always being true (CID 1135790) * autotools: fix complain about using subdirs without the right option. * autotools: make systemd dependency detection automatic. * gif loader - handle theoretical NULL loader_data case * ecore_x: ensure positive malloc size (CID 1135636) * evas - fix gif loader cpu overuse - used too much cpu to decode anims * ecore_x: remove double free (CID 1135637) * Evas textblock: Fix crash with empty markups values * ecore_imf/wayland: Only call hide_input_panel on im_context_hide() (T237) * autotools: work around buggy macro to force C++ compiler detection. * ecore_evas/wayland: Update withdrawn property, and inform state_changed. * Evas/cserve2: Fix crash during shutdown * Evas: Fix crash in GL engine(s) during preload cancel * Fix opaque windows becoming transparent after hide() then show(). * ecore_x: Fix buffer overrun (CID 1039584) * ecore_x: Fix bug in ecore_x_region_invert (CID 1039469) * ecore_x: Remove NULL check (CID 1039648 and 1039649) * ecore_x: supported isn't an optional argument (CID 1039430) * ecore_x: Only use att if call succeeds. (CID 1039692) * ecore_x: Only do memset if len < 20 (CID 1039311) * ecore_x: always free data and return value * ecore_x: Check if we have data (CID 1039264) * ecore_x: '\0' terminate converted text (CID 1039310) * ecore_x: Only send XdndEnter when we have types (CID 1039693) * ecore_x: Also check for !prop here (CID 1039429) * eldbus: Check return value of eina_value_pget (CID 1039685) * eldbus: use alloca to allocate local mem (CID 1039179) * eldbus: unref msg on error (CID 1039178) * eldbus: on error unref msg (CID 1039177) * eldbus: free allocated mem on error (CID 1039177) * eldbus: print error when fwrite fails (CID 1039715) * eldbus: Check return value of _type_size (CID 1039436) * eldbus: create object when needed (CID 1039287) * eina: Set it to NULL before next iteration (CID 1039913 and 1039914) * evas - fix overdraw + too many rects problem found in some expedite tests * efreet - fix recusrion checks need to pop as well as push. * ximmodule: fix issue the cursor of preedit shows the in front of preedit string * Fix raster bug report about elm window resize issue (content drawing outside the window). * Update the engine resize edge before we call ecore_wl_window_resize * efreet - protect efreetd from recursing too far to save overhead and mem * eina: improve cmp function of eina_hash string related hash. * Revert "eina: work around current strange behavior seen in eina_cow." * Revert "eina: check if the complete hash match before checking if the key match during children walk." * evas: fix loader to properly define _XOPEN_SOURCE for Solaris. * efreet: Create stack at start of recursion (CID1132751 and CID1132752) * efreet: Create stack at start of recursion * eina: work around current strange behavior seen in eina_cow. * evas/event - fix the inccorect event hit area. * evas: bugfix in evas_render of not maintaining changed flags on object correctly. * ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set (CID 1135273) * ecore_evas/wayland_egl: Unset the surface on window hide. * evas/wayland_shm: Don't use a global var to store the sent buffer. * Revert "fix smart sma by allowing more recursion" * fix unchecked return value of stat in ecore_file_mv (CID 1039697) * textgrid - with new fallback fonts we cant depend on glyph extents anymore * textgrid - out-of-bounds chars cause update artifacts - fix. * Emotion test: fix calculation of the displayed time. Removals: Changes since 1.7.0: -------------------- Additions: * Add --with-api=XXX (both|legacy|eo) * Evil: - Add mkdtemp. - Add evil_rename() a wrapper for rename(). - Add strsep(). * Eina: - Add DOCTYPE children parsing in eina_simple_xml - Add eina_barrier thread API - Add eina_tmpstr_add(), eina_tmpstr_del(), eina_tmpstr_add_length() and eina_tmpstr_strlen(). - Add eina_thread API - Add eina_list_last_data_get - Add eina_xattr_fd_get(), eina_xattr_fd_set(), eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and eina_xattr_fd_copy() - Add eina_stringshare_refplace() - Add eina_file_copy() - Add eina_log_print_cb_journald() - Add eina_list_shuffle() - Add eina_file_mkstemp() - Add eina_log_timing() - Add eina_inlist_first - Add eina_inlist_last - Add eina_str_convert_len() to work around broken eina_str_convert() - Add eina_file_dup() - Add eina_tiler_area_size_set(), eina_tiler_strict_set(), eina_tiler_area_size_get() - Add eina_file_map_populate() - Add eina_tiler_empty() - Add eina_file_virtualize() and eina_file_virtual() - Add eina_file_refresh() - Add eina_rectangle_is_valid(), eina_rectangle_max_x(), eina_rectangle_max_y(), eina_rectangle_x_cut(), eina_rectangle_y_cut(), eina_rectangle_width_cut(), eina_rectangle_height_cut(), eina_rectangle_subtract(), EINA_RECTANGLE_INIT, EINA_RECTANGLE_FORMAT, EINA_RECTANGLE_ARGS. - Add eina_f16p16_double_from(), eina_f16p16_double_to(). - Add eina_swap16(), eina_swap32(), eina_swap64(). - Add Eina_Spinlock API. * Eet: - Add eet_mmap() - Add eet_data_descriptor_name_get() - Add support EET_T_VALUE - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED() - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC() * Eo: - Add generic efl object infrastructure - Add debugging facility - Make eoid use mmaped tables from anonymous memory for safety. * Evas: - Add WebP image loader and saver modules. - Add ellipsis support in Evas_Object_Text. - Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas. - Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory allocation policy for EvasGL direct rendering. - Add engine specific alpha_get. - Add multiple output support API. - Add buffer age support to gl for automatic partial redraws. - Add GLX_MESA_release_buffers suppport to release unused buffers. - Add multiple font draws support to engines - Add Cserve2 scalecache support - Add evas_object_image_source_clip_set()/get() - Use eina_file_virtualize() for evas_object_image_memfile_set(). - Change mapping policy for image loader. - textblock: Use max ascent/descent at the edges of the textblock. - textblock: Make the ellipsis format the same as the surrounding. - Add interceptor for focus_set. - Evas font: Use our own fontconfig configuration so we don't get affected by changes made to the default fontconfig configuration. - Evas font: Make the evas_font_path_* functions apply to fontconfig searches. - Add JPEG 2000 loader. - Evas textblock: Use correct font underline properties when drawing underlines. * Ecore_X: - Add window profile support. ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED ECORE_X_ATOM_E_WINDOW_PROFILE ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE ecore_x_e_window_profile_supported_set() ecore_x_e_window_profile_supported_get() ecore_x_e_window_available_profiles_set() ecore_x_e_window_available_profiles_get() ecore_x_e_window_profile_change_send() ecore_x_e_window_profile_change_request_send() ecore_x_e_window_profile_change_done_send() ecore_x_randr_crtc_info_get() ecore_x_randr_crtc_info_free() ecore_x_dnd_self_begin() ecore_x_dnd_self_drop() support for text/x-moz-url DND operations - Add atom related with indicator type. - Add manual render code before deiconify - Add accessibility support. ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE - add error messages for xlib ECORE_X_ATOM_XDND_DIRECTSAVE0 - add ECORE_X_SYNC env variable for xlib backend * Ecore_Wayland: - Store global wayland interfaces in a globals list so wayland programs can bind to other non-standard wayland protocol extensions. - ecore_wl_globals_get() - ecore_wl_registry_get() - Add #ifdef __cplusplus to Ecore_Wayland.h so C++ programs can link to and use the API. - Add support for double and triple click. - Add ecore_wl_window_alpha_set/get(). * Ecore_Evas: - ecore_evas_window_profile_supported_get() - ecore_evas_window_profile_set() - ecore_evas_window_profile_get() - ecore_evas_window_available_profiles_set() - ecore_evas_window_available_profiles_get() - ecore_evas_sub_ecore_evas_list_get() - Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas. - Add window profile support to ecore_evas_extn. - Add window profile support to ecore_evas_buffer. * Ecore_Getopt: - Add ECORE_GETOPT_ACTION_BREAK * Ecore_audio: - Add PulseAudio backend. - Add Alsa backend. * Ecore_Input_Evas: - Add infrastructure to handle buggy touchscreen. * Edje: - textblock: Added support for size_range. - table: Added spread.{w,h} to repeat and automatically name an item in a TABLE part. - add embryo fill support for proxy parts - entry: Added selection handlers. - Add edje_object_part_text_input_panel_layout_variation_set/get API - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout - support edc proxy.source_visible, proxy.source_clip - support edc map color set - Add threshold support to Edje draggable part. - Reduce load time of Edje_Object using Evas_Object_Textblock and many styles. - Add edje_object_mmap_set. - Fix play sample parameter checking. - Add border information to Image sets. * Eeze: - Add a dummy libmount replacement for when libmount is not there. * Ecore_Con: - Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE). * Ecore: - notify systemd that we are ready as soon as the main loop is running. - automatically support Watchdog. * Ecore_Imf: - Add ecore_imf_context_input_panel_layout_variation_set/get API - Add ecore_imf_input_panel_hide API - Add ecore_imf_context_input_panel_event_callback_call, clear API - Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout - Add ecore_imf_context_input_panel_on_demand_set/get API * Eio: - Add eio_eet_sync symbols. Deprecations: * Ecore_X: - Old profile stuffs. ECORE_X_ATOM_E_PROFILE ECORE_X_ATOM_E_PROFILE_LIST ecore_x_e_window_profile_list_set() ecore_x_e_window_profile_list_get() ecore_x_randr_crtc_gamma_ramp_size_get() ecore_x_randr_crtc_gamma_ramps_get() ecore_x_randr_crtc_gamma_ramps_set() * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8. * Eeze: deprecate libudev<148 and libmount<2.18 Removed: * Evas: - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8. - Remove svg loader from inside the tree. * Ecore_Evas: - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8. * Ecore_DirectFB: - Removed * Eina error status: - eina error status from efl now don't also report error in addition to return. Improvements: * EFL: - Single EFL tree covering all EFL library components. - All efl object-freeing functions now take NULL without crashing or erroring - Use the right macro to disable fcntl. * Translations updates: - french. * Eina: - Speedup Eina Rbtree Iterator by recycling memory instead of repeatedly calling malloc/free. - eina_magic_fail() now throws error messages on NULL pointers instead of critical - Eina.h includes eina_alloca.h/alloca.h to define alloca() - Faster eina share del. - Don't over align data if they are already aligned. - Eina_Tiler now take tile size into account. - Improve support for 64bits system. - eina_strlcat now work with a NULL source. - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool. * Eet: - Display more information with eet -l -v. - Force thread to always run during eet_cache_concurrency test. - Use Eina_Spinlock for locking dictionnary instead of Eina_Lock. * Evas: - Reduced number of enqueued font commands when rendering textgrid objects - Use Eina_File in webp, gif, tiff, png and eet loader - Upgrade liblinebreak to latest version of libunibreak. - Improved support for 64bits system. - GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders. - Textblock: Added proper size adjustments for "high" shaped texts. - Textblock : Added split cursor for BiDi text - Works around MESA/intel xorg bug where alpha channel of non-argb windows is not filled in with 0xff. - Update the map smart members really when it needs to render. - Reduce memory footrpint with evasgl to only make context on demand. - Reduce waiting on gl so it cvan fully run async from cpu. - GL engine don't map dri/drm buffer unless we are going to render. - GL engine get partial rendering support for several gl drivers. - Turn on scissors always to abe able to to partual render on some GL implementations properly. - Use eo array of callbacks to reduce callbacks memory footprint of Evas_Object_Box and Evas_Object_Table. - Optimized path for when map use the same color for all corner. - Asynchronous preload of GL texture. - Add neon assembly for upscaling and map routines - Use mmap/munmap for image data allocation on system that have mmap. - Add iterator for walking child of smart objects, table and a box. - Use Eina_Spinlock for Evas_ScaleCache, Evas_Async_Events and Image_Entry. - Allow fuzziness on the texture format returned by GL. * Ecore: - Use Eina_Spinlock for Ecore_Thread. * Ecore_Con: - Rebase dns.c against upstream - URL support now dynamically loads libcurl at runtime via eina_module. * Edje: - Entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event. - Entry: remove ecore_imf_context_reset in mouse up event because it's useless. - Entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless. - Entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event. - Entry: remove ecore_imf_context_cursor_position_set in functions related to selection. - Entry: support &, < and > in preedit string. - Entry: remove duplicated ecore_imf_context_reset in adjusting the selection. - Entry: emits signals on keydown/up for theme to use. - Entry: move cursor to correct position when selection handlers are pressed. - Use ecore_audio in edje-multisense - Reduce memory consumption of Edje program handler. - Use Eina_Cow to reduce memory usage. - Use eo array of callbacks to reduce callbacks memory footprint. - Improve accuracy of part positioning by keeping rounding information as long as possible. * Ecore_Evas: - wayland-egl only renders now if last frame has been presented. * Embryo: - Use eina_file_mkstemp(). * Ecore_Audio: - Use eo api to batch more * Evas: optimize proxy rendering. Rendering performance is increased up to 2x in some cases. Fixes: * Eina: - Fix return value of eina_mmap_safety_enabled_set() and future eina_mmap_safety_enabled_get() returns after success. - Don't leak fd on exec. - Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls() - Fix eina_prefix_new() with debian multilib without magic check file. - Prevent potential denial of service on eina_hash function. - Fix memleak in Eina_File. - Fix memory leak in eina_xattr_value_ls. - Fix magic failure in eina_value_array_count when array has not been allocated. - Fix issue when wchar_t is signed and eina_unicode does negative array lookups. - Fix eina_file_map_lines() to not drop of one character in the last line. - Fix a possible race condition during eina_file_close(). * Eet: - Fix PPC (big endian) image codec bug. - Fix leak in eet_pbkdf2_sha1 with OpenSSL. - Fix possible buffer overflow in functions relying on EET_T_LAST - Fix endianess issue in Eet_Image. - Fix eet_mmap to use caches for lookup so it shares with everyone. * Evas: - Fix GLX native surface handling to use glXChooseFBConfig. This frixes a break in compositing on new intel mesa drivers. - Fix glGetIntegerv() in Direct Rendering mode for Evas GL to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters. - Fix textblock textprop leak. - Fix evas_object_box to reset size_hint_min to zero when no child. - Don't leak fd on exec. - Fix polygon rendering bug in GL backend when there are cutouts. - Fix the gl line incorrect position drawing. - Fix potential segv in software engine native_set code. - Fix uninitialized data in Evas OpenGL engine. - Fix the line drawing clipping problem on arm gl driver. - Fix Evas RGBA_Image->flags.loaded for copied images. - Fix evas_object_image_is_inside() - Fix mask write lines to not choose too small segments. - Fix build of Evas XCB backend. - Fix evas bmp loader code which deal with image size. - Fix not up to date clip cache for Evas_Object_Text. - Fix a bug with breaking after format items in Evas_Object_Textblock. - Fix issue with line height when breaking on a format in Evas_Object_Textblock. - Fix SIGFPE in evas map update if image is 0. - Fix issue and simplified cursor_geometry_get in Evas_Object_Textblock. - Fix issue with horiz advance in Evas_Object_Text. - Fix issue with no-harfbuzz bidi in evas text utils. - Fix pixman surface alloc where allocated and image size differ. - Fix evas gif loader to return the correct frame duration. - Fix a selection issue with different scripts and bidi in Evas_Object_Textblock. - Fix bug not to display preedit string with PREEDIT_TYPE_NONE style in Evas_Object_Textblock. - Fix bug candidate word couldn't be selected with up/down key in the preedit status in Evas_Object_Textblock. - Fix Evas_Object_Text when LTR and RTL are used in the same paragraph. - Fix bug with the text object direction detection. - Fix font run detection for specific cases with 2 different fonts in the middle of a run. - Remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly. - Fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists. - Fix Evas_Map to not crash even if image size is 0. - Fix evas word start/end find in textblock to be consistent with other toolkit logic on the matter. - Fix evas buffer engine allocation with non alpha output. - Click on left/right half of char does matter now. - If OS/2 table is available and the font is demi-bold, don't do runtime emboldment. - Fix font source have wrong current size. - Fix over redrawing of Evas_Map when applied on smart object. - Fix a bug with cluster size calculation with texts ending with ligatures. - Don't update evas update area by the clipper if the image obj visible is changed. - Fix gif decoding bug related with background color. - Fix gif bug related with scale down decode. - Fix a bug with deletion of ranges that end just a visual format in Evas_Object_Textblock. - If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case. - Fix evas gl_x11 in 16bpp and lower depths than 24/32 bpp. - Fix recursive proxy image rendering to just render black. - Fix line size calculation when using multiple fonts in a Evas_Object_Textblock. - Fix gif loader can't load image which has normal frames and error frames. - Don't try blend on gl backened if the render option is COPY. - Fix Evas_Object_Text line size calculation when using multiple fonts. - Fix crash if app use native surface in wrong engine. - Fix textblock to render pre again if it needs to relayouting. - Fix textblock ascent/descent calc to use superset of fontset data. - Fix evas gl partial swap to keep full renders if auto mode switching. - Fix memory leak in evas dri/drm swapbuf path. - Fix string leak in evas dri/drm swapbuf. - Fix evas proxy_unset of NULL image. - Fix slowness in glmap/unmap buffer by default in evas gl engine. - Fix evas segv on image del if loader is NULL. - Fix evas swapregion rect to account for rotation. - Fix "always scissor" to not break map in evas gl engine. - Fix nvidia texture from pixmap config depth match to be looser to avoid non-matches. - Fix evas gl engine to work in 16bpp nicely. - Fix native surface to be more anal about depth matching. - Correctly detect if a loader support asynchronous preloading. - Improve stability of Evas_Cserve2. - Fix gif cannot decode alpha value correctly. - Fix bs if app call image object update add after call api like fileset. - Fix evas_gl direct rendering to support partial redraw. - Fix issue with textblocks without fonts segfaulting. - Fix evas_common_convert_yuv_42* functions to actually return the converted data. - Fix jpeg loader cannot deal with exif information correctly. - Fix issue when parsing formats with quotes. - Fix infinite loop if app use ecore evas image - Fix a long-standing off-by-1 in the C "simd" multiplier. - Skip the map rendering if all points are transparent. - Evas bidi: Fixed a bug causing BiDi not to work in some cases. - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving). - Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself. - Fixed the textblock format to be drawn according to the glyph's horizontal advance width. - Fixed the textblock set to context with the textblock object's render operation. - Evas textblock: Fixed order of tags inserted with markup_app/prepend. - Fix proxy render to update the proxies recursively. If a proxy has proxies, all the chainged proxies should be updated recursively. - Evas textblock: Fixed wrapping of lines ending with whites. - Evas: Fix the memory corruption introduced by evas fonts_zero. - Evas: If the line goes to the 0, 0 then it won't be updated. Now it's fixed. * Ecore: - Don't leak fd on exec. - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly. - Fixed animator not working problem when source_set is changed back and forth very fast. * Ecore_Con: - Fix a memory leak in ecore_con_dns when using ecore_con_server_connect. - Don't leak fd on exec. - Fix ecore_con case where freeing server double-frees clients. - Fix memory usage of Ecore_Con_Server. - Clean up gnutls session initialization. - Fix use of ecore_con_*_flush functions with unconnected objects. - Fix setting of write flags on ecore-con servers during connect. - Fix use of ecore_con_server_client_limit_set() (counter never decreased). - Fix use of ecore_con_client_timeout_set() and ecore_con_server_timeout_set() that makes timeout on connections even if you sent data. - Fix cl->start_time (initialization missing). So now ecore_con_client_uptime_get() is working. - Fix srv->start_time (initialization missing). So now ecore_con_server_uptime_get() is working for plain TCP connections. - Fix ecore_con_server_timeout_set(). It will now reset the timer. * Ecore_Evas: - Fix build of Ecore_Evas_Extn on Solaris. - Fix many memory problems with ecore_evas_extn. - Fix usage of underlying X window after it has received a destroy event * Ecore_X: - Fix possible memory corruption in xrandr EDID functions. - Fix x11 error sync issue with ecore_x_image_get(). - Fix ecore_x_screen_is_composited/set() to work on multihead. - Fix ecore-x edid fetch to ftech 128, not 100 bytes. - Fix dangling pointer problem related with shmget fail. - Fix bug not check data value when get deiconify message. - Fix alpha set function not clear sync counter. - Fix selection parser to not overrun buffer read by using longs on 64bit. - Fix x11 selection trailing nul byte in text. - Fix BadMatch errors in ecore_x_image_get when requested size was larger than XImage size - Fix ecore_x_e_comp_pixmap_set to delete pixmap atom correctly * Ecore_Wayland: - Fix return type of function ecore_wl_outputs_get(). * Ecore_Input_Evas: - Fix ecore_input_evas didn't check the device id of mouse event. - Check the state of last mouse event more properly. * Ecore-imf: - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call. - Fix memory leak in scim immodule * Eio: - Don't leak fd on exec. - eio functions no longer crash when passed NULL and throw errors accordingly. - Fix bug in eio_file_map_new container set. * Edje: - Prevent a crash even if an invalid object is swallowed into an edje object. - Fix cache miss when active edje hash is empty. - Improved textblock part fit. - Fix anchor clicked mouse signals for selection-enabled entries. - Fix edje_color_class_list() and edje_text_class_list() to look at right hashes. - Properly report file not found in Edje. - Fix custom states for SPACER parts. - Fix edje program filters. - Fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state. - Fix edje entry to respect filters and if input filtered out, don't clear selections. - When cursor is located to each edge, entry now doesn't grab events for cursor movement. - Fix useless ecore_imf_context_reset call in case of pressing ESC and Return key. - When selected word exists, selection is cleared and cursor remains on the current entry by additional key input. - Fix custom states for proxy parts. - Entry: return surrounding string until the start position of selection - Textblock: fixed issue with quoted formats. - Textblock: feep the text styles when new font by the text class is applied. - Lua: Stop leaking evas objects in Lua. - Fix edje min size calc to calc sub GROUP parts too. - Fix edje multisense segv (free non-malloced data from eet). - Fix some logic issue when using fixed point path. - Correctly set match flag of signal callbacks - Fix size calculation of flags of signal callbacks - Check for both Lua 5.1 and 5.2. - Fixed memory leak in the edje map color transition. - Add null checking for name of anchor and item in geometry get functions. - Fix use of eina_hash_pointer to actually look at the pointer value. - Fix to update map-enabled part when the edje object is moved. * Efreet: - Fix desktop command parsing of https. * Emotion: - Fix memory leak in gstreamer_ecore_x_check. - Fix backend priority order. - Add two events to trigger webcam plug and unplug * Ethumb: - Fix memory leak in error case. * Eeze: - Fix sensors to not segv on shutdown.