Commit Graph

10411 Commits

Author SHA1 Message Date
Mike Blumenkrantz ed743dddf0 ecore-wl2: add internal window flag for determining if opaque/input have been set 2016-10-07 11:00:08 -04:00
Mike Blumenkrantz ea7d6e11d3 ecore-wl2: apply input+opaque regions after creating window surface
@fix
2016-10-07 10:51:39 -04:00
Mike Blumenkrantz 463549e343 ecore-wl2: avoid crashes when setting window attrs before surface creation
this is async anyway

@fix
2016-10-07 10:51:39 -04:00
Jaehyun Cho db0378911a naviframe: Fix to add SIG_ITEM_ACTIVATED in smart callbacks.
This commit fixes commit 3a0eb75bda.
2016-10-07 17:54:55 +09:00
Jaehyun Cho 3a0eb75bda naviframe: Add "item,activated" smart callback.
"item,activated" smart callback is added to notice when an item is
activated.

"item,activated" smart callback is called as follows.
1. Item push is finished and the new item is activated.
2. Item pop is finished and the previous item is activated.

void *event_info in smart callback is the activated item pointer.
2016-10-07 17:07:48 +09:00
Jaehyun Cho 8976be4f84 Revert "naviframe: Add "push,finished" and "pop,finished" smart callbacks."
This reverts commit 17ac58a081.

Instead, "item,activated" smart callback will be added.
2016-10-07 16:39:14 +09:00
Jean-Philippe Andre 9c95eda748 eo: Fix deadlocks with composite objects
This happens with shared objects.

The situation seems to be:
1. object has composited object a of class A in thread 1
2. call something on object a from thread 2, deadlock
In fact, do anything from thread 2 on a shared object and you deadlock.
2016-10-06 17:57:45 +09:00
Jean-Philippe Andre 6ce60a0de5 eo: Fix deadlock in efl_parent_set
If the object is shared and the given parent is invalid (eg. deleted)
then we will deadlock later. This also adds a test case with it.
2016-10-06 16:19:12 +09:00
Jean-Philippe Andre 0f7dfdedfd evas: Fix async filters following changes in EO
EO is now extremely restrictive wrt. threads so that efl_data_scope_get()
can't work outside the main loop. This patch fixes the usage to create
sw buffers as shared objects (accessible from both the main loop and evas
async thread) and use plain old pointers where possible.

The buffers now have no parent because efl_add(CLASS, obj_from_mainloop)
does not work with shared objects. This is bad, as the buffers conceptually
belong to the main loop, and only need to be accessible from the draw thread
for a few calls. The main loop determines their lifecycle.

Fixes T4628
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre 258cfbbe80 eo: Fix deadlock with shared objects
The object pointer was passed to EO_OBJ_DONE, rather than its
eo id.
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre d60f5e7435 fileselector: Fix crash on file select
Fixes T4686 (further fix)
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre 7f6f282210 Efl.Loop.User: Use prefix to rename efl_loop_user_loop_get
efl_loop_user_loop_get is idiotic. efl_loop_get should be good enough.
2016-10-06 12:24:59 +09:00
Jean-Philippe Andre faa1ab56e4 fileselector: Fix eio model usage (future_all)
The value stored by efl_future_all is an accessor, not an
iterator. This fixes the usage of promises internally to
the fileselector widget.

See 1a2014a122

Fixes T4686
2016-10-06 09:43:19 +09:00
Jean-Philippe Andre 4e811bed17 eio_model: Provide main loop even without parent
An eio model (and I believe most other models as well, in fact)
require a Efl.Loop.User as parent in order for efl future/promises
to work. This adds a fallback code directly inside eio model. The
alternative was to parent and efl_del all models in fileselector.

See T4686
2016-10-06 09:43:19 +09:00
Jean-Philippe Andre a9eb2303fb evas: Provide loop from Evas.Canvas
And indirectly also Efl.Canvas.Object.

I believe those two classes should even inherit from Efl.Loop.User.
Right now this patch relies on the new dependence of Evas over Ecore,
and is maybe a bit ugly as is.

Ping @cedric

See T4686
2016-10-06 09:43:19 +09:00
Daniel Hirt ed750f091a Ui text: port link anchors from entry
This is without the viewport optimization in the meantime.
2016-10-05 17:12:22 +03:00
Daniel Hirt ed2b4e97c1 Canvas text: add annotation_positions_get method
We need a method that allows us to place the cursors at the start and end of an
annotation. This is required for things like getting the geometry of a range.

@feature
2016-10-05 17:12:22 +03:00
Daniel Hirt 876b5e5c62 Efl canvas text: fix api doc a bit 2016-10-05 17:12:22 +03:00
Daniel Hirt c0701a1051 Canvas text cursor: add simple_geometry_get method
The ported geometry_get was actually the legacy simple_geometry_get.
For getting simple geometries like selection this was enough, but I forgot that
we also need to query more complex geometries e.g. links.
This is required to implement link anchors in Ui Text.

Now geometry_get and simple_geometry_get are the same as their legacy
counterparts.

@feature
2016-10-05 17:12:22 +03:00
Daniel Hirt 42a3c773c0 Ui text: update all decorations on resize 2016-10-05 17:12:22 +03:00
Daniel Hirt bc640e51b6 Ui text: port atspi implementation 2016-10-05 17:12:22 +03:00
Jean-Philippe Andre 119e35b791 eina: Fix compilation with clang
It's not because the bug with __builtin_prefetch is inside
clang/llvm that we must break the build for people who prefer it
over gcc. As soon as a non-broken version is out, the ifdef must
be either removed (and ask people to update their clang install)
or add a version check based on __clang_xxx__.

Compilation tested with clang 3.8.1 and gcc 6.2.1.
2016-10-05 19:40:50 +09:00
Jaehyun Cho 17ac58a081 naviframe: Add "push,finished" and "pop,finished" smart callbacks.
"push,finished" and "pop,finished" smart callbacks are added to notice
when push and pop operation is finished.

New smart callback signals are added as follows.

"push,finished,item,activated" : Called when item push is finished and
void *event_info in smart callback is activated item (new item).

"push,finished,item,deactivated" : Called when item push is finished and
void *event_info in smart callback is deactivated item (current item).

"pop,finished,item,activated" : Called when item pop is finished and
void *event_info in smart callback is activated item (previous item).

"pop,finished,item,deactivated" : Called when item pop is finished and
void *event_info in smart callback is deactivated item (current item).
2016-10-05 18:12:11 +09:00
Jaehyun Cho db4034a8d0 naviframe: Fix to reset pushing flag of pushed item.
If multiple items are pushed, then pushing flag of the pushed item is
not reset.
To resolve this problem, pushing flag of the pushed item is reset.
2016-10-05 18:12:04 +09:00
Subhransu Mohanty cf779b44e0 evas/vg: renamed the legacy vg shape apis
Reviewers: Hermet, cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4284
2016-10-05 11:07:12 +09:00
Derek Foreman 750e210f3a eina_cpu: Fix arm build
commit e2875cefc4 accidentally removed
some unrelated headers needed for testing ARM NEON support on linux.
2016-10-04 14:29:36 -05:00
Jee-Yong Um 3b4293ffa3 ecore_file/ipc: clean up documentation
Summary: move comment from c source to header and adjust ingroup relationship

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4328
2016-10-04 21:08:17 +09:00
Al Poole 72125bd8c3 eio - put in fix by disabling some fallback code
as per https://phab.enlightenment.org/T4619

fixes 4619

@fix
2016-10-04 15:05:58 +09:00
Carsten Haitzler 177e6e1486 ecore_x - remove ecore_x_vsync tool as it isnt enabled or used runtime
so ecore_x_vsync as a tool uses glx for nvidia drivers plut "wait for
vblank" extensions to try vsync "sync". the problem is this is flakey
because the drivers may or may not continue vsyncing after screen off
or syspend/resume or vt changes and all the workarounds dont seem to
be reliable, so since this causes this to be disabled, no point
keeping all the code and build stuff around, so remove this "unused
junk" we have in the tree.
2016-10-04 10:04:39 +09:00
Vitalii Vorobiov 173edf6020 Edje_Edit: add forgotten part_item_index API into header
It was already implemented but looks like forgotten to be added into
Edje_Edit header, so we got banch of unused and unavailable API

@fix
2016-10-03 20:07:13 +03:00
Carsten Haitzler 2071366e3c eina_list prefetch macros - handle misstyped list ptr by casting
so it seems enlightenment someqhere uses a void * as a list per for
EINA_LIST_FREE ... so do some casing of that type to handle such badness
2016-10-02 12:07:36 +09:00
Jean Guyomarc'h 519207c7eb eina: fix macos spinlocks and upgrade API to sierra 2016-10-01 21:17:05 +02:00
Carsten Haitzler 7b3e7ecc1f 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. :)
2016-10-01 23:37:34 +09:00
Carsten Haitzler a2d507d3bf 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
2016-10-01 22:41:02 +09:00
Carsten Haitzler a06f5c1024 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
2016-10-01 15:38:23 +09:00
Guilherme Iscaro 50f5704cc6 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
2016-09-29 17:51:15 -03:00
Felipe Magno de Almeida 1a2014a122 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.
2016-09-29 13:12:27 -03:00
Carsten Haitzler 6a5ae00ffa 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.
2016-09-29 17:45:47 +09:00
Carsten Haitzler f387818a55 eo - fix error case lock not unlocking with shared objects from coverity
this fixes CID 1363294
2016-09-29 17:45:47 +09:00
Carsten Haitzler edf6507b9f eo - remove pointless if found by coverity
fix CID 1363295
2016-09-29 17:45:47 +09:00
Carsten Haitzler c43308efb4 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
2016-09-29 17:45:47 +09:00
Amitesh Singh 958308fa8a elm: nstate - cleanup edje signal cb
@fix
2016-09-29 10:29:58 +05:30
Bruno Dilly eeed0086ed 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.
2016-09-28 18:23:05 -03:00
Subhransu Mohanty d54b5fba6c 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
2016-09-28 16:02:12 +09:00
Jaehwan Kim e811484ba5 edje_program: add NULL checking 2016-09-28 14:47:26 +09:00
Carsten Haitzler 0f929f5546 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.
2016-09-28 13:38:46 +09:00
Cedric BAIL 0cbb5a42f3 elementary: fix copy & paste error, thanks Dave. 2016-09-27 10:54:09 -07:00
Mike Blumenkrantz b06c3cd3ba elm: rename globally used variable 'ret' to prevent shadow warnings
please do not do this.
2016-09-27 10:50:55 -04:00
JEONGHYUN YUN 4902202731 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
2016-09-27 17:30:48 +09:00
Jean Guyomarc'h e44c48b904 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.
2016-09-27 08:52:51 +02:00
Guilherme Iscaro f4ff8fd4d5 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.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro bc6e8d2692 Ecore_Evas_X: Add VNC draw support.
This patch adds the support to draw the X11 screen contents to
all remove VNC clients.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro e99900bcd7 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
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 72c80ca947 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.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro 8acb509fba Evas_Device: Add evas_device_full_add() API.
This will make it simpler to add a Evas_Device with its fields already set.
2016-09-26 22:06:59 -03:00
Guilherme Iscaro a18ba08125 Evas_Common: Fix typo.
@fix
2016-09-26 22:06:59 -03:00
Guilherme Iscaro cdc5ecec1e Efl_Input_Device: Implement efl_input_device_parent_set().
This commits moves the parent_set implementation where it should be.
2016-09-26 22:06:59 -03:00
Cedric BAIL 6c514dddb3 ecore: add a prototype ecore_thread helper with Efl_Promise/Efl_Future coupled. 2016-09-26 16:35:52 -07:00
Shilpa Singh c4c95adc6b 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>
2016-09-26 15:01:33 -07:00
Cedric BAIL 5323f7e173 elementary: set the extension on the extension, not the overlay !
@fix

This is a port of D4317
2016-09-26 15:01:33 -07:00
Chris Michael a8ba4c28fb 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>
2016-09-26 14:01:15 -04:00
Tom Hacohen 65367a4a07 Ecore promise: Renamed shadow variable.
Please everyone, use -Wshadow and fix your damn wranings.
2016-09-26 14:50:45 +01:00
Youngbok Shin 145f590f84 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
2016-09-26 16:11:10 +03:00
Marcel Hollerbach 174f355446 ecore_wl2: fix array overflow
fixes CID 1363215
2016-09-26 13:17:24 +02:00
Marcel Hollerbach 203b7a8fc6 ecore_wl2: support parallel receiving of different mimetypes
The mimetypes are now populated with the event and the data.

This also fixes CID 1363217
2016-09-26 13:17:24 +02:00
Marcel Hollerbach 296446b878 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
2016-09-26 13:17:24 +02:00
Jaehyun Cho c54e750040 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.
2016-09-26 18:47:35 +09:00
Jee-Yong Um 33df065681 eina_matrix/quad: clean up documentation
Summary: adjust grouping to show reference correctly

Reviewers: Hermet, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4313
2016-09-26 15:04:15 +09:00
Carsten Haitzler ccbf537191 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.
2016-09-26 09:16:21 +09:00
Carsten Haitzler f4f5a042a6 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
2016-09-25 23:50:53 +09:00
Daniel Zaoui ae739184e1 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.
2016-09-25 13:11:32 +03:00
Marcel Hollerbach d8e6fb7820 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.
2016-09-24 19:18:21 +02:00
Marcel Hollerbach fcfc9959c2 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
2016-09-24 19:07:22 +02:00
Carsten Haitzler fd1a07e2e4 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.
2016-09-24 15:12:09 +09:00
Vitor Sousa 87fec80413 eio model: use empty mime type when efreet is unable to determine it
FIX T4502

@fix
2016-09-23 13:21:55 -03:00
Chris Michael bcf311ae3c 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>
2016-09-23 08:53:32 -04:00
Chris Michael 1abed3dcaf 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>
2016-09-23 08:51:35 -04:00
Carsten Haitzler 8257c95f39 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.
2016-09-23 20:11:24 +09:00
Marcel Hollerbach 0e0d0179c3 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.
2016-09-23 11:15:14 +02:00
Marcel Hollerbach b05f6dc1d7 ecore_wl2: add more documentation on ecore_wl2 cnp/dnd api 2016-09-23 11:15:14 +02:00
Marcel Hollerbach 57d97b4df9 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.
2016-09-23 11:15:14 +02:00
Marcel Hollerbach 5884bba096 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
2016-09-23 11:15:14 +02:00
Marcel Hollerbach 7d6fd10523 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.
2016-09-23 11:14:41 +02:00
Thiep Ha cc7dbde840 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.
2016-09-23 17:51:37 +09:00
Thiep Ha db8b0020ec ecore_cocoa: quit application with key
In OS X, cmd-q is used to quit application,
this patch adds that feature.
2016-09-23 17:49:34 +09:00
Jean-Philippe Andre ef759b6395 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.
2016-09-23 11:28:14 +09:00
Jean-Philippe Andre 63088b583c 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
2016-09-23 11:28:14 +09:00
WooHyun Jung 76a2bd9312 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.
2016-09-23 10:08:01 +09:00
Derek Foreman af82abb57a drm: Fix typoe
DRM_MODE_ATOMIC_ALLOW_MODSET should have been _MODESET
2016-09-22 14:52:14 -05:00
Derek Foreman de5305e224 ecore-drm2: Merge initial modesetting with atomic flip code 2016-09-22 14:24:56 -04:00
Chris Michael 84cb88fe8c 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>
2016-09-22 14:20:24 -04:00
Chris Michael 3c243c3ebb 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>
2016-09-22 14:20:24 -04:00
Chris Michael bfff91bac5 ecore-drm2: Add code to support setting DPMS levels via Atomic
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael a262629282 ecore-drm2: Add code to use Atomic for Edid if available
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael 2bda227304 ecore-drm2: Add code to setup Plane Atomic state for Outputs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael a76eae227a ecore-drm2: Add code to setup Connector Atomic state for Outputs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael 3ca7e72bce ecore-drm2: Add code to setup Crtc Atomic state for Outputs
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael ecc000d84c ecore-drm2: Add code to free Atomic state on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael f8e28f37dc ecore-drm2: Add code to fill Plane Atomic state
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael 91739d10b0 ecore-drm2: Add code to fill Connector Atomic state
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael 7041202a0a 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>
2016-09-22 14:20:24 -04:00
Chris Michael 541be05bf2 ecore-drm2: Add code to check if Atomic Modesettting is usable
This code will detect the drm driver name and check that the kernel
itself is new enough to use Atomic Modesetting. This is needed as some
drivers (i915) do not handle Atomic Modesetting propertly without a
new enough kernel.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Chris Michael 7770bc17bb ecore-drm2: Add private structures to support Atomic Modesetting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-09-22 14:20:24 -04:00
Shuhrat Dehkanov 4768b1d04e elm: remove dulicate ELM_POPUP_ACTION_BUTTON_MAX definition
Summary: ELM_POPUP_ACTION_BUTTON_MAX is already defined in the included header file, elm_widget_popup.h.

Reviewers: cedric, jpeg, minkyu, Hermet

Reviewed By: Hermet

Subscribers: seoz, jehun.lim

Differential Revision: https://phab.enlightenment.org/D4312
2016-09-22 22:57:28 +09:00
Jean-Philippe Andre 97a2d7ff33 elm_image: Move back download events to legacy only
The events for (async) image download will be redefined by
@cedric later. So, remove them from eo now and only keep their
legacy implementation.

Also, improve elm_test example and add docs.
2016-09-22 15:02:45 +09:00
Amitesh Singh 834222d3a0 photocam: add missing EOLIAN prefix 2016-09-22 10:36:19 +05:30
Hosang Kim f148296ed1 scrollable_interface: fixed gravity_set() API.
Summary: elm_scroller_gravity_set()  API is not working.

Test Plan: elementary_test -> scroller3

Reviewers: jaehwan, SanghyeonLee, Hermet, jypark, raster, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4252
2016-09-22 11:06:29 +09:00
Carsten Haitzler 8c28a70b43 Revert "edje edje_embryo: use strncpy()."
This reverts commit 06bd8dcf33.

just dismiss in coverity if the code is not actually wrong
2016-09-22 08:31:00 +09:00
Cedric BAIL 72f0bfa224 ecore,ecore_con: simplify destructor by linking future life cycle with object. 2016-09-21 16:19:53 -07:00
Yeshwanth Reddivari 7b90e11474 emotion: convert Emotion_Object into Efl.Canvas.Video
Reviewers: singh.amitesh, raster, jpeg, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-21 11:04:34 -07:00
Cedric BAIL cbfcfdf3e9 emile: fix typos. 2016-09-21 10:34:05 -07:00
Cedric BAIL 6f42992b4f eet: fix gnutls support with newer version. 2016-09-21 10:33:44 -07:00
Stefan Schmidt 1f00c9a26e elm: progressbar: hide unit if unit_format_func is invalid
In commit 03882d5588 this was introduced but in
the end the visible signal was send in all cases. This looks like an oversight
to me. Fixed.
2016-09-21 10:45:12 +02:00
Sungtaek Hong 57c4d83b2e evas: remove unnecessary check for clip coords.
Summary: (dst_clip_w <= 0 || dst_clip_h <= 0) is already checked.

Reviewers: jpeg, cedric, Hermet

Reviewed By: Hermet

Subscribers: conr2d

Differential Revision: https://phab.enlightenment.org/D4303
2016-09-21 17:41:47 +09:00
Thiep Ha 3689a803db elm_config: add null check before usage 2016-09-21 17:03:14 +09:00
Thiep Ha 401706351d elm_atspi: remove redundant null checking
The type is always _ADDED or _REMOVED, therefore atspi_desc
is always "add" or "remove"; no need to have null checking for it.
2016-09-21 17:03:14 +09:00
Hermet Park 06bd8dcf33 edje edje_embryo: use strncpy().
This change is not meaningful but avoids an annoying coverity detection.
2016-09-21 15:03:11 +09:00
junsu choi bed6c84afb edje_edit : add null check and close eet
Signed-off-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
2016-09-21 09:42:46 +09:00
Bruno Dilly a3fba57b26 ecore_con,elput: fix warnings
Summary:
elput: fix warning for unused write result
         ecore_con: fix warning for unused asprintf result

Reviewers: iscaro, devilhorns, cedric

Reviewed By: cedric

Subscribers: cedric, seoz, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-20 16:13:28 -07:00
Sungtaek Hong 03882d5588 elm_progressbar: show status when unit_format_func is set
Summary:
 - elm,state,units,visible signal is emitted only when
   unit is set, but not when unit_format_func is set.
 - Since default unit has been set, this signal is emitted
   but signal will not be emitted after unit is set to NULL.

Test Plan:
 1. Create a progressbar.
 2. elm_progressbar_unit_format_set(obj, NULL);
 3. set unit_format_func by elm_progressbar_unit_format_function_set()
    and observe elm.text.status part visible.

Reviewers: Hermet, jpeg, cedric

Reviewed By: cedric

Subscribers: D-TAU, eunue, conr2d, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-20 16:07:21 -07:00
Piotr Ganicz 2cc7be3743 atspi: fix parent-child relationship for elm_list and elm_toolbar
Summary:
This patch provides proper parent-child relationship for elm_list and elm_toolbar
while atsapi_mode is set for icon and end element.

This patch is moved from:
    bf188e59431ad9c4ca877b2632884d3d430de6b1

Change-Id: Iae855aacf29bef3808a0b5ec159f46cbf0f4539d

Reviewers: stanluk, cedric

Reviewed By: cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-20 15:01:48 -07:00
Piotr Ganicz 445b3587e3 atspi: fix state macros
Summary:
This patch changes the value of 1 to 1ULL in STATE_TYPE macros
to signal the compiler that the value must be considered
as a unsigned long long, it has to be done cause state_set variable
can be longer than 32 bits.

This patch is moved. Orginal commit hash:
    a559e473c21c8da7c4e5a87b9c8583ce519cc35e

Change-Id: Ida89f3be185736f61543d37010d0f5cb8d80a751

Reviewers: cedric, stanluk

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-20 15:01:48 -07:00
Sungtaek Hong b437bfb3fe eet: set alpha_texture for ETC1+Alpha
Summary:
alpha_texture need to be set EINA_TRUE to support ETC1+Alpha

@fix

Test Plan:
Create an EDC file with png image with Alpha.
           compress image with ETC1 and ETC2.
           Observe Alpha is properly applied in both case.

Reviewers: jpeg, Hermet, cedric

Reviewed By: cedric

Subscribers: conr2d

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-09-20 15:01:48 -07:00
Stephen Houston 61b66338a9 Evas: Don't access members of a null struct. Fixes T4616 2016-09-20 16:05:09 -05:00
Gustavo Sverzut Barbieri f0f9c5d24a libproxy: dlopen() and make it runtime optional. 2016-09-20 15:00:48 -03:00
Artem Popov 132ae9683c ecore_file: Fix improper way of comparing in ecore_file_path_dir_exists @fix
Summary: There is wrong comparing while using strcmp function. Should be inverted.

Reviewers: cedric, raster, NikaWhite

Reviewed By: NikaWhite

Subscribers: cedric, NikaWhite, jpeg

Differential Revision: https://phab.enlightenment.org/D4291
2016-09-20 19:52:23 +03:00
Derek Foreman e2875cefc4 eina_cpu, evas: Remove _eina_cpu_fast_core_get, don't set render thread affinity
We've decided it would be best to just let the scheduler do its job.
2016-09-20 11:38:57 -05:00
Carsten Haitzler 58d3328d80 eina - eina file map populate fallback to use log int not int... for size
this makes the size match other sizes in eina_file. doesn't affect
linux but i think bsd's get hit.
2016-09-20 21:57:47 +09:00
Ji-Youn Park 13bd4242ec eldbus: fix null value usage 2016-09-20 18:10:32 +08:30
Daniel Hirt f68a925d81 Evas font: force freetype v35 ttf interpreter
Ref T4623

v40 bytecode interpreter is official as of freetype 2.7.
The results don't look so good at the moment. The text looks and glyph
positioning seem worse than they were with the previous v35 interpreter.

So, in the meantime we'll keep using v35, just so everything looks
normal again.

Although the v40 is relevant since around 2.6.3, I rather not do any
FREETYPE_MINOR checks in this patch, because distributions might ship
previous versions with the other (v38) interpreter enabled.
2016-09-20 11:29:38 +03:00
Ji-Youn Park 0a39fae0a2 ecore_con_local: fix memory leak.
after socket function call, close file descriptor.
2016-09-20 16:14:04 +08:30
Carsten Haitzler 07ffb2e5c5 efreet xml parse - handle 0 sized xml specially to avoid crash
fixes T4493
2016-09-20 14:55:35 +09:00
Carsten Haitzler 41c332b726 eina - redo a lot of the static inlines to have better instr cache usage
this moves a lot of logic that is rare away from the linear/flat asm
path of code so we et fewer l1 cache misses when executing chuncks of
our code. this also reduces the code size and takes some funcs like in
eina_inline_lock_posix.x and makes them real functions to reduce code
size thus better l1 cache usage - only for new/free of locks.
spinlocks, semaphores etc. as these will have no advantage being
inlined but simply bloat out code size instead.

overall this actually reduces efl lib binary sizes 0.4%, so that's a
good sign.

this passes make check and i think i got it right... let me know if i
didn't. i'm also not sure i should just keep the static inlines and
not make the formerly static inline funcs full EAPI ones now... good q.
2016-09-20 14:53:05 +09:00
Jaehwan Kim 3efdd5df54 edje_edit: add null checking 2016-09-20 13:46:29 +09:00
Jaehwan Kim 1bfb19b457 ecore: fix the parameter of strerror 2016-09-20 13:45:36 +09:00
WooHyun Jung 241196641f elm fileselector: add null checking before strlen 2016-09-20 13:40:37 +09:00
WooHyun Jung fa3af69e0c eldbus: null checking before using the pointer 2016-09-20 11:18:52 +09:00
Cedric BAIL b5f47fbcb9 elementary: patch got pushed before the complete fix. 2016-09-19 16:12:31 -07:00
Cedric BAIL 0d0ca579c6 elementary: be more conservative on the amount of data requested from disk. 2016-09-19 16:07:03 -07:00
Cedric BAIL 25aef34aa0 eina: populate memory in the right limit. 2016-09-19 14:02:43 -07:00
Cedric BAIL e4958e9faa ecore: remove useless ecore_parent.eo. 2016-09-19 13:05:32 -07:00
Derek Foreman 9799d45ee7 eina_cpu: Fix coverity defects in eina_cpu_map_init
Fixes a potential fd leak on failure and wrong core to
speed mapping on systems with > 31 cpu cores

CID: 1362860
CID: 1362859
CID: 1362857
2016-09-19 10:47:02 -05:00
Vitalii Vorobiov b324b754f3 edje_edit: make tweens able to work with image sets
it's important because some tweens of loaded edje group might use image sets
instead of images, so now making edje_edit API to work with them correctly

@fix
2016-09-19 18:15:18 +03:00
Derek Foreman 541b72dcb2 render_thread: Attempt to set affinity to a random fast core
We've been pinning the render thread for every EFL process to core 0.
This is a bit silly in the first place, but some big.LITTLE arm systems,
such as exynos 5422, have the LITTLE cores first.

On those systems we put all the render threads on a slow core.

This attempts to fix that by using a random core from the pool of fast
cores.

If we can't determine which cores are fast (ie: we're not on a
linux kernel with cpufreq enabled) then we'll continue doing what we've
always done - pin to core 0.
2016-09-19 09:40:43 -05:00
Derek Foreman bd1de560a1 eina_cpu: Fix error handling in eina_cpu_fast_core_get
I introduced a crash on linux systems where the cpufreq directory
doesn't exist.  This fixes it.
2016-09-19 09:23:59 -05:00
Gustavo Sverzut Barbieri 8550a33b27 efl_net_dialer_http: use libproxy.
query libproxy in a thread (since it's nasty and blocks), then apply
proxy to curl and execute the request.
2016-09-19 10:01:51 -03:00
Gustavo Sverzut Barbieri 0d478c301f efl_net_dialer_tcp: use libproxy settings.
libproxy allows various means to configure a proxy, will load from
gnome and kde configuration settings, envvars, macos and even windows
registry.

curl still doesn't use it, but we can make that later.
2016-09-19 10:01:51 -03:00
Gustavo Sverzut Barbieri 696692ab90 efl_net_dialer_websocket: remove unused variable.
efl-future will null the pointer, so pd is not needed anymore.
2016-09-19 10:01:51 -03:00
Marcel Hollerbach f63cd63e54 eo: fix headr to header
if you enable EO_DEBUG you cannot build eo, since the field is called
header not headr
2016-09-19 13:25:23 +02:00
Marcel Hollerbach 5a3cf323ef eo: fix reference to constants
they are renamed from the prefix EO_ to EFL_
2016-09-19 13:25:23 +02:00