platform/upstream/efl.git
8 years agotests: add missing symbols
Jean Guyomarc'h [Sat, 1 Oct 2016 19:09:54 +0000 (21:09 +0200)]
tests: add missing symbols

make check failed on OSX (clang) because of missing symbols.

8 years agotests: check for the presence of clock_gettime()
Jean Guyomarc'h [Sat, 1 Oct 2016 15:32:13 +0000 (17:32 +0200)]
tests: check for the presence of clock_gettime()

macOS Sierra provides clock_gettime().
Instead of testing for the Mach kernel to re-implement clock_gettime(),
let first check that clock_gettime() is not already declared. Older OSX
versions will have the Mach-only fallback.

@fix

8 years agotests: mimic POSIX API in clock_gettime()
Jean Guyomarc'h [Sat, 1 Oct 2016 15:29:24 +0000 (17:29 +0200)]
tests: mimic POSIX API in clock_gettime()

Let the clock_gettime() re-implementation have the same signature than
its POSIX definition.

8 years agoeina: fix macos spinlocks and upgrade API to sierra
Jean Guyomarc'h [Sat, 1 Oct 2016 13:09:37 +0000 (15:09 +0200)]
eina: fix macos spinlocks and upgrade API to sierra

8 years agoeo - eo ptr lookup - do some prefetches to get some micro-speedups
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 14:37:34 +0000 (23:37 +0900)]
eo - eo ptr lookup - do some prefetches to get some micro-speedups

prefetching a bit helps.. a bit like 0.2% or so... but it does help. :)

8 years agoeina list - make use of prefetch for minor speedups
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 08:51:25 +0000 (17:51 +0900)]
eina list - make use of prefetch for minor speedups

i see a speedup of about 8% over a series of list walking and freeing
functions given this change. it's a small speedup but still not too
shabby just for some prefetches thrown in. ymmv depending on memory
subsystem, memory speed itself, cpu and architecture.

@optimize

8 years agoeina - add prefetch macros to map to compiler builtins if they exist
Carsten Haitzler (Rasterman) [Sat, 1 Oct 2016 06:36:00 +0000 (15:36 +0900)]
eina - add prefetch macros to map to compiler builtins if they exist

this allows you to portably use prefetch compiler builtins. this adds
EINA_PREFETCH(), EINA_PREFETCH_WRITE(), EINA_PREFETCH_NOCACHE() and
EINA_PREFETCH_NOCACHE_WRITE() macros to do this that are "nothing" if
your compiler doesnt support it. of course it also requires your
compielr compile instructions for your architecture and it can only do
so if the architecture it compiles for has these instructions, so be
aware.

@feat

8 years agoEvas_Device: Fix API name.
Guilherme Iscaro [Thu, 29 Sep 2016 20:51:14 +0000 (17:51 -0300)]
Evas_Device: Fix API name.

Summary:
It should be evas_device_add_full() in order to follow the EFL
name pattern.

Reviewers: DaveMDS, bdilly

Reviewed By: DaveMDS, bdilly

Subscribers: cedric, jpeg

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

8 years agoefl: Update Efl.Model to use new Efl_Promise and Efl_Future
Felipe Magno de Almeida [Thu, 29 Sep 2016 16:12:09 +0000 (13:12 -0300)]
efl: Update Efl.Model to use new Efl_Promise and Efl_Future

Replaced all Eina_Promise_Owner and Eina_Promise with Efl_Promise and
Efl_Future.

8 years agoeo - goto-ify a chunk iof code moving debug printfs out of hot paths
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 06:29:34 +0000 (15:29 +0900)]
eo - goto-ify a chunk iof code moving debug printfs out of hot paths

this moves a lot of error case handling into goto's so the code gets
out of the hot path and this should help expecially since variou
smacros do things like:

   do { char buf[256]; sprintf(buf, fmt, ptr); _eo_pointer_error(buf); } while (0)

   _Efl_Class *klass; \
   do { \
      klass = _eo_class_pointer_get(klass_id); \
      if (!klass) { \
         _EO_POINTER_ERR("Class (%p) is an invalid ref.", klass_id); \
      return ret; \
   } \
} while (0)

so putting quite a chunk of code inside a rare "if this errors"
handler that will cause l1 cache misses and this we don't want, thus
moving stuff in eo core out of hot paths to cut down on overhead. yes
it might not be pretty but it's kind of the right thing at such a core
level of efl. this also does the same to the eo base class as this is
also going to be relatively hot given it's the core of every other
object.

8 years agoeo - fix error case lock not unlocking with shared objects from coverity
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 05:14:43 +0000 (14:14 +0900)]
eo - fix error case lock not unlocking with shared objects from coverity

this fixes CID 1363294

8 years agoeo - remove pointless if found by coverity
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 02:36:03 +0000 (11:36 +0900)]
eo - remove pointless if found by coverity

fix CID 1363295

8 years agoeo - silence coverit "leak" on eo init if eoid table tls alloc fails
Carsten Haitzler (Rasterman) [Thu, 29 Sep 2016 00:50:02 +0000 (09:50 +0900)]
eo - silence coverit "leak" on eo init if eoid table tls alloc fails

creating a new tls for the eoid table should just never fail so this
is moot anyway, but it silences CID 1362735

8 years agoelm: nstate - cleanup edje signal cb
Amitesh Singh [Thu, 29 Sep 2016 04:59:58 +0000 (10:29 +0530)]
elm: nstate - cleanup edje signal cb

@fix

8 years agoelementary: refactor elm_atspi_bridge function
Bruno Dilly [Wed, 28 Sep 2016 21:23:05 +0000 (18:23 -0300)]
elementary: refactor elm_atspi_bridge function

In order to avoid the following build warning:

lib/elementary/elm_atspi_bridge.c: In function
  ‘_children_changed_signal_send’:
lib/elementary/elm_atspi_bridge.c:3971:4: warning: ‘idx’ may
  be used uninitialized in this function [-Wmaybe-uninitialized]
    _bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_OBJECT

A little refactoring was done to function _children_changed_signal_send.
Actually I wasn't able to see a codepath to use idx unintialized,
but this way is more clear and avoid compiler possible confusion.

8 years agoexamples/elementary: drop generated.h from SOURCES
Bruno Dilly [Wed, 28 Sep 2016 01:54:58 +0000 (22:54 -0300)]
examples/elementary: drop generated.h from SOURCES

Remove codegen_example_generated.h from codegen_example_SOURCES
and let it only on nodist_codegen_example_SOURCES and
on BUILT_SOURCES.

Also add dependency between codegen_example.c
and codegen_example_generated.h since it's required
to compile.

Avoid the following build error:
  CODEGEN      codegen_example_generated.c
  codegen_example.c:26:39: fatal error: codegen_example_generated.h:
      No such file or directory
  compilation terminated.
  Makefile:4960: recipe for target 'codegen_example.o' failed

8 years agoexamples/ecore: add example suffix to ecore_evas_vnc
Bruno Dilly [Tue, 27 Sep 2016 22:17:12 +0000 (19:17 -0300)]
examples/ecore: add example suffix to ecore_evas_vnc

Make its name similar to all the other example
files on this folder.

8 years agoconfigure: show if vnc server was enabled or not
Bruno Dilly [Tue, 27 Sep 2016 21:29:43 +0000 (18:29 -0300)]
configure: show if vnc server was enabled or not

So we can see by configure log if it should be working =)

8 years agoexamples/ecore: fix vnc example build
Bruno Dilly [Tue, 27 Sep 2016 21:17:07 +0000 (18:17 -0300)]
examples/ecore: fix vnc example build

Fix missing dependency.

Get rid of the following error:

/usr/bin/ld: ecore_evas_vnc.o: undefined reference
  to symbol 'ECORE_EVENT_MOUSE_BUTTON_UP'
src/lib/ecore_input/.libs/libecore_input.so.1: error adding symbols:
  DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:2306: recipe for target 'ecore_evas_vnc' failed

8 years agodata: elm: images: fix double data file definitions leading to races
Stefan Schmidt [Wed, 28 Sep 2016 12:33:18 +0000 (14:33 +0200)]
data: elm: images: fix double data file definitions leading to races

For a while now I had strange races during make install on Jenkins where some
image files either already existed or chmod was called on files not there yet.

It took some digging but it turns out commit
8dcd5207cc61e604efc942a62137bdeda4060aa0 broke this as a side effect. The black
magic that already installed the files JP refers to is sitting in
data/Makefile.am. It is plain autofoo stuff and just includes the images
Makefile to get the list of files.

JP was correct though that the glayer files have not been installed into the
correct subdir. Fixing this as well here.

8 years agoedje_cc: don't warn when image attributes are missing in inherit_only group
Youngbok Shin [Wed, 28 Sep 2016 06:49:23 +0000 (15:49 +0900)]
edje_cc: don't warn when image attributes are missing in inherit_only group

Summary:
The inherit_only groups could be used for template of other groups.
So, even if it has image part, it dose not need to have image attributes.
@fix

Test Plan: N/A

Reviewers: cedric, conr2d, jpeg, raster

Reviewed By: raster

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

8 years agoupdate gitignore to ignore eo_dbug output script from .in file
Carsten Haitzler (Rasterman) [Wed, 28 Sep 2016 06:29:04 +0000 (15:29 +0900)]
update gitignore to ignore eo_dbug output script from .in file

8 years agoector: make the ector objects as shared object after eo changes.
Subhransu Mohanty [Wed, 28 Sep 2016 06:28:27 +0000 (15:28 +0900)]
ector: make the ector objects as shared object after eo changes.
 As ector objects are acessed by draw thread we need to create it as
 shared object in order to access it from other thread.
 Note: there is some performance lag...

Summary: make ector object as shared eo object to acess from other thread.

Reviewers: cedric, jpeg, raster

Reviewed By: jpeg, raster

Subscribers: cedric, jpeg

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

8 years agoelementary: remove unused part in segmentcontrol theme
Jean Guyomarc'h [Wed, 28 Sep 2016 06:12:03 +0000 (08:12 +0200)]
elementary: remove unused part in segmentcontrol theme

The empty ("") state was never used, and is actually just an alias to
the "default" state, so let's just remove it.

8 years agoelementary: fix invalid state in segmentcontrol
Jean Guyomarc'h [Wed, 28 Sep 2016 06:10:13 +0000 (08:10 +0200)]
elementary: fix invalid state in segmentcontrol

This fixes runtime errors such as:

ERR<29027>:edje lib/edje/edje_calc.c:756 _edje_part_description_apply()
Cannot find description "normal" in part "text2" from group
"elm/segment_control/item/default". Fallback to default description.

The "normal" (non-existant) state corresponds to a disabled state,
which is provided by the "default" state.

8 years agoedje_program: add NULL checking
Jaehwan Kim [Wed, 28 Sep 2016 05:47:26 +0000 (14:47 +0900)]
edje_program: add NULL checking

8 years agoeo id and shared domain objects - do locking properly and better
Carsten Haitzler (Rasterman) [Wed, 28 Sep 2016 04:25:26 +0000 (13:25 +0900)]
eo id and shared domain objects - do locking properly and better

so there were a few issues. one we had a spinlokc on the eoid table
for shared objects AND then had a mutex for accessing those objects
(released on return from any eo function). BUT this missed some funcs
like eo_ref, eo_unref and so on in eo.c ... oops. so fixed. but then i
realized there was a race condition. we locked the eoid table then
unlocked with our pointer THEN locked the sharted object mutex ...
then unlocked it. that was a race condtion gap. so we should share the
same lock anyway - if it's a shared object, grab the shared object
mutex then do a lookup and if the lookup does not fail, KEEP the lock
until it is released by the return from eo function or by some special
macro/funcs that released a matching lock. since its a recursive lock
this is all fine. as its also a universal single lock for all objects
we just need the eoid to know if it's shared and needs locking based
on the domain bits. so now do this locking properly with just a single
mutex, not both a spinlock and mutex and keep the lock around until
totally done with the object. this plugs the race condition holes and
goes from 1 spinlock lock and unlock then a mutex lock and unlokc to
just a single mutex lock and unlock. this means shared objects are
actually truly safe across threads and only have the overhead of a
single recursive mutex to lock and unlock in every api call.

8 years agoelementary: fix copy & paste error, thanks Dave.
Cedric BAIL [Tue, 27 Sep 2016 17:54:09 +0000 (10:54 -0700)]
elementary: fix copy & paste error, thanks Dave.

8 years agoelm: rename globally used variable 'ret' to prevent shadow warnings
Mike Blumenkrantz [Tue, 27 Sep 2016 14:50:55 +0000 (10:50 -0400)]
elm: rename globally used variable 'ret' to prevent shadow warnings

please do not do this.

8 years agoecore_evas_wayland: Add NULL checking for surface
Youngbok Shin [Tue, 27 Sep 2016 12:50:04 +0000 (08:50 -0400)]
ecore_evas_wayland: Add NULL checking for surface

Summary: Need to NULL check before using surface like other cases.

Test Plan: N/A

Reviewers: jpeg, raster, ManMower, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

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

8 years agoelm_panel : Fix bug with set scrollable panel orient.
JEONGHYUN YUN [Tue, 27 Sep 2016 08:11:03 +0000 (17:11 +0900)]
elm_panel : Fix bug with set scrollable panel orient.

Summary:
1. Fix wrong logic of ELM_PANEL_ORIENT_RIGHT case in _state_sync.
2. Move pre calc function in anim_cb to sizing_eval function.
   This code have caused problem that scrollable panel is not animated during drawer open and close.
3. Maintain content size ratio when orient is changed.
4. Freeze scroller when orient is changed.
   This code will need to change orientation when drawer opened.

Reviewers: cedric, eunue

Subscribers: cedric, jpeg

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

8 years agoevas sw x11 - disable the loop begin/end that deadlocks evas
Carsten Haitzler (Rasterman) [Tue, 27 Sep 2016 07:08:20 +0000 (16:08 +0900)]
evas sw x11 - disable the loop begin/end that deadlocks evas

this is quick to get evas working again. this disables part of
7e2d700d06ff970d68ae208d59bca76f6ea07467 that creates deadlocks. this
thread waits on mainloop. mainloop waits on this render thread. BOOM.
deadlock.

8 years agoecore_cocoa: upgrade API to macOS Sierra
Jean Guyomarc'h [Tue, 27 Sep 2016 06:20:20 +0000 (08:20 +0200)]
ecore_cocoa: upgrade API to macOS Sierra

Since macOS 10.12, several enumarations have been deprecated in favor of
new ones, with more meaningful ones, which are defined in SDK 10.12.

8 years agoefl configure - show that systemd is enabled by default
Carsten Haitzler (Rasterman) [Tue, 27 Sep 2016 04:45:03 +0000 (13:45 +0900)]
efl configure - show that systemd is enabled by default

8 years agoautotools: correct the configure help for systemd
Amitesh Singh [Tue, 27 Sep 2016 05:24:37 +0000 (10:54 +0530)]
autotools: correct the configure help for systemd

by default, systemd on linux is enabled. mention this in help

8 years agoMerge branch 'devs/iscaro/ecore_evas_vnc_multiseat'
Bruno Dilly [Tue, 27 Sep 2016 01:07:13 +0000 (22:07 -0300)]
Merge branch 'devs/iscaro/ecore_evas_vnc_multiseat'

This series adds the Ecore_Evas multi-seat VNC support
using the software X11 backend.
This implementation tries to mimic the Wayland's multi-seat support.

This series also introduces two new kinds of EFL events, which are:
 * EFL_CANVAS_EVENT_DEVICE_ADDED - Which is emitted every
   time an Evas_Device is created.
 * EFL_CANVAS_EVENT_DEVICE_REMOVED - Which is emmited every
   time an Evas_Device is removed/deleted.

The new events are useful when one wants to monitor how many
and what kind of devices are connected to the system.

Patches by iscaro.
Differential Revision: https://phab.enlightenment.org/D4295

@feature

8 years agoExamples: Add an Ecore Evas VNC example.
Guilherme Iscaro [Thu, 15 Sep 2016 22:57:02 +0000 (19:57 -0300)]
Examples: Add an Ecore Evas VNC example.

This commit adds an Ecore_Evas examples that can be used to test
the VNC multi-seat support.

8 years agoEcore_Evas_X: Dispatch Ecore_Events for VNC clients.
Guilherme Iscaro [Tue, 20 Sep 2016 17:00:06 +0000 (14:00 -0300)]
Ecore_Evas_X: Dispatch Ecore_Events for VNC clients.

This patch adds the support for Ecore events from a remove
VNC client. Every time it happens a VNC mouse move/click/wheel or a
VNC keyboard event an Ecore event event will be created and dispatched.

8 years agoEcore_Input: Add Efl_Input_Device in Ecore_Events structs.
Guilherme Iscaro [Tue, 20 Sep 2016 16:57:49 +0000 (13:57 -0300)]
Ecore_Input: Add Efl_Input_Device in Ecore_Events structs.

The Efl_Input_Device will contain the device which originated the event,
this will be useful for dealing with multi-seat environment. When the device
is NULL it means that the event originated from the default seat.

8 years agoEcore_Evas_X: Add VNC draw support.
Guilherme Iscaro [Wed, 21 Sep 2016 16:52:57 +0000 (13:52 -0300)]
Ecore_Evas_X: Add VNC draw support.

This patch adds the support to draw the X11 screen contents to
all remove VNC clients.

8 years agoEvas Software X11: Add a callback that informs the current screen content pixels.
Guilherme Iscaro [Wed, 21 Sep 2016 16:46:17 +0000 (13:46 -0300)]
Evas Software X11: Add a callback that informs the current screen content pixels.

This is necessary in order to implement a VNC server. Using this
callback the VNC server will be able to draw the current screen to the
VNC clients.

8 years agoEvas_Device: Use efl_del() in evas_device_del().
Guilherme Iscaro [Tue, 20 Sep 2016 17:49:57 +0000 (14:49 -0300)]
Evas_Device: Use efl_del() in evas_device_del().

The Evas_Input_Device should be have its parent set to NULL, otherwise
Eo might complain.

@fix

8 years agoEvas_Device: Add a new event for added and removed devices.
Guilherme Iscaro [Tue, 20 Sep 2016 15:10:08 +0000 (12:10 -0300)]
Evas_Device: Add a new event for added and removed devices.

This commits adds two event types for EFL_CANVAS. Every time
a device is added or removed the matching event will be emitted.

8 years agoEvas_Device: Add evas_device_full_add() API.
Guilherme Iscaro [Tue, 20 Sep 2016 16:44:23 +0000 (13:44 -0300)]
Evas_Device: Add evas_device_full_add() API.

This will make it simpler to add a Evas_Device with its fields already set.

8 years agoEvas_Common: Fix typo.
Guilherme Iscaro [Tue, 20 Sep 2016 16:41:58 +0000 (13:41 -0300)]
Evas_Common: Fix typo.

@fix

8 years agoEfl_Input_Device: Implement efl_input_device_parent_set().
Guilherme Iscaro [Tue, 20 Sep 2016 16:40:31 +0000 (13:40 -0300)]
Efl_Input_Device: Implement efl_input_device_parent_set().

This commits moves the parent_set implementation where it should be.

8 years agopo - update
Carsten Haitzler (Rasterman) [Tue, 27 Sep 2016 00:09:21 +0000 (09:09 +0900)]
po - update

8 years agoefl - fix build to build multip.edj from the right edc source
Carsten Haitzler (Rasterman) [Tue, 27 Sep 2016 00:08:24 +0000 (09:08 +0900)]
efl - fix build to build multip.edj from the right edc source

the makefile was wrong making multip.edj for the multitouch test in
elm the wrong src thus breaking the crosshairs. this fixes that again
so the test is right.

@fix

8 years agoecore: add a prototype ecore_thread helper with Efl_Promise/Efl_Future coupled.
Cedric BAIL [Mon, 26 Sep 2016 23:35:52 +0000 (16:35 -0700)]
ecore: add a prototype ecore_thread helper with Efl_Promise/Efl_Future coupled.

8 years agoelm_atspi_bridge: Active descendant changed signal not sent issue fix.
Shilpa Singh [Mon, 26 Sep 2016 21:28:09 +0000 (14:28 -0700)]
elm_atspi_bridge: Active descendant changed signal not sent issue fix.

Summary:
Active descendant changed signal send function checks for wrong object,
hence always returns with out actually sending signal.

The state is set to pd->object_broadcast_mask and not
pd->object_children_broadcast_mask in _set_broadcast_flag function.

Test Plan:
Send the active descandant changed signal from any widget, but signal
is not sent.

Reviewers: kimcinoo, lukasz.stanislawski, cedric

Reviewed By: cedric

Subscribers: jpeg, govi, rajeshps

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
8 years agoelementary: set the extension on the extension, not the overlay !
Cedric BAIL [Mon, 26 Sep 2016 21:26:17 +0000 (14:26 -0700)]
elementary: set the extension on the extension, not the overlay !

@fix

This is a port of D4317

8 years agoelementary: Fix potential resource leak
Chris Michael [Mon, 26 Sep 2016 18:01:15 +0000 (14:01 -0400)]
elementary: Fix potential resource leak

If we fail to allocate memory for savedtypes.types here, then the
"known" array would end up leaking. Defer creation of 'known' array
until after savedtypes.types is allocated, this way we don't leak.

Fixes CID1363216

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoEcore promise: Renamed shadow variable.
Tom Hacohen [Mon, 26 Sep 2016 13:50:08 +0000 (14:50 +0100)]
Ecore promise: Renamed shadow variable.

Please everyone, use -Wshadow and fix your damn wranings.

8 years agoelementary entry: send a signal to edje for notifying scrollable mode
Youngbok Shin [Mon, 26 Sep 2016 13:03:45 +0000 (16:03 +0300)]
elementary entry: send a signal to edje for notifying scrollable mode

Summary:
If entry edje should be changed according to scrollable mode,
the signal will be used. The following signals are added.
"elm,scroll,enable"
"elm,scroll,disable"

Test Plan: N/A

Reviewers: raster, tasn, herdsman, cedric

Subscribers: minkyu, jpeg, akanad, z-wony, Blackmole

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

8 years agoecore_wl2: fix array overflow
Marcel Hollerbach [Mon, 26 Sep 2016 09:44:47 +0000 (11:44 +0200)]
ecore_wl2: fix array overflow

fixes CID 1363215

8 years agoecore_wl2: support parallel receiving of different mimetypes
Marcel Hollerbach [Mon, 26 Sep 2016 09:41:12 +0000 (11:41 +0200)]
ecore_wl2: support parallel receiving of different mimetypes

The mimetypes are now populated with the event and the data.

This also fixes CID 1363217

8 years agoecore_wl2: fix null dereference issue
Marcel Hollerbach [Mon, 26 Sep 2016 09:29:12 +0000 (11:29 +0200)]
ecore_wl2: fix null dereference issue

if we dont get the userdata of a offer something in the protocol went
very very bad, we should not emit there a error, just return.

Also if we are getting a null offer we should dereference the nulled out
offer object.

This fixes CID 1363214

8 years agoelm_config: Remove unnecessary NULL check.
Jaehyun Cho [Mon, 26 Sep 2016 09:08:41 +0000 (18:08 +0900)]
elm_config: Remove unnecessary NULL check.

Since _config_load() is called and _elm_config is not initialized, NULL
check for _elm_config is not necessary.
The unnecessary NULL check causes false alarm because _elm_config is not
checked in other cases.

8 years agoeina_matrix/quad: clean up documentation
Jee-Yong Um [Mon, 26 Sep 2016 06:04:15 +0000 (15:04 +0900)]
eina_matrix/quad: clean up documentation

Summary: adjust grouping to show reference correctly

Reviewers: Hermet, cedric, jpeg

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

8 years agoeo ptr indir - handle unlock on error with shared eoids correctly
Carsten Haitzler (Rasterman) [Mon, 26 Sep 2016 00:16:21 +0000 (09:16 +0900)]
eo ptr indir - handle unlock on error with shared eoids correctly

this fixes the error handling for shared objects which would fail to
unlock on lookup error.

8 years agoelm: Update toolbar test to show fix
Andy Williams [Sun, 25 Sep 2016 16:21:40 +0000 (17:21 +0100)]
elm: Update toolbar test to show fix

8 years agoelm_toolbar: Show icons in icon only mode
Andy Williams [Sun, 25 Sep 2016 14:57:08 +0000 (15:57 +0100)]
elm_toolbar: Show icons in icon only mode

When passing NULL as label the icon would get hidden.
@fix

8 years agoefreet - fix command generation by fixing string buffer expansion
Carsten Haitzler (Rasterman) [Sun, 25 Sep 2016 14:50:53 +0000 (23:50 +0900)]
efreet - fix command generation by fixing string buffer expansion

so by chance i discovered efreet is doing bad things(tm) when
expanding/appending to string buffers to generate commands based off
desktop files. the string append basically was buggy, so fixed it by
making it a lot simpler and more obvious and now reliable.

@fix

8 years agoEmotion: modify the playback finish behavior as before
Daniel Zaoui [Sun, 25 Sep 2016 10:11:32 +0000 (13:11 +0300)]
Emotion: modify the playback finish behavior as before

The callbacks are never invoked due to sd->play equal to 0. The
function _emotion_decode_stop is called before and resets this field.

Before the change to Efl.Canvas.Video, sd->play was not checked.

8 years agoecore_wl2: utilize the event window_ids
Marcel Hollerbach [Sat, 24 Sep 2016 17:01:37 +0000 (19:01 +0200)]
ecore_wl2: utilize the event window_ids

if a dnd operation enters a surface the window_id is clear, so a offer
is always specific to a window. If we have a source we try to fetch the
id from the focus/prevfocus or keyboardfocus.

This fixes dropping into a efl app which never got focus before.

8 years agoelm_cnp: handle format of a drop correctly
Marcel Hollerbach [Fri, 23 Sep 2016 20:00:11 +0000 (22:00 +0200)]
elm_cnp: handle format of a drop correctly

the format can also be the result of mutliple or´ed values.
The new code now also uses the same mimetypes to format type relation
than the selection code.

This fixes dragging onto a container with multiple formats.
Spotted by ApBBB while dragging from ephoto to terminology.

This also fixes T3320

8 years agoeo op resolv - do micro optimization to move init to goto blob
Carsten Haitzler (Rasterman) [Sat, 24 Sep 2016 06:12:09 +0000 (15:12 +0900)]
eo op resolv - do micro optimization to move init to goto blob

as per other recent benchmarking, moving rearely run code (in this
case code to init the op etc.) out of the l1 cacheline prefetch inot a
blob of code at the end of the function where we goto and goto back
again should provide decent-ish speedups for the resolv cache in
avoding this code. yes it makes the code less pretty to read but at
this really low level hot path ... evil things must happen to get the
speed we want/need.

8 years agoeio model: use empty mime type when efreet is unable to determine it
Vitor Sousa [Fri, 23 Sep 2016 14:32:46 +0000 (11:32 -0300)]
eio model: use empty mime type when efreet is unable to determine it

FIX T4502

@fix

8 years agoAdd updated drop part for the new pager gadget. This will be required for the new...
Stephen Houston [Fri, 23 Sep 2016 14:38:15 +0000 (09:38 -0500)]
Add updated drop part for the new pager gadget.  This will be required for the new pager to work.

8 years agoecore-drm2: Use Atomic State to enable/disable an output
Chris Michael [Fri, 23 Sep 2016 12:53:32 +0000 (08:53 -0400)]
ecore-drm2: Use Atomic State to enable/disable an output

If Atomic Modesetting is supported, we can use that to enable/disable
a given output.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Remove useless if check for atomic_modeset flag
Chris Michael [Fri, 23 Sep 2016 12:51:35 +0000 (08:51 -0400)]
ecore-drm2: Remove useless if check for atomic_modeset flag

As we always set this flag in the drm2_fb_flip function, having this
check here is now pointless.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoedje signal emits - enable DBG for being able to debug edj files
Carsten Haitzler (Rasterman) [Fri, 23 Sep 2016 11:10:16 +0000 (20:10 +0900)]
edje signal emits - enable DBG for being able to debug edj files

this would allow all emits from embryo script or otherwise to be seen
and debugged via eina-log.

8 years agoAUTHORS: add myself to the authors file
Marcel Hollerbach [Fri, 23 Sep 2016 10:03:07 +0000 (12:03 +0200)]
AUTHORS: add myself to the authors file

8 years agoelm_cnp: refactor selection_get callbacks
Marcel Hollerbach [Fri, 23 Sep 2016 08:45:03 +0000 (10:45 +0200)]
elm_cnp: refactor selection_get callbacks

before the format was not passed correctly, now the format is passed
correctly to the callback.

Also if a dnd operation was started while a cnp receive call was
going on (this happend because weston-editor failed to close the fd, so
EOF was never sent), then elm_cnp would behave wrong, since the
requestwidget, action, format would be different.

8 years agoecore_wl2: add more documentation on ecore_wl2 cnp/dnd api
Marcel Hollerbach [Thu, 22 Sep 2016 19:35:20 +0000 (21:35 +0200)]
ecore_wl2: add more documentation on ecore_wl2 cnp/dnd api

8 years agoelm_cnp: handle actions probebly
Marcel Hollerbach [Thu, 22 Sep 2016 19:22:51 +0000 (21:22 +0200)]
elm_cnp: handle actions probebly

ecore_wl2 passes the action which should be performed, this action is
now converted and passed to the action of the elm callback.

8 years agoecore_wl2: introduce offer api
Marcel Hollerbach [Thu, 22 Sep 2016 07:13:48 +0000 (09:13 +0200)]
ecore_wl2: introduce offer api

This commits adds api to deal with wayland offers.
It also ports elm_cnp to use the new api.

The selection_get and dnd_drag_get calls are replaced by simply receive
data from the offer.

The Offer object is now also emitted in every Enter,Motion,Drop and
Leave event, so a potential user can prefetch data and display it.
To finish a dnd operation positiv, the user has to call the finish call
before the offer is destroyed

8 years agoecore_wl2: save action of data source in seperated field
Marcel Hollerbach [Thu, 22 Sep 2016 07:26:02 +0000 (09:26 +0200)]
ecore_wl2: save action of data source in seperated field

the drag.source is only available if the drag is happing inside the same
client.

So for the case there are two efl apps (A,B) , where A started the dnd and
the B is currently entered by the dnd, then A has the data source, and B
has the offer, if B sets a action on the offer A tried to set it on a
field which does not exist there, this fixes that. It saves the action
to a undepended field.

8 years agotext/entry: add more key controls for os x
Thiep Ha [Fri, 23 Sep 2016 08:51:37 +0000 (17:51 +0900)]
text/entry: add more key controls for os x

In OS X, cmd-c,v, ... keys are used instead of ctrl-c,v...,
this patch adapts these key handlings.

8 years agoecore_cocoa: quit application with key
Thiep Ha [Fri, 23 Sep 2016 08:49:34 +0000 (17:49 +0900)]
ecore_cocoa: quit application with key

In OS X, cmd-q is used to quit application,
this patch adds that feature.

8 years agoevas_fb: Avoid invalid dereference
Jean-Philippe Andre [Fri, 23 Sep 2016 08:28:57 +0000 (17:28 +0900)]
evas_fb: Avoid invalid dereference

If buf->priv.fb.fb was NULL the function would have crashed. So
buf->priv.fb.fb can't be NULL. I'm keeping the if(buf->priv.fb.fb)
anyway, but not sure the else case is valid.

Thanks @jiin.moon for the report.

8 years agoedje_cc: allow combine lazEDC keywords
Jee-Yong Um [Fri, 23 Sep 2016 02:56:19 +0000 (11:56 +0900)]
edje_cc: allow combine lazEDC keywords

Summary:
Fix parsing error which occurs when lazEDC keyword is combined
with other keyword by period. (like parts.rect)

@fix

Test Plan: Download attached file and run "make"

Reviewers: Hermet, cedric, jpeg

Subscribers: taxi2se

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

8 years agoevas: Prevent crashes in case of error
Jean-Philippe Andre [Thu, 22 Sep 2016 11:45:04 +0000 (20:45 +0900)]
evas: Prevent crashes in case of error

SEGV would happen if the cache was NULL, as the error pointer
was also NULL in some cases (root cause for cache == NULL not
quite known, happens in elm_suite with CK_FORK=no).

Note: simply adding evas_common_init() to evas_init() leads to
a whole new set of issues with CK_FORK=no elm_suite - not good.

8 years agoelm_image: Add smart cbs for async open
Jean-Philippe Andre [Thu, 22 Sep 2016 06:24:40 +0000 (15:24 +0900)]
elm_image: Add smart cbs for async open

This adds a few callbacks to inform applications about
async open and preload:
- load,open
- load,ready
- load,error
- load,cancel

This patch adds a new EAPI as well: elm_image_async_open_set.
This is the only way to use async file open with the legacy APIs
and should be easily matched with whatever EO API we end up using
(be it based on promises or events).

Alter the test cases for make check as they were using the
unstable EO API which I just removed.

Thanks @arosis for the original patch. And sorry for the huge
delay in merging this.

See also: https://phab.enlightenment.org/D4215

@feature

8 years agoelm: _propagate_event should react only when the obj is focused obj
WooHyun Jung [Fri, 23 Sep 2016 01:08:01 +0000 (10:08 +0900)]
elm: _propagate_event should react only when the obj is focused obj

In efl_ui_win, _evas_event_key_cb gives efl_event_callback_call,
though the focused object is not the window itself.
Becuase of this, _propagate_event was called twice for event single
key down.
So, now, _propagate_event returns itself whenever focused object is
not the win but it's called from efl_ui_win's event call.
The problem can be checked with following stpes.

1. elementary_test -> focus
2. Input any directions (ex: Down)
3. Focus movement happens twice for every single input.

8 years agoeina-cxx: Implement aligned_union for GCC 4.9
Felipe Magno de Almeida [Thu, 22 Sep 2016 22:27:56 +0000 (19:27 -0300)]
eina-cxx: Implement aligned_union for GCC 4.9

8 years agodrm: Fix typoe
Derek Foreman [Thu, 22 Sep 2016 19:52:14 +0000 (14:52 -0500)]
drm: Fix typoe

DRM_MODE_ATOMIC_ALLOW_MODSET should have been _MODESET

8 years agoMerge branch 'devs/devilhorns/atomic'
Chris Michael [Thu, 22 Sep 2016 18:26:05 +0000 (14:26 -0400)]
Merge branch 'devs/devilhorns/atomic'

This merge adds initial support for Atomic Modesetting and Nuclear
Pageflipping. These features require a new kernel (>= 4.8) and have
only been testing on Intel i915 drivers. There are runtime checks in
the code to only enable these features when supported so this should
not break anything for "normal users". For those lucky enough to be
able to use these features, please enjoy the buttery smoothness ;)

@feature

8 years agoecore-drm2: Merge initial modesetting with atomic flip code
Derek Foreman [Thu, 22 Sep 2016 18:20:13 +0000 (13:20 -0500)]
ecore-drm2: Merge initial modesetting with atomic flip code

8 years agoecore-drm2: Use just DRM_MODE_ATOMIC_ALLOW_MODESET for initial setting
Chris Michael [Thu, 22 Sep 2016 18:18:58 +0000 (14:18 -0400)]
ecore-drm2: Use just DRM_MODE_ATOMIC_ALLOW_MODESET for initial setting
of mode

This fixes an issue where gl_drm engine would end up flickering
everytime a frame was being set.

Thanks derek ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add support for Atomic Pageflips
Chris Michael [Thu, 22 Sep 2016 17:30:49 +0000 (13:30 -0400)]
ecore-drm2: Add support for Atomic Pageflips

This patch modifies our ecore_drm2_fb_flip code to use Atomic/Nuclear
pageflips.

NB: Works perfectly under software drm engine .. some flickering with the
gl_drm engine that needs investigating.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to support setting DPMS levels via Atomic
Chris Michael [Thu, 22 Sep 2016 16:35:23 +0000 (12:35 -0400)]
ecore-drm2: Add code to support setting DPMS levels via Atomic

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to use Atomic for Edid if available
Chris Michael [Thu, 22 Sep 2016 16:28:07 +0000 (12:28 -0400)]
ecore-drm2: Add code to use Atomic for Edid if available

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to setup Plane Atomic state for Outputs
Chris Michael [Thu, 22 Sep 2016 16:13:18 +0000 (12:13 -0400)]
ecore-drm2: Add code to setup Plane Atomic state for Outputs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to setup Connector Atomic state for Outputs
Chris Michael [Thu, 22 Sep 2016 16:01:38 +0000 (12:01 -0400)]
ecore-drm2: Add code to setup Connector Atomic state for Outputs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to setup Crtc Atomic state for Outputs
Chris Michael [Thu, 22 Sep 2016 16:00:53 +0000 (12:00 -0400)]
ecore-drm2: Add code to setup Crtc Atomic state for Outputs

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to free Atomic state on shutdown
Chris Michael [Thu, 22 Sep 2016 15:42:57 +0000 (11:42 -0400)]
ecore-drm2: Add code to free Atomic state on shutdown

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to fill Plane Atomic state
Chris Michael [Thu, 22 Sep 2016 15:07:17 +0000 (11:07 -0400)]
ecore-drm2: Add code to fill Plane Atomic state

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to fill Connector Atomic state
Chris Michael [Thu, 22 Sep 2016 15:02:49 +0000 (11:02 -0400)]
ecore-drm2: Add code to fill Connector Atomic state

Signed-off-by: Chris Michael <cp.michael@samsung.com>
8 years agoecore-drm2: Add code to fill Atomic Crtc State
Chris Michael [Thu, 22 Sep 2016 14:58:27 +0000 (10:58 -0400)]
ecore-drm2: Add code to fill Atomic Crtc State

This patch adds code to enable Atomic Modesetting support (via ioctl)
and to fill in Atomic Crtc state during startup.

Signed-off-by: Chris Michael <cp.michael@samsung.com>