platform/upstream/efl.git
8 years agoevas: handle existing pointer grabs when changing object pointer mode
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

8 years agoevas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
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

8 years agoEdje entry: Fix cursor position on mouse up and down
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

8 years agoEcore wl2: Limit scope of variable (fix shadow warning).
Tom Hacohen [Mon, 21 Dec 2015 11:15:24 +0000 (11:15 +0000)]
Ecore wl2: Limit scope of variable (fix shadow warning).

8 years agoStatic deps unibreak: Update to latest version.
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

8 years agoemotion - fix gst back-end to report title and other meta changes
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

8 years agoEvas textblock: Fix some indentation and formatting.
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

8 years agoecore_wayland: rename session recovery to align namespace
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.

8 years agoecore_idle_exiter: return NULL in eo_finalize() when Ecore_Task_Cb is not set
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

8 years agoevas/gl : Do not re-preload image data if texture is successfully uploaded with image...
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

8 years agoEina test: fix warning
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

8 years agoEfreet: support language, country and modifer on Windows
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

8 years agoEvas examples: Fix examples data dir for out-of-tree builds
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.

8 years agoEvas 3d: Add example for convex hull
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

8 years agoecore-wl2: do not flush wl_display during cleanup
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

8 years agoRevert "evas: fix some indentation and formatting in textblock."
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.

8 years agoEdje entry: Fix issue with width calculation and padding
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

8 years agoEvas textblock: Use width of item format to position cursor.
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

8 years agoevas_callback: Remove callbacks in reverse order with evas_event_callback_del
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

8 years agoecore_wayland: add listener for uuid and provide already existing one
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

8 years agoecore_wayland: store uuid received from compositor
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

8 years agoecore_wayland: create session recovery listener only if env var is set
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

8 years agoecore_wayland: only bind session recovery interface when env var is set
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

8 years agoecore_wayland: remove disabled code for session recovery listener
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.

8 years agoedje_cc: redo part type setting to be even more correct
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

8 years agoedje_cc: correctly copy part descriptions when setting part type
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

8 years agoedje_cc: move part desc free function within file
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

8 years agoedje_cc: terminate filter file scripts
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

8 years agoedje_cc: track parts for descriptions, ensure part types match when inheriting
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

8 years agoefreet_icon_cache_create: null theme eet file to avoid double free
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

8 years agolz4: Update our internal copy to release r131
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.

8 years agoeina: API for base64url decode.
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

8 years agoeina: Added testcase for base64url encoding API.
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

8 years agoEvas GL: Fix shaders for bigendian
Jean-Philippe Andre [Wed, 16 Dec 2015 06:55:10 +0000 (15:55 +0900)]
Evas GL: Fix shaders for bigendian

Fixes T2918

8 years agoedje: add size_class test case
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

8 years agoemile: fix compilation with --enable-liblz4
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>
8 years agoevas: update/clarify RENDER_FLUSH callback docs
Mike Blumenkrantz [Tue, 15 Dec 2015 22:57:37 +0000 (17:57 -0500)]
evas: update/clarify RENDER_FLUSH callback docs

8 years agoevas: do not unset/delete master clip after every frame
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

8 years agoevas: trigger FLUSH_PRE callback prior to kicking off an async render
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

8 years agoevas: resize master clip if framespace|viewport.changed is set
Mike Blumenkrantz [Tue, 15 Dec 2015 22:17:36 +0000 (17:17 -0500)]
evas: resize master clip if framespace|viewport.changed is set

8 years agoevas: do not add unclipped smart members to the master clip
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

8 years agoecore-evas wayland: move frame sending to pre-flush callback
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

8 years agoecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
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

8 years agoEina safety: Set error flag in case of safety check error
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.

8 years agoEina safety: Add internal function to log errors
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).

8 years agoEina log: Disable backtrace by default for dev builds
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.

8 years agoEina log: Fix meaning of EINA_LOG_BACKTRACE env
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.

8 years agoExamples: Remove strange characters at beginning of file
Jean-Philippe Andre [Tue, 15 Dec 2015 05:55:20 +0000 (14:55 +0900)]
Examples: Remove strange characters at beginning of file

8 years agoExamples, Evas: remove MAX_PATH, which is already defined on Windows, and not used...
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

8 years agoExample, Ecore: fix compilation on Windows
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

8 years agoExamples Evas: 'far' and 'near' are Windows keywords, so rename them to far_ and...
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

8 years agoExamples: Fix compilation on Windows for eina, eio, elocation and eolian_cxx
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

8 years agoEvas VG: Fix clang warning
Jean-Philippe Andre [Tue, 15 Dec 2015 05:35:58 +0000 (14:35 +0900)]
Evas VG: Fix clang warning

8 years agoEina Xml: Fix clang warnings
Jean-Philippe Andre [Tue, 15 Dec 2015 05:35:46 +0000 (14:35 +0900)]
Eina Xml: Fix clang warnings

8 years agoEvas GL: 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.

8 years agoEina value: Fix clang warnings (use NULL instead of bool)
Jean-Philippe Andre [Tue, 15 Dec 2015 05:12:21 +0000 (14:12 +0900)]
Eina value: Fix clang warnings (use NULL instead of bool)

8 years agoEvas filters: Temporarily disable failing tests
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.

8 years agoEolian gen: Don't fail if file is empty (--gi)
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

8 years agoEcore_Win32: let cursors on the non-client area (the borders) be like the default...
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

8 years agoEolian test: use eina_environment_tmp_get() instead of deprecated code
Vincent Torri [Sat, 12 Dec 2015 10:54:33 +0000 (11:54 +0100)]
Eolian test: use eina_environment_tmp_get() instead of deprecated code

8 years agoEina test: declare clock_gettime() by including time.h, like it should be
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

8 years agoEina test strbuf: the macro TEXT already exists on Windows so rename it to TEST_TEXT
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

8 years agoEvas example: fix warning
Vincent Torri [Sat, 12 Dec 2015 10:26:36 +0000 (11:26 +0100)]
Evas example: fix warning

Summary:

Test Plan:

Reviewers: cedric

Subscribers:

8 years agoEvas Textblock: Fix NULL dereferencing issue
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

8 years agoevas - fix evas module locks to init/del when movile created/destroyed
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

8 years agoecore-evas-wl: Fix copy/paste errors
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>
8 years agoecore-evas-wl: Defer creating surfaces for wayland canvas
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>
8 years agoecore-wl2: Add new event for sync done
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>
8 years agoDraw: Fix compile error by removing duplicate definition.
Jaehyun Cho [Fri, 11 Dec 2015 07:58:55 +0000 (16:58 +0900)]
Draw: Fix compile error by removing duplicate definition.

8 years agoRevert "evas: trigger RENDER_FLUSH callbacks during async render"
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.

8 years agoEvas GL: Fix compile error by comment out removed function.
Jaehyun Cho [Fri, 11 Dec 2015 05:10:43 +0000 (14:10 +0900)]
Evas GL: Fix compile error by comment out removed function.

8 years agoRevert "ecore_cocoa: add support for system cursors"
Jaehyun Cho [Fri, 11 Dec 2015 04:44:40 +0000 (13:44 +0900)]
Revert "ecore_cocoa: add support for system cursors"

This reverts commit 4623d57762094011c5155cbea9512ae6a2db8852.
This commit is duplicated with 2c93c73cbd1966e8cead7e7856044a2eb12138d7.

8 years agoevas: Do not preload data if data is cached.
Minkyoung Kim [Fri, 11 Dec 2015 04:50:40 +0000 (13:50 +0900)]
evas: Do not preload data if data is cached.

Summary: Summary : If data is cached, need not to reload data.

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: eunue, spacegrapher, cedric, wonsik, jiin.moon

Differential Revision: https://phab.enlightenment.org/D3418

8 years agoEvas GL: Avoid confusing ERR message when requesting depth & stencil
Jean-Philippe Andre [Fri, 11 Dec 2015 02:32:06 +0000 (11:32 +0900)]
Evas GL: Avoid confusing ERR message when requesting depth & stencil

An ERR message would be printed out mentionning that direct rendering
won't work on this window, even if DR was not requested.
Also, set the DR-specific flags only if DR is enabled.

See T2936.

8 years agoefl -break the "i really know what i'm doing" option to get attention
Carsten Haitzler (Rasterman) [Fri, 11 Dec 2015 00:51:00 +0000 (09:51 +0900)]
efl -break the "i really know what i'm doing" option to get attention

so .. more gentoo "i just copy and pasted and dont know what i'm
doing" land has hit again.

8 years agoeldbus: fix compilation of eldbus user.
Cedric BAIL [Fri, 11 Dec 2015 00:22:55 +0000 (16:22 -0800)]
eldbus: fix compilation of eldbus user.

8 years agoevas: trigger RENDER_FLUSH callbacks during async render
Mike Blumenkrantz [Thu, 10 Dec 2015 20:58:22 +0000 (15:58 -0500)]
evas: trigger RENDER_FLUSH callbacks during async render

these callbacks are used, so ensure that they get called in the expected
order

@fix

 #PatchesFromCedric

8 years agoee-wayland: do not send configure ack if no configure serial exists
Mike Blumenkrantz [Thu, 10 Dec 2015 19:37:33 +0000 (14:37 -0500)]
ee-wayland: do not send configure ack if no configure serial exists

also unset serial to ensure subsequent renders don't trigger the same ack

8 years agoeldbus: add eldbus.model examples
Larry [Wed, 2 Dec 2015 23:20:48 +0000 (21:20 -0200)]
eldbus: add eldbus.model examples

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeldbus: add efl.model implementation.
Guilherme Lepsch [Fri, 9 Jan 2015 16:20:14 +0000 (14:20 -0200)]
eldbus: add efl.model implementation.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoefl: common Efl.Model implementation functions helpers.
Guilherme Lepsch [Thu, 30 Jul 2015 18:48:41 +0000 (15:48 -0300)]
efl: common Efl.Model implementation functions helpers.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoeina: add EINA_VALUE_TYPE_OPTIONAL, a single-element container that can be empty.
Felipe Magno de Almeida [Thu, 9 Jul 2015 03:57:38 +0000 (00:57 -0300)]
eina: add EINA_VALUE_TYPE_OPTIONAL, a single-element container that can be empty.

Eina Value Optional can be used to create a eina value that can be set
or be empty and can be embedded in a eina_value_struct.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoecore-wl2: ensure client display hash is freed and set NULL on connect failure
Mike Blumenkrantz [Thu, 10 Dec 2015 16:18:24 +0000 (11:18 -0500)]
ecore-wl2: ensure client display hash is freed and set NULL on connect failure

8 years agoedje_cc: Use ecore_file_file_get() and ecore_file_dir_get() for EDC parsing
Vincent Torri [Thu, 10 Dec 2015 11:09:00 +0000 (20:09 +0900)]
edje_cc: Use ecore_file_file_get() and ecore_file_dir_get() for EDC parsing

Replace current EDC parsing code in edje_cc on Windows with the code
using ecore_file_file_get() and ecore_file_dir_get().

Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
8 years agoeina_inline_lock_posix: Be far more careful with pthread function error returns
Conrad Meyer [Thu, 10 Dec 2015 10:02:28 +0000 (19:02 +0900)]
eina_inline_lock_posix: Be far more careful with pthread function error returns

Summary:
Related to T2287.

Log lock errors (printf to avoid eina_log locks) and continue or abort,
conditional on EINA_HAVE_DEBUG_THREADS.

Reviewers: raster, cedric

Subscribers: stefan_schmidt, cedric, seoz

Differential Revision: https://phab.enlightenment.org/D2376

Note - fixed review comments on macro names and some formatting and
error strings too - raster.

8 years agoRevert "Evas: Refactor model's savers and loaders."
Jean-Philippe Andre [Thu, 10 Dec 2015 09:20:43 +0000 (18:20 +0900)]
Revert "Evas: Refactor model's savers and loaders."

This reverts commit 01a32f64c0ffbe2ce048f8eb016d685913558cf5.

This broke make check with the following error:
evas_test_mesh.c:123:F:Meshes:evas_object_mesh_loader_saver:0: Failure 'res == 1' occurred

Reopen https://phab.enlightenment.org/D3420

8 years agoEvas textblock: add missing test fonts
Daniel Hirt [Thu, 10 Dec 2015 07:57:39 +0000 (09:57 +0200)]
Evas textblock: add missing test fonts

evas_suite was failing for people that didn't have malayalam fonts
installed in their system. Obviously, we should provide it in the test
suite.

Added malayalam font (from http://www.indlinux.org/) to the
TestFont.eet, along with the license README.

Fixes T2908.

@fix

8 years agoecore_idle_exiter: unlock when Ecore_Task_Cb is NULL
Sung-Taek Hong [Thu, 10 Dec 2015 08:01:25 +0000 (17:01 +0900)]
ecore_idle_exiter: unlock when Ecore_Task_Cb is NULL

Summary:
- When Ecore_Task_Cb is not set, _ecore_idle_exiter_constructor
  returns without _ecore_unlock(), and remains to be locked.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3424

8 years agoeina: Adding test case for base64 decode function.
Srivardhan Hebbar [Thu, 10 Dec 2015 07:44:27 +0000 (16:44 +0900)]
eina: Adding test case for base64 decode function.

Summary:
Depends on D3381

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric, jpeg

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D3382

8 years agoevas/gl_common: Reset current texture target with proper value when creating engine...
Minkyoung Kim [Thu, 10 Dec 2015 07:40:15 +0000 (16:40 +0900)]
evas/gl_common: Reset current texture target with proper value when creating engine gl context.

Summary:
set current target with default value of GL_TEXTURE_2D.
target should be valid value.

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3423

8 years agoEvas: Refactor model's savers and loaders.
perepelits.m [Thu, 10 Dec 2015 07:37:30 +0000 (16:37 +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)

I did it again because somehow test is passing now. It seems like this test suite is unstable.
Please, let me know if there are any errors after running distcheck.

Reviewers: cedric, raster, Hermet, stefan_schmidt

Subscribers: jpeg, artem.popov

Differential Revision: https://phab.enlightenment.org/D3420

8 years agoevas_eet: Add Type Safety check
Pankaj Mittal [Thu, 10 Dec 2015 07:26:56 +0000 (16:26 +0900)]
evas_eet: Add Type Safety check

Summary:
The Function _evas_canvas3d_eet_file_free(void) is referenced in  evas_model_load_file_eet()(file:evas_model_load_eet.c at line 122).
This call is  under condition
        if ((eet_file->mesh == NULL) || (eet_file->header == NULL)).
when  either eet_file->mesh or eet_file->header are NULL, dereference of the corresponding pointer in function "_evas_canvas3d_eet_file_free()"
will generate Segmentation Fault.

@fix

Reviewers: raster, Hermet, tasn, wonsik, spacegrapher, cedric, jpeg

Subscribers: singh.amitesh, sachin.dev, alok25, yashu21985, mvsovani, cedric

Differential Revision: https://phab.enlightenment.org/D3369

8 years agoevas/gl: Update texture when preload is cancelled.
Minkyoung Kim [Thu, 10 Dec 2015 07:04:57 +0000 (16:04 +0900)]
evas/gl: Update texture when preload is cancelled.

Summary:
When preload is cancelled before finishing loading,
should reload the image data and update the texture during rendering object.
So, force texture to be updated on first drawing time.
(It should be guaranteed that preload image object is hidden before preload done.)

Test Plan: Local tests

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: eunue, jiin.moon, wonsik, cedric, spacegrapher

Differential Revision: https://phab.enlightenment.org/D3416

8 years agoecore-evas-wayland: Fix issue of starting resizing causing size jumps
Chris Michael [Wed, 9 Dec 2015 17:03:53 +0000 (12:03 -0500)]
ecore-evas-wayland: Fix issue of starting resizing causing size jumps

Previously, when we started to resize an efl app, the size would
"jump" due to framespace being adjusted. This patch fixes that issue
and resize now works as expected.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoecore-evas-wayland: Move configure acknowledge to render_flush_pre
Chris Michael [Wed, 9 Dec 2015 14:38:01 +0000 (09:38 -0500)]
ecore-evas-wayland: Move configure acknowledge to render_flush_pre

If we acknowledge a configure from xdg during post render, we end up
breaking maximize of EFL clients inside Weston (and perhaps other
compositors). In order to fix that, we will now send the configure ack
post render but pre flush.

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
8 years agoRevert "edje: calc - remove pointer comparison while finding part desc"
Amitesh Singh [Wed, 9 Dec 2015 15:59:42 +0000 (21:29 +0530)]
Revert "edje: calc - remove pointer comparison while finding part desc"

This reverts commit c892a1cb714fed496cbf5568c4d43880b6fb67b2.

8 years agoedje: calc - add curly braces to avoid ambiguous 'if'
Amitesh Singh [Wed, 9 Dec 2015 10:25:59 +0000 (15:55 +0530)]
edje: calc - add curly braces to avoid ambiguous 'if'

merge two if conditions into one also.

8 years agoedje: calc - remove pointer comparison while finding part desc
Amitesh Singh [Wed, 9 Dec 2015 10:16:41 +0000 (15:46 +0530)]
edje: calc - remove pointer comparison while finding part desc

Only strcmp comparision is realiable.
@fix

8 years agoEvas text: Fix Evas Text truncated text case.
Youngbok Shin [Wed, 9 Dec 2015 07:50:33 +0000 (09:50 +0200)]
Evas text: Fix Evas Text truncated text case.

Summary:
Evas Text only concerns about a advance of each text item.
When a width of last character is bigger than its advance, the last character can be truncated.
And the different line size calculation caused different aligning between Evas Text and Evas Textblock.
So, the width of last character will be considered in Evas Text just like Evas Textblock.
@fix

Test Plan:
The following text shows how the size calculation is different between Evas Textblock and Text.
Get native size from Evas Textblock and get width(geometry) of Evas Text.
You can see the width of Evas Text is bigger than native size of Evas Textblock.
(adv > width)
こんにちは。

The following text will be truncated without this patch.
(adv < width)
ନୂଁ

Reviewers: woohyun, tasn, herdsman

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D3004

8 years agoEvas: Fix build for ubuntu... again
Jean-Philippe Andre [Wed, 9 Dec 2015 07:58:48 +0000 (16:58 +0900)]
Evas: Fix build for ubuntu... again

See 75fed54f0e4d72b20860
Apparently the proper CFLAGS are not set for SSE compilation.
SSE flags are set only for a specific file (now 2 of them).

As usual, it was worksforme but not for others. This should probably
fix that. Thanks Sub for the report and testing this solution.