Vincent Torri [Mon, 28 Dec 2015 22:15:29 +0000 (23:15 +0100)]
Evil: fix compilation warning
getenv() requires stdlib.h
Vincent Torri [Mon, 28 Dec 2015 13:22:29 +0000 (14:22 +0100)]
Evil: integrate the dlfcn code into Evil
This will remove some incompatibilities with other packages,
especially for win-builds
Jean-Philippe Andre [Tue, 29 Dec 2015 13:01:16 +0000 (22:01 +0900)]
Evas: Implement ARGY88 and GRY8 conversion to ARGB8888
This is adding support for a deprecated function, but apparently
it is used.
Also, remove crazy abort() inside the data_put function.
Fixes T2991
Jean-Philippe Andre [Tue, 29 Dec 2015 11:29:36 +0000 (20:29 +0900)]
Eo: Prevent shutdown from actually doing anything
Currently, eo_shutdown can't work.
Every Eo_Class ID is stored inside its class_get() function as a
static variable. This means any call to class_get() after eo_shutdown()
(even if eo_init was done properly) will lead to using an invalid ref
for the class id. In other words, the class is not valid anymore,
and objects can't be created.
Resetting the pointer to NULL would be possible, if we passed it
during the class creation. But this would lead to potential crashes
if a class was created from a now dlclosed library.
The only solution I can envision here is to check that class_get
actually returns a valid ref with the right class name. Most likely
the performance impact is not acceptable.
This fixes make check for me (with systemd module for ecore).
Jean-Philippe Andre [Tue, 29 Dec 2015 10:42:05 +0000 (19:42 +0900)]
Eo: Add internal function call on pointer errors
Useful for GDB: break on this function when things go wrong.
Similar to eina_safety.
I guess we could set some Eina_Error and maybe even have error
callbacks for easier application debugging. Later.
Jean-Philippe Andre [Tue, 29 Dec 2015 08:06:53 +0000 (17:06 +0900)]
Ecore Eldbus: Work around circular dependencies
eldbus initializes ecore that may then init eldbus again,
since one of the systemd modules is for eldbus.
eldbus_shutdown() is then no longer functional, as there are
two refs on eldbus.
This patch solves this problem by removing the extra ref on
eldbus from the module if it was already initialized.
This patch now introduces really bad issues since there are now
EO classes that fail to work after module load-unload-reload.
Jean-Philippe Andre [Tue, 29 Dec 2015 06:56:24 +0000 (15:56 +0900)]
Eet: Fail gracefully on invalid input
Consider infinity and NaN as invalid input for
put_float and put_double, since the underlying convert
function can't process them.
This fixes potential errors with incomplete / invalid evas 3d models
Jean-Philippe Andre [Tue, 29 Dec 2015 06:45:35 +0000 (15:45 +0900)]
Eina: Fix potential crash in eina_convert_dtoa
Infinity and NaN should probably just not be converted.
An error would happen in make check while saving evas 3d models.
Jean-Philippe Andre [Tue, 29 Dec 2015 06:41:51 +0000 (15:41 +0900)]
Evas 3d: Fix some potential crashes
Those were happening before the previous patches.
Jean-Philippe Andre [Tue, 29 Dec 2015 06:02:52 +0000 (15:02 +0900)]
Evas 3d: Fix some issues in model test case
Fix some errors, check that file_set and file_save actually work
(rather than have them both fail and pass the test since 0 == 0),
fix temp paths and cleanup unused file.
Jean-Philippe Andre [Tue, 29 Dec 2015 05:51:28 +0000 (14:51 +0900)]
Evas 3d: Improve error messages in model load & save
See make check's evas_suite ouput
Jean-Philippe Andre [Tue, 29 Dec 2015 05:33:21 +0000 (14:33 +0900)]
Evas: Fix potential crash with extraneous eet_shutdown
Shutdown eet only if it was actually initialized.
This fixes make check (for me) after applying the previous patch.
It seems on my machine, the gl cache files are not saved properly
from within the make check environment.
perepelits.m [Tue, 29 Dec 2015 04:28:55 +0000 (13:28 +0900)]
[Evas] Refactor model's savers and loaders.
Summary:
Move common part to a separated document.
Make code more readable using smaller functions. (from Task T2713)
Everything is OK with make check.
Reviewers: cedric, raster, Hermet, stefan_schmidt
Reviewed By: stefan_schmidt
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3430
Cedric BAIL [Mon, 28 Dec 2015 22:01:15 +0000 (14:01 -0800)]
ecore_con: fix typo preventing IPv6 multicast to work.
Thanks Vincent Torri for spotting it.
Chris Michael [Mon, 28 Dec 2015 15:09:36 +0000 (10:09 -0500)]
eo: Fix resource leak
Coverity CID1339783 says that we have a potential resource leak here.
'cb' gets allocated via calloc, but is not freed if we end up
returning here
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Sung-Jin Park [Mon, 28 Dec 2015 14:18:05 +0000 (09:18 -0500)]
ecore-drm: Add APIs to support key remap functionality
Summary:
This adds two new APIs to enable/set key remap functionality and
a number of keys to be remapped to the other keys. As of now there is no
api to do this therefore we need to remap using linux utility such as
'setkeycodes'. By adding/calling these apis, each Ecore_Drm_Evdev device
will have its specific key remap hash and we can apply each remapping keys
for each key/keyboard device.
Test Plan:
(1) Enable key remap and set remapping of a key on a specific keyboard device
(2) Plug in the keyboard device and check the key is being remapped or not
(3) Check the other keys are coming normally
(4) Check the the remapping key on a specific keyboard doesn't affect to any other devices
Signed-off-by: Sung-Jin Park <input.hacker@gmail.com>
Reviewers: raster, zmike, gwanglim, ManMower, devilhorns
Subscribers: JHyun, ohduna, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3463
Chris Michael [Mon, 28 Dec 2015 14:15:01 +0000 (09:15 -0500)]
ecore-wl2: Fix MIN() macro comparing int vs unsigned int
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Derek Foreman [Mon, 28 Dec 2015 14:09:04 +0000 (09:09 -0500)]
wayland: use wl_surface.damage_buffer if available
Summary:
wl_surface.damage_buffer() takes surface damage in buffer co-ordinates.
Right now since we don't use wayland's scaling, transforms, or viewports
it's exactly the same as wl_surface.damage(). In the future if we start
using those features it's much easier to do so with damage_buffer().
Reviewers: zmike, devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3457
Jee-Yong Um [Thu, 24 Dec 2015 06:55:17 +0000 (15:55 +0900)]
edje: add text_classes syntax to EDC
Summary:
text_class can be defined in text_classes block.
T2900
@feature
Reviewers: jpeg, raster
Subscribers: raster, cedric, Jaehyun_Cho, CHAN, kimcinoo
Differential Revision: https://phab.enlightenment.org/D3435
Ji-Youn Park [Thu, 24 Dec 2015 04:41:45 +0000 (13:11 +0830)]
ecore_x: fix memory leak
fix memory leak in xcb event handler.
@fix
se.osadchy [Thu, 24 Dec 2015 04:15:37 +0000 (13:15 +0900)]
evas: Fix wrong display texture on object.
Summary:
Fix siquence in multiply of matrices. Need multiply position on scale,
otherwise we have wrong texture.
Reviewers: cedric, Hermet, raster
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3477
Felipe Magno de Almeida [Mon, 1 Sep 2014 18:08:49 +0000 (15:08 -0300)]
efl-js: JavaScript Eolian binding
To configure efl sources with bindings to use in nodejs add ––with-js=nodejs in configure flags to generate node files
$ configure --with-js=nodejs
and compile normally with:
$ make
$ make install
To use, you have to require efl:
efl = require('efl')
The bindings is divided in two parts: generated and manually
written. The generation uses the Eolian library for parsing Eo files
and generate C++ code that is compiled against V8 interpreter library
to create a efl.node file that can be required in a node.js instance.
@feature
Ji-Youn Park [Thu, 24 Dec 2015 01:27:34 +0000 (09:57 +0830)]
ecore_x: fix memory leak
check return value type of XGetWindowProperty.
@fix
Hermet Park [Thu, 24 Dec 2015 00:22:00 +0000 (09:22 +0900)]
rename an author.
Mike Blumenkrantz [Wed, 23 Dec 2015 18:38:05 +0000 (13:38 -0500)]
efreetd: send ipc for EFREET_EVENT_DESKTOP_CACHE_BUILD...always
since the conversion from dbus -> ecore-ipc, efreetd has failed to
notify when a cache build has completed, instead only sending the current
state of the desktop cache: not built
fix T2733
@fix
Jérémy Zurcher [Wed, 23 Dec 2015 16:38:02 +0000 (17:38 +0100)]
ecore_drm: fix out of source tree compilation
issue introduces by 10fa1b5
ecore_drm_private.h includes Eldbus.h
Eldbus.h includes Efl.h since 10fa1b5
Carsten Haitzler (Rasterman) [Wed, 23 Dec 2015 12:53:55 +0000 (21:53 +0900)]
edje - list mouse pressed signals as they are new in edcref
Vivek Ellur [Wed, 23 Dec 2015 10:12:06 +0000 (19:12 +0900)]
edje_embryo: Fix null dereference issue
Summary:
Fix Coverity issue ID 1299026
Signed-off-by: Vivek Ellur <vivek.ellur@samsung.com>
Reviewers: cedric, raster
Reviewed By: raster
Subscribers: raster, cedric
Differential Revision: https://phab.enlightenment.org/D3218
woochan lee [Wed, 23 Dec 2015 09:58:43 +0000 (18:58 +0900)]
edje_callbacks: Add mouse,pressed,in/out signal.
Summary:
The mouse,in/out signal has missing parts to use.
When user send down event on specific object, then move cursor to outside of object.
the mouse,in signal must be called in case. but it's not in traditional implement.
So i added this signal for support above use case.
In order to satisfy above use case, user can add both of the signals(mouse,in mouse,pressed,in).
(Adding new name of signals to do not break compatibility with before implements.)
@feature
Test Plan:
Add mouse,pressed,in/out program to object.
Press object which added signals before.
Move mouse cursor to out of object, then check the program works.
Reviewers: Hermet, cedric, raster
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2992
Mike Blumenkrantz [Tue, 22 Dec 2015 21:10:36 +0000 (16:10 -0500)]
evas: handle existing pointer grabs when changing object pointer mode
in the case that pointer mode is changed on an object at any time after
a grab has been acquired by the object, grabs/flags must be adjusted for
this and other "pointer-in" objects in order to avoid permanently
breaking canvas events
@fix
Mike Blumenkrantz [Tue, 22 Dec 2015 21:06:30 +0000 (16:06 -0500)]
evas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
I have no idea what this mode was intended to do since there are no docs
and the related code in evas events is undocumented, so I can only speculate.
what I can say for certain is that this mode does grab, in opposition to its name,
and that until this commit any object which sets this pointer mode will
permanently break mouse eventing on the canvas
ref evas SVN 67264
@fix
Subodh Kumar [Mon, 21 Dec 2015 14:27:43 +0000 (14:27 +0000)]
Edje entry: Fix cursor position on mouse up and down
Summary:
Fix cursor position on mouse up/down
When mouse down/up over top and bottom part textblock is not able to set the
char coordinate as it is not inside actual text, edje entry tries to manage it
but textblock has that handling. As a result the cursor jump to first char for
single line and at the last in the multiline last line.
So this patch fixes this and manage to keep the the mouse coordinate inside
the textblock.
In mobile device this is not really acceptable when user taps over the entry
at some position and cursor jumps to some arbitrary position.
@fix
Test Plan:
1. Elementary Test
2. Entry 3 (any entry)
3. Try to click little below or above the text in first entry
single line.Observe cursor jumps to first position
4. Do as above for multiline entry (try to click at the last line little below)
observe cursor jumps to last char.
Reviewers: thiepha, herdsman, tasn
Subscribers: jpeg, tasn, cedric
Differential Revision: https://phab.enlightenment.org/D3257
Tom Hacohen [Mon, 21 Dec 2015 11:15:24 +0000 (11:15 +0000)]
Ecore wl2: Limit scope of variable (fix shadow warning).
Tom Hacohen [Mon, 21 Dec 2015 11:10:35 +0000 (11:10 +0000)]
Static deps unibreak: Update to latest version.
This version supports Unicode 8.0 and includes fixes over the previous
version.
Reference version:
03ae8dd7d6ce6d19a38c1e62c70afc6ad82513bc
@feature
Carsten Haitzler (Rasterman) [Mon, 21 Dec 2015 05:40:41 +0000 (14:40 +0900)]
emotion - fix gst back-end to report title and other meta changes
gst1 back-end didnt report changes in title or other metadata to the
frontend and thusapps never knew it was changing. this fixes that.
@fix
Subodh Kumar [Fri, 18 Dec 2015 15:14:05 +0000 (15:14 +0000)]
Evas textblock: Fix some indentation and formatting.
Summary: Fix some indentation and formatting.
Reviewers: herdsman, cedric, tasn
Reviewed By: cedric
Subscribers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3174
Stefan Schmidt [Fri, 18 Dec 2015 13:51:04 +0000 (14:51 +0100)]
ecore_wayland: rename session recovery to align namespace
Align out extension naming with other unstable wayland protocols.
The unstable protocols from the wayland-protocols repo are prefixed
with a zwp additionally we keep a e prefix for now as we are still
developing this here. No functional change, just rename.
Pointed out by Derek that the session-recovery interface name is a
bit to generic here.
Sung-Taek Hong [Fri, 18 Dec 2015 08:58:53 +0000 (17:58 +0900)]
ecore_idle_exiter: return NULL in eo_finalize() when Ecore_Task_Cb is not set
Summary: - ecore_idle_exiter_add should return NULL, when Ecore_Task_Cb is not set.
Reviewers: jpeg, woohyun, jaehwan, Jaehyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3425
Minkyoung Kim [Fri, 18 Dec 2015 07:49:17 +0000 (16:49 +0900)]
evas/gl : Do not re-preload image data if texture is successfully uploaded with image data.
Summary:
'cached' flag is not enough to check whethere data is loaded and texture is uploaded.
so check more options for prevent re-preload image data on gl-backend.
Test Plan: Local Test (elementary_test : elm images)
Reviewers: jpeg, eunue
Reviewed By: jpeg
Subscribers: cedric, jiin.moon, wonsik, spacegrapher
Differential Revision: https://phab.enlightenment.org/D3446
Vincent Torri [Fri, 18 Dec 2015 07:45:38 +0000 (16:45 +0900)]
Eina test: fix warning
Reviewers: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3465
Vincent Torri [Fri, 18 Dec 2015 07:45:29 +0000 (16:45 +0900)]
Efreet: support language, country and modifer on Windows
Summary:
On Windows, the environment variables LANG, LC_ALL and LC_MESSAGES
do not exist, so retrieve langage and country modifier directly from the systeM
Test Plan: verify the value with some ptrinF
Reviewers: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3464
Jean-Philippe Andre [Fri, 18 Dec 2015 07:43:47 +0000 (16:43 +0900)]
Evas examples: Fix examples data dir for out-of-tree builds
This is a quick fix to make out-of-tree builds of the examples
work fine. Don't pass "." as teh resource dir root, instead
pass the path to the source files' folder.
perepelits.m [Fri, 18 Dec 2015 04:50:17 +0000 (13:50 +0900)]
Evas 3d: Add example for convex hull
Summary: This example is a testing example for comparison convex
hulls built by our algorithm and in Blender.
Reviewers: raster, Hermet, cedric, jpeg, perepelits.m
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3336
Mike Blumenkrantz [Thu, 17 Dec 2015 18:10:22 +0000 (13:10 -0500)]
ecore-wl2: do not flush wl_display during cleanup
this serves no functional purpose and deadlocks compositors
Tom Hacohen [Thu, 17 Dec 2015 12:51:37 +0000 (12:51 +0000)]
Revert "evas: fix some indentation and formatting in textblock."
This patch was *REJECTED*. I don't understand why it was snuck in among
a batch of 24 other unrelated patches. That made me miss it originally,
but found it now. This is wrong and shouldn't be in.
This reverts commit
3f0d0daf0d1a9b96cf112a0ee741b4549e9d2828.
Jaeyong Hwang [Thu, 17 Dec 2015 12:44:29 +0000 (12:44 +0000)]
Edje entry: Fix issue with width calculation and padding
Summary:
The size of the style pad isn't considered when the min value of the
textblock is calculated. In case of putting the lable that there is an
outline in the box, the letter is cut. So, I revised so that
evas_object_textblock_style_insets_get could be called after a
evas_object_textblock_size_formatted_get in
_edje_object_size_min_restricted_calc function. And then the style pad was
considered in the result value of the edje_object_size_min_calc.
@fix
Test Plan:
EAPI_MAIN int
elm_main(int argc, char **argv)
{
Evas_Object *box, *label;
Evas_Object *win;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("Font", "FONT");
elm_win_autodel_set(win, EINA_TRUE);
box = elm_box_add(win);
elm_box_padding_set(box, 10, 0);
elm_box_align_set(box, 1, 0.5);
evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(box, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_win_resize_object_add(win, box);
evas_object_show(box);
label = elm_label_add(box);
elm_object_text_set(label, "<font=default align=rignt color=#ffffff font_size=200 style=soft_outline outline_color=#
ff0000ff>label");
elm_box_pack_end(box, label);
evas_object_show(label);
evas_object_resize(win, 500, 300);
evas_object_show(win);
elm_run();
return 0;
}
ELM_MAIN();
Reviewers: herdsman, tasn
Reviewed By: tasn
Subscribers: id213sin, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3426
Subodh Kumar [Thu, 17 Dec 2015 11:54:35 +0000 (11:54 +0000)]
Evas textblock: Use width of item format to position cursor.
Summary:
Use width of item format to position cursor.
Sometimes it becomes very difficult to
position cursor over item and selection
becomes very difficult as we position the
cursor once the input X coord reached end of the item,
like one attached in the test plan. So this patch
decides over 50% of item width for X coord reaches
to position it at start or end.
@ix
Test Plan:
Attached setup shows how difficult to position cursor at the end when clicked
over item and selection is also very difficult. Consider such case in mobile
device, its becomes impossible to position cursor at the end and selection is
too much difficult.
{F27036}
Also added test cases in evas test suite
Reviewers: herdsman, tasn
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3390
Sung-Taek Hong [Thu, 17 Dec 2015 07:03:26 +0000 (16:03 +0900)]
evas_callback: Remove callbacks in reverse order with evas_event_callback_del
Summary:
- This function is deprecated, because del_full should be used instead.
- Still, the documentation specifies in which order the callbacks should
- be deleted.
Reviewers: Hermet, jpeg, jaehwan
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3459
Stefan Schmidt [Mon, 7 Dec 2015 23:08:20 +0000 (00:08 +0100)]
ecore_wayland: add listener for uuid and provide already existing one
Setup a listener to receive an uid from the compositor. If we already have
one during creation, aka we are re-connecting to recover a session, we provide
it to the compositor so it can look our attributes up based on it. Again hidden
behind and env var to avoid problems with other developments, for now.
ref T2922
Stefan Schmidt [Mon, 7 Dec 2015 23:06:38 +0000 (00:06 +0100)]
ecore_wayland: store uuid received from compositor
If we get an uuid assigned from the compositor we will store them locally to
provide it later on if needed.
ref T2922
Stefan Schmidt [Mon, 7 Dec 2015 22:39:10 +0000 (23:39 +0100)]
ecore_wayland: create session recovery listener only if env var is set
Same as for the global we make sure here we only add the listener if the,
for now, needed env var is set.
ref T2922
Stefan Schmidt [Mon, 7 Dec 2015 22:31:13 +0000 (23:31 +0100)]
ecore_wayland: only bind session recovery interface when env var is set
To avoid trouble for other wayland testing we hide the session recovery work
behind EFL_WAYLAND_SESSION_RECOVERY. Without this env var being set we do not
bind the global.
ref T2922
Stefan Schmidt [Mon, 7 Dec 2015 22:07:28 +0000 (23:07 +0100)]
ecore_wayland: remove disabled code for session recovery listener
The listener is handled inside ecore_wl_window. Remove the dead code from here.
Mike Blumenkrantz [Wed, 16 Dec 2015 20:53:50 +0000 (15:53 -0500)]
edje_cc: redo part type setting to be even more correct
when changing the type of a part which already has descriptions, it's
necessary to avoid copying any of the previous type-specific desc data
this should be the last of them...
@fix
Mike Blumenkrantz [Wed, 16 Dec 2015 19:35:19 +0000 (14:35 -0500)]
edje_cc: correctly copy part descriptions when setting part type
in the case where a part is inherited, changing the type will lead to
broken part/program lookups for the part during resolving in write-out;
memcpy alone is not enough to fix this.
@fix
Mike Blumenkrantz [Wed, 16 Dec 2015 19:38:07 +0000 (14:38 -0500)]
edje_cc: move part desc free function within file
no funcitonal changes
Mike Blumenkrantz [Wed, 16 Dec 2015 19:34:20 +0000 (14:34 -0500)]
edje_cc: terminate filter file scripts
==24030== Invalid read of size 1
==24030== at 0x4A0AC77: strcmp (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x598A9DC: _eet_dictionary_lookup (eet_dictionary.c:69)
==24030== by 0x598AA93: eet_dictionary_string_add (eet_dictionary.c:103)
==24030== by 0x598107B: eet_data_put_string (eet_data.c:857)
==24030== by 0x598213F: eet_data_put_type (eet_data.c:1433)
==24030== by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x59894A4: eet_data_put_array (eet_data.c:4760)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
==24030== by 0x5983E92: eet_data_write (eet_data.c:2412)
==24030== by 0x406BC2: data_thread_head (edje_cc_out.c:674)
==24030== by 0x406D51: data_write_header (edje_cc_out.c:717)
==24030== by 0x40B52E: data_write (edje_cc_out.c:2439)
==24030== by 0x40563D: main (edje_cc.c:399)
==24030== Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
==24030== at 0x4A089C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
==24030== by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
==24030== by 0x410EDA: new_statement (edje_cc_parse.c:229)
==24030== by 0x41227C: parse (edje_cc_parse.c:719)
==24030== by 0x412E5C: compile (edje_cc_parse.c:1044)
==24030== by 0x405624: main (edje_cc.c:394)
==24030==
==24030== Invalid read of size 1
==24030== at 0x4A0AC77: strcmp (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x598AAFB: eet_dictionary_string_add (eet_dictionary.c:109)
==24030== by 0x598107B: eet_data_put_string (eet_data.c:857)
==24030== by 0x598213F: eet_data_put_type (eet_data.c:1433)
==24030== by 0x59895AB: eet_data_put_unknown (eet_data.c:4798)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x59894A4: eet_data_put_array (eet_data.c:4760)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5989617: eet_data_put_unknown (eet_data.c:4807)
==24030== by 0x598A113: _eet_data_descriptor_encode (eet_data.c:5172)
==24030== by 0x5983E06: eet_data_write_cipher (eet_data.c:2396)
==24030== by 0x5983E92: eet_data_write (eet_data.c:2412)
==24030== by 0x406BC2: data_thread_head (edje_cc_out.c:674)
==24030== by 0x406D51: data_write_header (edje_cc_out.c:717)
==24030== by 0x40B52E: data_write (edje_cc_out.c:2439)
==24030== by 0x40563D: main (edje_cc.c:399)
==24030== Address 0xf45cb7b is 0 bytes after a block of size 347 alloc'd
==24030== at 0x4A089C7: calloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==24030== by 0x414BAC: mem_alloc (edje_cc_mem.c:15)
==24030== by 0x41B66A: st_filters_filter_file (edje_cc_handlers.c:4718)
==24030== by 0x410EDA: new_statement (edje_cc_parse.c:229)
==24030== by 0x41227C: parse (edje_cc_parse.c:719)
==24030== by 0x412E5C: compile (edje_cc_parse.c:1044)
==24030== by 0x405624: main (edje_cc.c:394)
@fix
Mike Blumenkrantz [Wed, 16 Dec 2015 19:31:49 +0000 (14:31 -0500)]
edje_cc: track parts for descriptions, ensure part types match when inheriting
since it's now possible to inherit parts, it's possible that inheriting from
a different part type can lead to memory errors in the case where one part
has a larger desc struct than the other
@fix
Mike Blumenkrantz [Wed, 16 Dec 2015 18:39:33 +0000 (13:39 -0500)]
efreet_icon_cache_create: null theme eet file to avoid double free
@fix
Stefan Schmidt [Wed, 16 Dec 2015 10:53:11 +0000 (11:53 +0100)]
lz4: Update our internal copy to release r131
Clang and GCC optimizations and bug fixes. Have a look at the NEWS file for
more details.
Srivardhan Hebbar [Wed, 16 Dec 2015 07:15:43 +0000 (16:15 +0900)]
eina: API for base64url decode.
Summary:
eina_base64url_decode API.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3434
Srivardhan Hebbar [Wed, 16 Dec 2015 07:11:27 +0000 (16:11 +0900)]
eina: Added testcase for base64url encoding API.
Summary:
Depends on D414
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: jpeg, cedric
Differential Revision: https://phab.enlightenment.org/D3432
Jean-Philippe Andre [Wed, 16 Dec 2015 06:55:10 +0000 (15:55 +0900)]
Evas GL: Fix shaders for bigendian
Fixes T2918
Jee-Yong Um [Wed, 16 Dec 2015 05:53:59 +0000 (14:53 +0900)]
edje: add size_class test case
Summary: add edje size_class APIs' test case
Reviewers: jpeg
Reviewed By: jpeg
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D3391
Hein-Pieter van Braam [Wed, 16 Dec 2015 01:15:46 +0000 (17:15 -0800)]
emile: fix compilation with --enable-liblz4
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Mike Blumenkrantz [Tue, 15 Dec 2015 22:57:37 +0000 (17:57 -0500)]
evas: update/clarify RENDER_FLUSH callback docs
Mike Blumenkrantz [Tue, 15 Dec 2015 22:21:42 +0000 (17:21 -0500)]
evas: do not unset/delete master clip after every frame
this is not ideal since it triggers a client-side rerender of every object
which was clipped to the master clip (double render) and then this ends up
forcing the server to rerender the same area twice as well
not only that, it causes all surface damages to to be the size of the entire
window - framespace for every frame
@fix
Mike Blumenkrantz [Tue, 15 Dec 2015 22:18:36 +0000 (17:18 -0500)]
evas: trigger FLUSH_PRE callback prior to kicking off an async render
while not occurring immediately before flush as in sync rendering, this
is functionally close enough that it will serve the purpose for which the
callback was intended, namely receiving a callback that occurs after render
update calculations have occurred but before flush happens
@fix
ref
cbb447c878ef779230ebf4470b615b8276c50fa2
Mike Blumenkrantz [Tue, 15 Dec 2015 22:17:36 +0000 (17:17 -0500)]
evas: resize master clip if framespace|viewport.changed is set
Mike Blumenkrantz [Tue, 15 Dec 2015 22:16:26 +0000 (17:16 -0500)]
evas: do not add unclipped smart members to the master clip
this is probably a pretty unlikely scenario, but messing with smart
members in this way is probably not a great idea
@fix
Mike Blumenkrantz [Tue, 15 Dec 2015 22:14:43 +0000 (17:14 -0500)]
ecore-evas wayland: move frame sending to pre-flush callback
it was possible to deadlock rendering if a pre-render occurred but
the resulting render had no updated regions
@fix
Duna Oh [Tue, 15 Dec 2015 15:02:49 +0000 (10:02 -0500)]
ecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
Summary:
When a input device is plugged in, _cb_open_restricted() is called before creating evdev.
So setting fd value on evdev was failed in _cb_open_restricted() and also closing evdev->fd was invalid.
Using a eina_hash which has 'path-fd' pairs, we can find fd value after evdev is created.
@fix
Test Plan:
(1) Multiple input devices are connected. Their evdev->fd remains zero or initial value.
(2) When one of those devices are plugged out, fd leak would happen.
Reviewers: raster, zmike, gwanglim, stefan_schmidt, devilhorns, ManMower
Subscribers: cedric, jpeg, Jeon, input.hacker
Differential Revision: https://phab.enlightenment.org/D3428
Jean-Philippe Andre [Tue, 15 Dec 2015 08:39:37 +0000 (17:39 +0900)]
Eina safety: Set error flag in case of safety check error
Eina_Error is almost not used at all. Meh.
Jean-Philippe Andre [Tue, 15 Dec 2015 07:56:13 +0000 (16:56 +0900)]
Eina safety: Add internal function to log errors
The main reason is convenience for debugging when using GDB,
this will give a simple breakpoint for all safety check failures.
Also, this creates a more visible log domain (red).
Jean-Philippe Andre [Tue, 15 Dec 2015 06:27:20 +0000 (15:27 +0900)]
Eina log: Disable backtrace by default for dev builds
The EINA_LOG_BACKTRACE thing is aimed at production environments,
so we can extract a backtrace from a log file post-mortem, but not
for continuous development of EFL itself.
I know this should make a few people happy.
Jean-Philippe Andre [Tue, 15 Dec 2015 06:20:12 +0000 (15:20 +0900)]
Eina log: Fix meaning of EINA_LOG_BACKTRACE env
Most eina log env vars mean "if loglevel <= val then print log"
but eina_log_backtrace was "if loglevel < val" which I thought
was a bit confusing. The default behaviour is unchanged.
Jean-Philippe Andre [Tue, 15 Dec 2015 05:55:20 +0000 (14:55 +0900)]
Examples: Remove strange characters at beginning of file
Vincent Torri [Tue, 15 Dec 2015 05:49:33 +0000 (14:49 +0900)]
Examples, Evas: remove MAX_PATH, which is already defined on Windows, and not used in this example
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3442
Vincent Torri [Tue, 15 Dec 2015 05:48:36 +0000 (14:48 +0900)]
Example, Ecore: fix compilation on Windows
Summary:
The socket API is different on Windows and on Linux.
This is the perfect example where we need to abstract the socket API in Eina :
1) to avoid all these includes specific to sockets
2) to avoid on Windows undefined behavior : close(socket); is undefined behavior if socket is indeed a socket
Reviewers: jpeg
Reviewed By: jpeg
Subscribers: cedric, jpeg
Projects: #efl
Differential Revision: https://phab.enlightenment.org/D3441
Vincent Torri [Tue, 15 Dec 2015 05:48:18 +0000 (14:48 +0900)]
Examples Evas: 'far' and 'near' are Windows keywords, so rename them to far_ and near_
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3440
Vincent Torri [Tue, 15 Dec 2015 05:43:27 +0000 (14:43 +0900)]
Examples: Fix compilation on Windows for eina, eio, elocation and eolian_cxx
Summary:
When compiling on Windows, Evil.h must be included, so update Makefile.am
accordinglY
Reviewers: cedric, jpeg
Reviewed By: jpeg
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D3439
Jean-Philippe Andre [Tue, 15 Dec 2015 05:35:58 +0000 (14:35 +0900)]
Evas VG: Fix clang warning
Jean-Philippe Andre [Tue, 15 Dec 2015 05:35:46 +0000 (14:35 +0900)]
Eina Xml: Fix clang warnings
Jean-Philippe Andre [Tue, 15 Dec 2015 05:12:43 +0000 (14:12 +0900)]
Evas GL: Fix clang warnings
Use pragma diagnostic like with GCC since we want to set the function
pointer even though we deprecate the function.
Jean-Philippe Andre [Tue, 15 Dec 2015 05:12:21 +0000 (14:12 +0900)]
Eina value: Fix clang warnings (use NULL instead of bool)
Jean-Philippe Andre [Mon, 14 Dec 2015 11:28:13 +0000 (20:28 +0900)]
Evas filters: Temporarily disable failing tests
Apparently a special font makes the vflip tests crash. vflip
definitely needs to be fixed.
I'm currently working on the filters, so I'll get back to these.
This is a temporary patch.
Jean-Philippe Andre [Mon, 14 Dec 2015 07:14:29 +0000 (16:14 +0900)]
Eolian gen: Don't fail if file is empty (--gi)
@fix
Vincent Torri [Sat, 12 Dec 2015 12:41:04 +0000 (13:41 +0100)]
Ecore_Win32: let cursors on the non-client area (the borders) be like the default ones
After the support of the X11 cursors on Windows, the cursors were set for the whole
window (even the borders). Now we let the system use the default cursors for the borders
and we use the cursors set by the API for the client area only
Vincent Torri [Sat, 12 Dec 2015 10:54:33 +0000 (11:54 +0100)]
Eolian test: use eina_environment_tmp_get() instead of deprecated code
Vincent Torri [Sat, 12 Dec 2015 10:53:35 +0000 (11:53 +0100)]
Eina test: declare clock_gettime() by including time.h, like it should be
Vincent Torri [Sat, 12 Dec 2015 10:37:54 +0000 (11:37 +0100)]
Eina test strbuf: the macro TEXT already exists on Windows so rename it to TEST_TEXT
Vincent Torri [Sat, 12 Dec 2015 10:26:36 +0000 (11:26 +0100)]
Evas example: fix warning
Summary:
Test Plan:
Reviewers: cedric
Subscribers:
Youngbok Shin [Sun, 13 Dec 2015 15:13:13 +0000 (17:13 +0200)]
Evas Textblock: Fix NULL dereferencing issue
Summary:
Even if the given two cursor is NULL, it shouldn't be crashed.
@fix
Test Plan:
Test case included in Evas test suite.
Run "make check".
Reviewers: herdsman, tasn
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3422
Carsten Haitzler (Rasterman) [Sat, 12 Dec 2015 14:37:16 +0000 (23:37 +0900)]
evas - fix evas module locks to init/del when movile created/destroyed
we initted when we load and unload. this led to races with
locking/unlocking elsewhere as these expected us to be initted and we
were not yet. this fixes that!
@fix
Chris Michael [Fri, 11 Dec 2015 16:34:42 +0000 (11:34 -0500)]
ecore-evas-wl: Fix copy/paste errors
This fixes fat-finger copy/paste errors when copying functions from
ecore_evas_wayland_shm to ecore_evas_wayland_egl
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 11 Dec 2015 16:26:24 +0000 (11:26 -0500)]
ecore-evas-wl: Defer creating surfaces for wayland canvas
This code adds support for deferring of surface creation and showing
inside Ecore_Evas Wayland. This is needed for Enlightenment so that it
does not try to create or show surfaces until the compositor has had a
chance to sync globals. This fixes an issue where early surface
creation would cause a crash in the compositor due to globals not
being syncd.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 11 Dec 2015 16:24:32 +0000 (11:24 -0500)]
ecore-wl2: Add new event for sync done
This removes the usage of ecore_main_loop_iterate inside of the
display_connect function. It creates a new event type for when display
sync is done, this was we can defer surface creation and EE showing
until the compositor has had a chance to synchronize globals. We need
this for Enlightenment so that it does not try to create error dialogs
too early and thus crash due to not having sync'd globals yet
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Jaehyun Cho [Fri, 11 Dec 2015 07:58:55 +0000 (16:58 +0900)]
Draw: Fix compile error by removing duplicate definition.
Carsten Haitzler (Rasterman) [Fri, 11 Dec 2015 06:10:53 +0000 (15:10 +0900)]
Revert "evas: trigger RENDER_FLUSH callbacks during async render"
This reverts commit
cbb447c878ef779230ebf4470b615b8276c50fa2.
1. this is wrong because evas_render_pipe_wakeup() is being called IN
THE RENDER THREAD. it... SENDS a wakeup back to the mainloop with
evas_async_events_put(data, 0, NULL, evas_render_async_wakeup);
and you can see that evas_render_async_wakeup() calls
evas_render_wakeup() and in evas_render_wakeup() flush pre/post are
called, but since the trhead does the flush we cant realyl call
before/after, but it retains order... IF there are updates (haveup).
so calling these callbacks FROM a thread is now leading to apps
mysteriously exiting. this is mucho bad. just at random i now have my
terminals exiting.
Jaehyun Cho [Fri, 11 Dec 2015 05:10:43 +0000 (14:10 +0900)]
Evas GL: Fix compile error by comment out removed function.