platform/upstream/efl.git
7 years agorelease: Update NEWS and bump version for 1.19.0-beta4 release
Stefan Schmidt [Fri, 31 Mar 2017 13:26:47 +0000 (15:26 +0200)]
release: Update NEWS and bump version for 1.19.0-beta4 release

7 years agoefl: terrible kludge so avoid termination crash on osx
Jean Guyomarc'h [Thu, 23 Mar 2017 21:58:08 +0000 (22:58 +0100)]
efl: terrible kludge so avoid termination crash on osx

Currently, elementary programs crash on termination on macOS (seems
Sierra-specific). This is very nasty, looks like deep memory corruption...
Without valgrind (or like) support on Sierra, it is difficult to
pinpoint the origin of the problem.

Due to the imminient release, and after discussion with @stefan, this
kludge will allow the release to happen.

This commit MUST be reverted just after the release, so we don't
blindfold ourselves!

Ref T5245

7 years agoelm_flipselector: delete ecore job in group del function
Jaeun Choi [Fri, 31 Mar 2017 05:16:06 +0000 (14:16 +0900)]
elm_flipselector: delete ecore job in group del function

ecore_job_del was missing in a4d2c51d1404c1d8563dd7ac37e64ee105aa6226

7 years agoelm_flipselector: fixed flipselector item deletion process
Jaeun Choi [Thu, 30 Mar 2017 11:13:39 +0000 (20:13 +0900)]
elm_flipselector: fixed flipselector item deletion process

flipselector item destructor had a severe drawback and this patch fixes it.
when deleting multiple items at once, the view needs to be updated only once.
however, the destructor updated the view on deletion of
every single item and it caused a severe performance issue.
the worst case happened when deleting a flipselector object -
with 10000 items, it took 10 seconds to finish deletion.

this patch has two points:
1. if a flipselector object is on deletion, item destructor doesn't update the view
2. otherwise, view update is handled in one job for multiple item deletion

7 years agoFixes latest crash w/rage
Al Poole [Fri, 31 Mar 2017 02:13:03 +0000 (11:13 +0900)]
Fixes latest crash w/rage

Summary:
eina_file_virtualize is causing issues.

memfile_set is better but see attached bt.

What to do???

Reviewers: raster, cedric

Subscribers: jpeg

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

7 years agoelm_code: Fix newline crash on BSD
Andy Williams [Thu, 30 Mar 2017 22:20:22 +0000 (23:20 +0100)]
elm_code: Fix newline crash on BSD

@fix

7 years agoevil_string: fix strndup() for non-NULL terminated strings.
Gustavo Sverzut Barbieri [Wed, 29 Mar 2017 13:11:01 +0000 (10:11 -0300)]
evil_string: fix strndup() for non-NULL terminated strings.

If the given string is not null-terminated, then strlen() will go out
of boundaries, we must limit the lookup to given 'n' parameter.

To do so use strnlen(), that is a strlen() bounded by a maximum size.

7 years agoecore_con: remove warnings if FD_CLOEXEC is undefined.
Gustavo Sverzut Barbieri [Tue, 28 Mar 2017 18:25:39 +0000 (15:25 -0300)]
ecore_con: remove warnings if FD_CLOEXEC is undefined.

currently it's being defined in evil_fcntl.h, but the actual
implementation of fcntl() in evil_fcntl.c is causing problems with
sockets. So one possibility is to remove the ifdef, another is to
change the implementation.

7 years agoeina: fix compilation warning on _WIN32 due missing strndup()
Gustavo Sverzut Barbieri [Tue, 28 Mar 2017 18:22:14 +0000 (15:22 -0300)]
eina: fix compilation warning on _WIN32 due missing strndup()

Eina.h will include Evil.h, but those using direct include of internal
headers must include it as well.

7 years agoothers: support efl_net_dialer_windows.
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 19:11:29 +0000 (16:11 -0300)]
others: support efl_net_dialer_windows.

these are not working on windows yet due other factors, anyway add the
proper ifdefs

7 years agoecore_ipc: use new efl_net_*_windows classes.
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 18:54:38 +0000 (15:54 -0300)]
ecore_ipc: use new efl_net_*_windows classes.

7 years agoecore_con_local_path_new(): implemented for Windows
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 18:42:11 +0000 (15:42 -0300)]
ecore_con_local_path_new(): implemented for Windows

7 years agoimplement efl_net_{socket,dialer,server}_windows
Gustavo Sverzut Barbieri [Wed, 22 Mar 2017 07:29:16 +0000 (04:29 -0300)]
implement efl_net_{socket,dialer,server}_windows

This is the local socket for windows, analogous to AF_UNIX.

`Efl_Net_Socket_Windows` is the base class doing `ReadFile()` and
`WriteFile()` using overlapped I/O, as well as the close procedure
(`FlushFileBuffers()`, `DisconnectNamedPipe()` and
`CloseHandle()`). These are done on top of an existing HANDLE that is
set by `Efl_Net_Dialer_Windows` (from `CreateFile()`) or
`Efl_Net_Server_Windows` (from `CreateNamedPipe()`).

The overlapped I/O will return immediately, either with operation
completed or `ERROR_IO_PENDING`, which means the kernel will execute
that asynchronously and will later `SetEvent(overlapped.hEvent)` which
is an event we wait on our main loop. That `overlapped` handle must
exist during the call lifetime, thus cannot be bound to `pd`, as we
may call `CancelIo()` but there is no guarantee the memory won't be
touched, in that case we keep the overlapped around, but without an
associated object.

Windows provides no notification "can read without blocking" or
non-blocking calls that returns partial data. The way to go is to use
these overlapped I/O, with an initial `ReadFile()` to an internal
buffer, once that operation finishes, we callback the user to says
there is something to read (`efl_io_reader_can_read_set()`) and wait
until `efl_io_reader_read()` is called to consume the available data,
then `ReadFile()` is called again to read more data to the same
internal buffer.

Likewise, there is no "can write without blocking" or non-blocking
calls that sends only partial data. The way to go is to get user bytes
in `efl_io_writer_write()` and copy them in an internal buffer, then
call `WriteFile()` on that and inform the user nothing else can be
written until that operation completes
(`efl_io_writer_can_write_set()`).

This is cumbersome since we say we "sent" stuff when we actually
didn't, it's still in our internal buffer (`pd->send.bytes`), but
nonetheless the kernel and the other peer may be adding even more
buffers, in this case we need to do a best effort to get it
delivery. A particular case is troublesome: `write() -> close()`, this
may result in `WriteFile()` pending, in this case we wait using
`GetOverlappedResult()`, *this is nasty and may block*, but it's the
only way I see to cope with such common use case.

Other operations, like ongoing `ReadFile()` or `ConnectNamedPipe()`
will be canceled using `CancelIo()`.

Q: Why no I/O Completion Port (IOCP) was used? Why no
   CreateThreadpoolIo()? These perform much better!

A: These will call back from secondary threads, but in EFL we must
   report back to the user in order to process incoming data or get
   more data to send. That is, we serialize everything to the main
   thread, making it impossible to use the benefits of IOCP and
   similar such as CreateThreadpoolIo(). Since we'd need to wakeup the
   main thread anyways, using `OVERLAPPED.hEvent` with
   `ecore_main_win32_handler_add()` does the job as we expect.

Thanks to Vincent Torri (vtorri) for his help getting this code done
with an example on how to do the NamedPipe handling on Windows.

7 years agoecore_con_*_example: compile on win32.
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 19:08:39 +0000 (16:08 -0300)]
ecore_con_*_example: compile on win32.

 - win32 doesn't provide getline().
 - _write() exists, use _write_() instead

7 years agoecore_ipc_client_example: win32 doesn't provide getline().
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 15:45:30 +0000 (12:45 -0300)]
ecore_ipc_client_example: win32 doesn't provide getline().

7 years agoefl_net_dialer_unix_example: read in loop while "can_read".
Gustavo Sverzut Barbieri [Mon, 27 Mar 2017 13:53:43 +0000 (10:53 -0300)]
efl_net_dialer_unix_example: read in loop while "can_read".

While in UNIX we use 'select()/poll()' to query for read fds and this
will eventually callback with "can_read" event, use the loop to match
other implementations where can_read keeps true if not all data was
read.

7 years agofix ecore con client exmaple to match cmdline help output for options
Carsten Haitzler (Rasterman) [Wed, 29 Mar 2017 07:49:03 +0000 (16:49 +0900)]
fix ecore con client exmaple to match cmdline help output for options

7 years agofix ecore con server exmaple to match cmdline help output for options
Carsten Haitzler (Rasterman) [Wed, 29 Mar 2017 07:28:21 +0000 (16:28 +0900)]
fix ecore con server exmaple to match cmdline help output for options

7 years agowin: Mark unstable APIs as @beta (stack API)
Jean-Philippe Andre [Wed, 29 Mar 2017 00:39:34 +0000 (09:39 +0900)]
win: Mark unstable APIs as @beta (stack API)

We have a tag for unstable API, use it. It'll be visible in the
doc and force users to add the macro before being able to compile
code.

This amends d8dd685966858dcc393302.

7 years agowindow stacks - make these unstable bta api for now
Carsten Haitzler (Rasterman) [Tue, 28 Mar 2017 04:51:39 +0000 (13:51 +0900)]
window stacks - make these unstable bta api for now

until settled, make these as beta for now.

7 years agoecore timeline animators - actually state the starting time
Carsten Haitzler (Rasterman) [Tue, 28 Mar 2017 02:44:22 +0000 (11:44 +0900)]
ecore timeline animators - actually state the starting time

the starting time has always been "now" like in timers (loop time). it
would appear some people don't know this.

7 years agoecore pub headers - use __sun not __sun__ for ifdef for solaris
Carsten Haitzler (Rasterman) [Mon, 27 Mar 2017 10:09:25 +0000 (19:09 +0900)]
ecore pub headers - use __sun not __sun__ for ifdef for solaris

7 years agoEina_Value: strdup() is used, so include string.h
Vincent Torri [Sun, 26 Mar 2017 16:48:10 +0000 (18:48 +0200)]
Eina_Value: strdup() is used, so include string.h

7 years agoEcore: siginfo_t type is defined in sys/siginfo.h on Solaris
Vincent Torri [Sun, 26 Mar 2017 15:48:13 +0000 (17:48 +0200)]
Ecore: siginfo_t type is defined in sys/siginfo.h on Solaris

7 years agogengrid: fix the crash in _elm_gengrid_item_edge_check
Amitesh Singh [Sun, 26 Mar 2017 15:14:09 +0000 (20:44 +0530)]
gengrid: fix the crash in _elm_gengrid_item_edge_check

_elm_gengrid_item_edge_check can have eo_it as NULL if none of widget item
is focused. This could happen if item_focus is not enabled on items.

test case: elm test -> gengrid 2 (enable only "focus hightligt set") and move focus.

@fix

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
7 years agoGengrid: Bring the item into view scope before swapping.
Umesh Tanwar [Sun, 26 Mar 2017 14:46:13 +0000 (20:16 +0530)]
Gengrid: Bring the item into view scope before swapping.

Summary:
The gengrid item should be into view scope while reordering the items.

@fix
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Test Plan: elmementary_test -> gengrid 2 -> horizontal mode + reordering

Reviewers: singh.amitesh, cedric

Subscribers: cedric, atulfokk, jpeg

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

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
7 years agoEcore_Con: Fix compilation on Solaris
Vincent Torri [Sun, 26 Mar 2017 09:49:19 +0000 (11:49 +0200)]
Ecore_Con: Fix compilation on Solaris

FIONREAD is defined in sys/filio.h

7 years agoelm_code: fix CID 1368489
Andy Williams [Sat, 25 Mar 2017 12:59:13 +0000 (12:59 +0000)]
elm_code: fix CID 1368489

@fix

7 years agoefreet: Don't prefer the second perfect over the first in desktop_exec_find()
Derek Foreman [Fri, 24 Mar 2017 19:28:37 +0000 (14:28 -0500)]
efreet: Don't prefer the second perfect over the first in desktop_exec_find()

We test a second match for a perfect match, then stop all further processing,
but we never test the first match. This leads to a situation where a system
wide .desktop file is given precedence over a local override.

Instead, check the first match too.

 #test-e

7 years agoecore-evas: better handling for pointer_warp with buffer canvas
Mike Blumenkrantz [Thu, 23 Mar 2017 17:11:44 +0000 (13:11 -0400)]
ecore-evas: better handling for pointer_warp with buffer canvas

if buffer canvas is not image object, this needs to emit a move event
to be consistent with other engines

probably this should emit events in all cases, but adding for image buffers
this close to release seems potentially risky so I'll leave that for later

ref 4a691f79df88d4b26c5af48ffb811e28f031e2f1

7 years agoevas_events: look for seats on hash instead of input devices
Bruno Dilly [Thu, 23 Mar 2017 22:00:44 +0000 (19:00 -0300)]
evas_events: look for seats on hash instead of input devices

Summary:
Otherwise it won't ever find the modifier masks.

Fixes T5146

@fix

Reviewers: iscaro, Jaehyun_Cho

Subscribers: cedric, jpeg

Maniphest Tasks: T5146

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

7 years agoecore-drm2: Remove unused field in Output structure
Chris Michael [Fri, 24 Mar 2017 12:54:52 +0000 (08:54 -0400)]
ecore-drm2: Remove unused field in Output structure

The 'planes' field in Ecore_Drm2_Output structure is unused and can
thus be removed here.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeet cmdline tool - dont give garbage certificate length if there is none
Carsten Haitzler (Rasterman) [Fri, 24 Mar 2017 05:03:20 +0000 (14:03 +0900)]
eet cmdline tool - dont give garbage certificate length if there is none

7 years agoecore audio: Fix loss of last stream
Jiwon Kim [Fri, 24 Mar 2017 01:34:53 +0000 (10:34 +0900)]
ecore audio: Fix loss of last stream

Summary:
pa_stream's write callback requires to size of stream data
using 'len' parameter.
This size depend on pulse audio's internal status and not
consistent.

When a efl read audio's last stream, length of read('bread')
is less than write callback's 'len' parameter.
If the gap between 'len' and 'bread' is small,
last stream is played fortunately.
Otherwise, the last stream is discarded.
(It is doubtful about pa_stream's pre-buffering.)

To prevent it, push silent stream which is amount
of deficient length.

@fix T5281

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, jpeg, woohyun

Maniphest Tasks: T5281

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

7 years agoecore_evas: delete exit idler when done with it
Jean Guyomarc'h [Thu, 23 Mar 2017 20:16:10 +0000 (21:16 +0100)]
ecore_evas: delete exit idler when done with it

7 years agoEina_Xattr: fix memory corruption
Artem Popov [Thu, 23 Mar 2017 14:27:22 +0000 (16:27 +0200)]
Eina_Xattr: fix memory corruption

Summary:
There should be reallocation +1 (for last '\0') and also
checking >0, not !=0, because of getxattr can return -1 in case of error
@fix

Reviewers: cedric, raster, NikaWhite, jpeg

Reviewed By: NikaWhite

Subscribers: myoungwoon

Tags: #efl

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

7 years agoecore_evas extn - fix buffer n check for lock files with untrusted val
Carsten Haitzler (Rasterman) [Thu, 23 Mar 2017 07:27:19 +0000 (16:27 +0900)]
ecore_evas extn - fix buffer n check for lock files with untrusted val

the code added by minkyoung has a definite security flaw here trusting
e->response to be within a small range when all it is is an int -
range is not limited other than that... so fix the code to check for
range like further code below does.

this commit went in 2 days ago... so not an existing bug fix.

7 years agoevas: Fix a rare issue with GL and map and mask
Jean-Philippe Andre [Tue, 21 Mar 2017 10:10:44 +0000 (19:10 +0900)]
evas: Fix a rare issue with GL and map and mask

The things you learn to love...

The situation was:
- An object is mapped (naviframe in an animation)
- One of its children has a mask
- The window is rotated by 90 or 270 degrees (landscape)

The mask glsl code to invert the x,y coordinate depends on the
screen rotation and this somehow was wrong.

Tested on Tizen and in elm_test "Masking", made with @jiin.moon.

@fix

7 years agoelm_code: fix keyboard selection forward
Andy Williams [Tue, 21 Mar 2017 22:36:53 +0000 (22:36 +0000)]
elm_code: fix keyboard selection forward

@fix

7 years agoelm_map: Fix work of elm_map_overlay_icon_set if icon is NULL.
se.osadchy [Tue, 21 Mar 2017 18:13:15 +0000 (11:13 -0700)]
elm_map: Fix work of elm_map_overlay_icon_set if icon is NULL.

Summary:
Delete check on NULL for icon object due to incorrect work. Function must delete
icon in map overlay (according to documentation) if we set NULL, but with this check -
nothing happening and after elm_map_overlay_icon_get we have not NULL returned value.
@fix

Reviewers: cedric, Hermet, raster, jpeg

Reviewed By: cedric

Subscribers: artem.popov

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

7 years agoecore: proper macro usage for double comparision. Summary: The comparisions are done...
Umesh Tanwar [Tue, 21 Mar 2017 18:11:19 +0000 (11:11 -0700)]
ecore: proper macro usage for double comparision. Summary: The comparisions are done between doubles.  EINA_FLT_EQ -> EINA_DBL_EQ

Summary: Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>

Reviewers: singh.amitesh, cedric

Subscribers: jpeg, atulfokk

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoecore_evas_extn: do not update plug image when lockfile is invalid.
Minkyoung Kim [Tue, 21 Mar 2017 18:05:43 +0000 (11:05 -0700)]
ecore_evas_extn: do not update plug image when lockfile is invalid.

Summary:
This prevent invalid shared memory access.
Invalid access occur when server is resized sequentially from now to A-size
to B-size, and client receive A resize message after resizing B.
Then client try to render plug image with A-size, but shared memory is B-size
buffer. Size are mismatch. This makes segmentation fault when uploading texture(gl)
or rendering image(sw).

Test Plan: Indicator rendering on Tizen3.0 platform.

Reviewers: jypark, wonsik, dkdk, scholb.kim, jiin.moon, jpeg, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agogenlist: Fix another issue with insert sorted
Jean-Philippe Andre [Mon, 20 Mar 2017 13:24:41 +0000 (22:24 +0900)]
genlist: Fix another issue with insert sorted

Fixes T5274

@fix

7 years agoevas gl: Fix a compilation warning
Jean-Philippe Andre [Mon, 20 Mar 2017 03:51:16 +0000 (12:51 +0900)]
evas gl: Fix a compilation warning

The fallback lib handle is not required unless EGL/GLES is used.

7 years agoeina_debug: do not leak a spinlock when the path is not given
Marcel Hollerbach [Sat, 18 Mar 2017 21:06:30 +0000 (22:06 +0100)]
eina_debug: do not leak a spinlock when the path is not given

7 years agogl_drm: Fix KHR partial update support
Derek Foreman [Fri, 17 Mar 2017 20:32:26 +0000 (15:32 -0500)]
gl_drm: Fix KHR partial update support

I fixed this in other engines but missed this one.  The result is some
terrible flickering on gl_drm on recent mali drivers.

7 years agoecore_drm2: Move function call after the NULL check
Derek Foreman [Fri, 17 Mar 2017 20:06:39 +0000 (15:06 -0500)]
ecore_drm2: Move function call after the NULL check

Was dereferencing ob before NULL checking it.  What could possibly go
wrong?

7 years agogl_drm: Properly disable EGL_EXT_buffer_age when we don't have it
Derek Foreman [Fri, 17 Mar 2017 20:04:47 +0000 (15:04 -0500)]
gl_drm: Properly disable EGL_EXT_buffer_age when we don't have it

If we don't have EGL_EXT_buffer_age then we don't have buffer age - it's
a completely independent extension to KHR partial update.

This partially fixes partial update on recent mali drivers.

7 years agotheme: remove event gaps in enlightenment window frames
Mike Blumenkrantz [Fri, 17 Mar 2017 17:16:53 +0000 (13:16 -0400)]
theme: remove event gaps in enlightenment window frames

@fix

7 years agoefreet: CRI and fail after 10 attempts to connect to efreetd
Mike Blumenkrantz [Fri, 17 Mar 2017 17:16:53 +0000 (13:16 -0400)]
efreet: CRI and fail after 10 attempts to connect to efreetd

if efreetd cannot be connected to, stop infinitely trying to spawn it
since this generates crazy cpu load

probably this path should also send some cache events so that watchers
do not simply idle forever

ref T5200

7 years agoecore-evas: handle title_set and name_class_set for buffer engine
Mike Blumenkrantz [Fri, 17 Mar 2017 17:16:53 +0000 (13:16 -0400)]
ecore-evas: handle title_set and name_class_set for buffer engine

7 years agotheme: make bryce vertical clipping work as expected
Mike Blumenkrantz [Fri, 17 Mar 2017 17:16:53 +0000 (13:16 -0400)]
theme: make bryce vertical clipping work as expected

ref a94351a789ae7c11efb72c1b9f35cd7fae4d7fa2

7 years agoevas table: CRI when attempting to pack a table child into another table
Mike Blumenkrantz [Fri, 17 Mar 2017 17:16:53 +0000 (13:16 -0400)]
evas table: CRI when attempting to pack a table child into another table

@fix

7 years agoelm_code: Update and demo status messages inline
Andy Williams [Fri, 17 Mar 2017 10:07:04 +0000 (10:07 +0000)]
elm_code: Update and demo status messages inline

7 years agoelementary: enhance atspi accessible documentation
Shinwoo Kim [Fri, 17 Mar 2017 07:52:16 +0000 (16:52 +0900)]
elementary: enhance atspi accessible documentation

7 years agogengrid: avoid call select callback twice in mode ELM_OBJECT_MULTI_SELECT_MODE_WITH_C...
Vyacheslav Reutskiy [Fri, 17 Mar 2017 06:59:26 +0000 (08:59 +0200)]
gengrid: avoid call select callback twice in mode ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL

If multi select mode is ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL and
user code try unselect a item and select another part which not
realized select callback calls twice in this case. For avoid this no
needs focus newly selected item.

@fix

7 years agoluncher: improving engage animations
Andy Williams [Thu, 16 Mar 2017 22:57:03 +0000 (22:57 +0000)]
luncher: improving engage animations

7 years agoeina_file: fixed T2244
Ivan Furs [Wed, 15 Mar 2017 17:49:19 +0000 (10:49 -0700)]
eina_file: fixed T2244

Summary:
dirty fix for 'eet' problems with file deletion on WINDOWS
to work with the commit: D4698, D4699

Reviewers: cedric, NikaWhite, rimmed, vtorri, raster

Reviewed By: cedric

Subscribers: artem.popov, cedric, jpeg

Maniphest Tasks: T2244

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoevas: drop redundant pointer check
Bryce Harrington [Wed, 15 Mar 2017 17:40:01 +0000 (10:40 -0700)]
evas: drop redundant pointer check

Summary:
The function already has a precondition test for !font, so this
additional test will never trigger.

@fix CID1371525

Reviewers: cedric, jpeg

Subscribers: jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoelementary: Fix minor typo in efl_ui_win.eo
Chris Michael [Tue, 14 Mar 2017 14:51:01 +0000 (10:51 -0400)]
elementary: Fix minor typo in efl_ui_win.eo

Small patch to fix a minor typo in the "noblank" property of
efl_ui_win.eo

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agogenlist: Fix a leak
Jean-Philippe Andre [Tue, 14 Mar 2017 14:07:34 +0000 (23:07 +0900)]
genlist: Fix a leak

Thanks @herdsman

7 years agoecore: Fix memory leak and logic
Jean-Philippe Andre [Tue, 14 Mar 2017 13:28:50 +0000 (22:28 +0900)]
ecore: Fix memory leak and logic

@cedric... how could this even happen??

7 years agorelease: Update NEWS and bump version for 1.19.0-beta3 release
Stefan Schmidt [Tue, 14 Mar 2017 09:58:39 +0000 (10:58 +0100)]
release: Update NEWS and bump version for 1.19.0-beta3 release

7 years agoecore_animator: improve comparision check for stopping animator.
Umesh Tanwar [Tue, 14 Mar 2017 08:54:16 +0000 (14:24 +0530)]
ecore_animator: improve comparision check for stopping animator.

Summary:
Time cmparision does not ensure the corrctness of posotion.
It is beacuse of double number calculation. Double number calculation
are not convertable.for example:
   1/39 = 0.02564102564;
   but 0.02564102564 * 39 = 0.99999999996 != 1;

The addition check for pos ensure the pos to be reached at its correct
position.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: cedric, singh.amitesh, jpeg, raster

Reviewed By: raster

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
7 years agoevas gl: Add a hack for GLES 3.1 with NVIDIA + GLVND
Jean-Philippe Andre [Tue, 14 Mar 2017 07:49:01 +0000 (16:49 +0900)]
evas gl: Add a hack for GLES 3.1 with NVIDIA + GLVND

I believe there's a limitation in libglvnd where it doesn't
propagate the calls to eglGetProcAddress() properly to the vendor
library.

See also 265c851a8f2ac3cd1f93d523736d4cce0454fe2c

7 years agoevas: Fix crash with events on the canvas
Jean-Philippe Andre [Tue, 14 Mar 2017 06:30:40 +0000 (15:30 +0900)]
evas: Fix crash with events on the canvas

Since ecore now uses efl events to feed input events to the
canvas, anyone can now listen to any event on the evas. But
when using the legacy API the event info needs to be the legacy
struct, and not the eo event info otherwise crashes will happen.

While this is a new use of events, I consider it valid and it's
better to fix it rather than disallowing it. Fixed by wrapping
evas events the same way evas object events were handled.

Fixes T5266

7 years agoevas gl: Fix usage of OSMesa
Jean-Philippe Andre [Tue, 14 Mar 2017 05:45:50 +0000 (14:45 +0900)]
evas gl: Fix usage of OSMesa

It seems OSMesa was recently updated to not expose symbols statically,
so dlsym() returns invariably NULL. GetProcAddress must be used. Note
though that the extension "EGL_KHR_get_all_proc_addresses" is not
present (OSMesa is OpenGL, not GLES), and there is anyway no list
of extensions in OSMesa (at the WSI level, glGetString() returns a
ton of GL extensions as expected).

My OSMesa version is 11.2.0 (mesa 17.0.1).

This fixes make check.

@fix

7 years agoedje: Move prev_description out of ephysics ifdef
Jean-Philippe Andre [Tue, 14 Mar 2017 05:06:24 +0000 (14:06 +0900)]
edje: Move prev_description out of ephysics ifdef

prev_description was used when HAVE_EPHYSICS is set, which is the
default, but I also added a use in 7072fbc2bfe25881 where the map
was not properly reset.

This removes an ugly #ifdef and opens the door to other fixes
similar to that map one.

7 years agogenlist: Fix some more decorate mode issues
Jean-Philippe Andre [Mon, 13 Mar 2017 15:26:50 +0000 (00:26 +0900)]
genlist: Fix some more decorate mode issues

The item, after having been unswallowed from its decorate
item, becomes unclipped and unparented. The parent was well
reset, but the clip wasn't.

Test case:
  elementary_test -to "Genlist Decorate Item Mode"

I'm sure some bugs are still lurking. Genlist is so lovely.

Fixes T1551

7 years agoedje: Fix rare issue with map
Jean-Philippe Andre [Mon, 13 Mar 2017 14:34:22 +0000 (23:34 +0900)]
edje: Fix rare issue with map

In the following sequence, the swallowed object map property is
never reset as it should have been:

- swallow object
- start program, change state to have a map
- do something
- start program, change state to have no map
    but before render, unswallow the object

At this point, the object will never be un-mapped. This is weird.
Somehow edje_calc avoids calling evas_object_map_[enable_]_set
excessively, but I believe the issue is that the object does not
need recalc. Its container needed recalc, not the child (which is
mapped). I'm not 100% sure.

Test case:
  elementary_test -to "Genlist Decorate Item Mode"
  Click on rotate, select a few items, scroll up and down. Enjoy.

Ref T1551

@fix

7 years agogenlist: Make sure only one item is decorated
Jean-Philippe Andre [Mon, 13 Mar 2017 11:48:31 +0000 (20:48 +0900)]
genlist: Make sure only one item is decorated

In "Genlist Decorate Item Mode" after decorating a few items
(rotate or slide, doesn't matter), only one item or none should
be decorated. Scrolling up and down the genlist should work just
fine. This fixes massive render issues and inconsistent states
of the items in this test case.

"rotate" mode is still going nuts.

Ref T1551

7 years agogenlist: Make logic more readable
Jean-Philippe Andre [Mon, 13 Mar 2017 11:46:56 +0000 (20:46 +0900)]
genlist: Make logic more readable

7 years agogenlist: Fix invalid call to stack above/below
Jean-Philippe Andre [Mon, 13 Mar 2017 11:18:33 +0000 (20:18 +0900)]
genlist: Fix invalid call to stack above/below

Test process:
  elementary_test -to "Genlist Decorate Item Mode"

Slide any item to the right, observe error logs.

Ref T1551

7 years agoevas: Add more debug info to an ERR message (stack)
Jean-Philippe Andre [Mon, 13 Mar 2017 10:18:02 +0000 (19:18 +0900)]
evas: Add more debug info to an ERR message (stack)

Also use eina_safety as those are safety checks. Helps with GDB
(single breakpoint in eina_safety).

7 years agoRevert "ecore-evas reduce modifier modification on every event to cut cpu"
Cedric BAIL [Mon, 13 Mar 2017 18:11:44 +0000 (11:11 -0700)]
Revert "ecore-evas reduce modifier modification on every event to cut cpu"

This reverts commit 3a9d54085b8751cbd0bca4698a8ff702d9bdc7b4.

I got crash and a lot of valgrind warning with this patch. All in all, I
think we can just wait for next release and do a proper cleanup of our API
to not rely on strings at all.

For references this is the first valgrind warning I get (Not going to past the 100 following one) :

==11860== Invalid write of size 4
==11860==    at 0xB10DDD1: _ecore_event_evas_modifier_lock_update (ecore_input_evas.c:432)
==11860==    by 0xB10E3DD: ecore_event_evas_mouse_move (ecore_input_evas.c:725)
==11860==    by 0x5D5115D: _ecore_call_handler_cb (ecore_private.h:317)
==11860==    by 0x5D5115D: _ecore_event_call (ecore_events.c:518)
==11860==    by 0x5D5CC47: _ecore_main_loop_iterate_internal (ecore_main.c:2381)
==11860==    by 0x5D5D42E: ecore_main_loop_begin (ecore_main.c:1289)
==11860==    by 0x5D5D490: _efl_loop_begin (ecore_main.c:2831)
==11860==    by 0x5D59555: efl_loop_begin (efl_loop.eo.c:32)
==11860==    by 0x14F275: main (test.c:1188)
==11860==  Address 0x19a36828 is 7 bytes after a block of size 1 alloc'd
==11860==    at 0x4C2AACE: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11860==    by 0x4C2CC81: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==11860==    by 0xB10DDA8: _ecore_event_evas_modifier_lock_update (ecore_input_evas.c:425)
==11860==    by 0xB10E3DD: ecore_event_evas_mouse_move (ecore_input_evas.c:725)
==11860==    by 0x5D5115D: _ecore_call_handler_cb (ecore_private.h:317)
==11860==    by 0x5D5115D: _ecore_event_call (ecore_events.c:518)
==11860==    by 0x5D5CC47: _ecore_main_loop_iterate_internal (ecore_main.c:2381)
==11860==    by 0x5D5D42E: ecore_main_loop_begin (ecore_main.c:1289)
==11860==    by 0x5D5D490: _efl_loop_begin (ecore_main.c:2831)
==11860==    by 0x5D59555: efl_loop_begin (efl_loop.eo.c:32)
==11860==    by 0x14F275: main (test.c:1188)

7 years agoeina: Fix more typo in doxygen
Chris Michael [Mon, 13 Mar 2017 19:50:37 +0000 (15:50 -0400)]
eina: Fix more typo in doxygen

The eina_(rw)_slice_startswith functions both incorrectly describe how
the 'prefix' parameter is used, so fix those also

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeina: Fix typo in doxygen
Chris Michael [Mon, 13 Mar 2017 16:11:46 +0000 (12:11 -0400)]
eina: Fix typo in doxygen

eina_(rw)_slice_startswith functions both incorrectly describe the
return value as 'slice ends with', when clearly the function is used
to find if a slice 'starts with' a prefix

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas reduce modifier modification on every event to cut cpu
Carsten Haitzler (Rasterman) [Mon, 13 Mar 2017 08:37:32 +0000 (17:37 +0900)]
ecore-evas reduce modifier modification on every event to cut cpu

this only modifiers modifiers if the modifier mask changed. it stores
it per seat and matches up before deciding to actually modifier the
modifiers. this SHOULD fix T5252

@fix

7 years agoelementary: refactor code to avoid duplication in elm_code_widget.
Cedric Bail [Sun, 12 Mar 2017 22:36:17 +0000 (15:36 -0700)]
elementary: refactor code to avoid duplication in elm_code_widget.

7 years agoecore_evas: keep VNC API BETA until multi evas output is in, just in case.
Cedric Bail [Sun, 12 Mar 2017 18:17:43 +0000 (11:17 -0700)]
ecore_evas: keep VNC API BETA until multi evas output is in, just in case.

7 years agoelm_code: Don't leak rows when we resize down
Andy Williams [Sun, 12 Mar 2017 13:35:41 +0000 (13:35 +0000)]
elm_code: Don't leak rows when we resize down

Thanks Cedric :)
@fix

7 years agoelementary: force elm_code line fill on object resize.
Cedric Bail [Sun, 12 Mar 2017 00:52:04 +0000 (16:52 -0800)]
elementary: force elm_code line fill on object resize.

This fix elementary_test use of elm_code where the object needed
to get clicked to have their content displayed. The reason was that
the line where appended while the object size was 0 and once it was
resized the line where not displayed.

7 years agoluncher: Smoothing engage theme
Andy Williams [Sat, 11 Mar 2017 23:11:10 +0000 (23:11 +0000)]
luncher: Smoothing engage theme

7 years agoedje/examples: don't alter source directory
Jean Guyomarc'h [Fri, 10 Mar 2017 23:02:41 +0000 (00:02 +0100)]
edje/examples: don't alter source directory

We would have removed files from the source directory before... oops...

7 years agoelementary: fix elm_code widget tests by actually setting a font.
Cedric BAIL [Fri, 10 Mar 2017 23:00:23 +0000 (15:00 -0800)]
elementary: fix elm_code widget tests by actually setting a font.

7 years agoluncher: Update theme to ensure we're sending scale reset signls
Andy Williams [Fri, 10 Mar 2017 22:14:29 +0000 (22:14 +0000)]
luncher: Update theme to ensure we're sending scale reset signls

7 years agoecore-evas-wayland: update no-op configure commit case for new acking method
Mike Blumenkrantz [Fri, 10 Mar 2017 21:11:19 +0000 (16:11 -0500)]
ecore-evas-wayland: update no-op configure commit case for new acking method

ref 1b9970658f17d6b130a24cf9a960e1a43b696160
ref 5e7456a3150ddaed135f702c70800c7ed3d4f16f

7 years agoRevert "evas_table: abort when there is already the option struct"
Mike Blumenkrantz [Fri, 10 Mar 2017 20:54:34 +0000 (15:54 -0500)]
Revert "evas_table: abort when there is already the option struct"

This reverts commit 008711b3b0f0b33e47e6b2fae7f925a0a9fb76ee.

this breaks elm_table_pack_set() as well as other valid usage and is
not a valid change to the code

7 years agoecore-evas-x: set flag for maximized state
Mike Blumenkrantz [Fri, 10 Mar 2017 20:54:34 +0000 (15:54 -0500)]
ecore-evas-x: set flag for maximized state

fixes initial maximize state

7 years agoecore-evas-wayland: commit on no-op configure events
Mike Blumenkrantz [Fri, 10 Mar 2017 20:54:34 +0000 (15:54 -0500)]
ecore-evas-wayland: commit on no-op configure events

this handles the case of a window configure not triggering any visible change

fix T5192

7 years agoelm_code: Fix position of cursor in selection
Andy Williams [Tue, 7 Mar 2017 15:46:41 +0000 (15:46 +0000)]
elm_code: Fix position of cursor in selection

Make sure cursor is always at the left of our selection
@fix

7 years agoGengrid: Correct double comparision.
Umesh Tanwar [Fri, 10 Mar 2017 06:29:52 +0000 (11:59 +0530)]
Gengrid: Correct double comparision.

Summary:
 Use the more accurate EINA_DBL_EQ for double comparision.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: singh.amitesh, cedric, jpeg, raster

Reviewed By: singh.amitesh

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
7 years agoecore_animator: use EINA_DBL_EQ for comparing double values
Umesh Tanwar [Fri, 10 Mar 2017 06:19:16 +0000 (11:49 +0530)]
ecore_animator: use EINA_DBL_EQ for comparing double values

Summary:
EINA_FLT_EQ was used to compare double values. replace it with EINA_DBL_EQ

@fix
Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: raster, cedric, singh.amitesh

Reviewed By: singh.amitesh

Subscribers: atulfokk

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

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
7 years agoRevert "Genlist: Calculate the min size of content before item realize"
Jean-Philippe Andre [Fri, 10 Mar 2017 06:18:57 +0000 (15:18 +0900)]
Revert "Genlist: Calculate the min size of content before item realize"

This reverts commit 60566ca34d0036d21e5d134ba299b6f0fa26ce86.

This broke the layout in "Genlist Full Widget"

7 years agoGenlist: Calculate the min size of content before item realize
Jeeyong Um [Fri, 10 Mar 2017 05:59:47 +0000 (14:59 +0900)]
Genlist: Calculate the min size of content before item realize

Summary:
Genlist item doesn't change its size when its content size is changed,
but its size is determined in realization.
Therefore, deferred calculations for content should be performed immediately
before swallowing it by genlist item.

Test Plan: make and run attached sample

Reviewers: cedric, SanghyeonLee, jpeg

Reviewed By: jpeg

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

7 years agogenlist: Fix invalid state of reused content
Jean-Philippe Andre [Fri, 10 Mar 2017 02:17:16 +0000 (11:17 +0900)]
genlist: Fix invalid state of reused content

If an item is marked as disabled it should be re-enabled
before being put in the reusable contents cache. Otherwise
a following use of this object may result in a disabled
item being used, making the UI effectively disfunctional.

Also modify the test case to show and test this behaviour.

Add an efl_isa() to protect calls to elm_widget APIs.

Fixes T5236

@fix

7 years agoevas - gl - remove warning for unused var with opengl vs gles
Carsten Haitzler (Rasterman) [Fri, 10 Mar 2017 01:56:19 +0000 (10:56 +0900)]
evas - gl - remove warning for unused var with opengl vs gles

7 years agoemotion: avoid crash during shutdown due to Ecore_Event queue.
Cedric BAIL [Fri, 10 Mar 2017 00:17:45 +0000 (16:17 -0800)]
emotion: avoid crash during shutdown due to Ecore_Event queue.

7 years agoelocation: avoid crash during shutdown due to Ecore_Event queue.
Cedric BAIL [Fri, 10 Mar 2017 00:17:24 +0000 (16:17 -0800)]
elocation: avoid crash during shutdown due to Ecore_Event queue.

7 years agoelput: avoid crash during shutdown due to Ecore_Event queue.
Cedric BAIL [Fri, 10 Mar 2017 00:17:10 +0000 (16:17 -0800)]
elput: avoid crash during shutdown due to Ecore_Event queue.