Commit Graph

16382 Commits

Author SHA1 Message Date
Jean-Philippe Andre 40fec5f608 evas: Fix legacy events output vs. canvas coords
In case of a mapped object (eg. when applying a map to a window
in wayland compositor), the canvas and output coordinates are
not meant to be the same.

In EO land, applications should instead use the common interface
Efl.Input.Interface.pointer_xy.get (on the canvas).

@fix
2016-10-26 13:42:54 +09:00
Cedric Bail ab18b01e1c eo: do not track NULL future. 2016-10-25 18:51:12 -07:00
Cedric Bail bfcc66e4eb ecore: allow multiple nested recursion of the same promise/future to happen at the same time. 2016-10-25 18:50:35 -07:00
Cedric Bail fb8d139ad0 eio: fetch mime type asynchronously. 2016-10-25 16:54:55 -07:00
Cedric Bail 919829aa7d ecore: properly handle promise failure when each member has not been fulfilled yet. 2016-10-25 15:35:13 -07:00
Cedric Bail baf2187d55 elementary: fixup warning in new colorselector code. 2016-10-25 15:03:40 -07:00
Cedric Bail da22a046aa elementary: fix build without wayland. 2016-10-25 15:02:46 -07:00
Minkyu Kang a83643d134 elementary: gengrid - check the edge correctly
Summary:
The routine of checking edge of left side, divide position by row.
Since the result of fisrt item of last line is 1, that item was not checked as edge.
This patch is for fixing it.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>

Test Plan:
elementary_test -to gengrid2
append items (about 6)
horizontal mode on and item loop enable
check item loop is working properly

Reviewers: cedric, jpeg, Hermet, SanghyeonLee

Subscribers: jehun.lim, SanghyeonLee, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Shuhrat Dehkanov 008b74372f elementary: enable setting custom access info to hoversel items
Summary: This will enable apps to get item access object using elm_object_item_access_object_get().

Reviewers: jpeg, Hermet

Subscribers: kimcinoo, singh.amitesh, cedric, minkyu

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Taehyub Kim ee83f2aa3d elementary: colorselector - apply new focus ui for palette and components items
Summary:
colorselector focus ui is not moving for palette and components items.
now it is changed to focus each item of palette and components.

Test Plan:
1. build efl elementary with this patch
2. remove /home/{user}/.elementary
3. launch colorselector with elementary_test -to colorselector
4. move direction key
5. see the new focus ui

Reviewers: jpeg, raster, Hermet, woohyun, bu5hm4n, cedric

Reviewed By: cedric

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Subhransu Mohanty 4f16e16b94 evas: vg/gradient - add missing legacy api for gradient object creation.
Reviewers: jpeg, Hermet, artem.popov, cedric

Reviewed By: artem.popov, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-10-25 14:37:11 -07:00
Gustavo Sverzut Barbieri 9a62932d07 use more standard IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP.
The IPV6_ADD_MEMBERSHIP and IPV6_DROP_MEMBERSHIP are deprecated alias,
use the correct defines so it compiles everywhere.

Fixes T4764

Thanks netstar!
2016-10-25 19:32:07 -02:00
Derek Foreman 09378052e7 ecore_wl2: Add API to disable session recovery
Enlightenment needs a way to avoid using session recovery functionality
when connecting to itself for internal windows.
2016-10-25 14:07:09 -05:00
Chris Michael c173be4db7 elementary: Implement support for EFL Wayland mouse pointers
This patch implements support for EFL Wayland applications to be able
to use EFL mouse pointers instead of ugly X cursors inside a Wayland
compositor. This does Not use Softcursor so the mouse pointer becomes
it's own surface which is then sent to wl_pointer.

NB: Some small hiccups when using wayland_shm such as dropped frames.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 14:22:07 -04:00
Chris Michael a80d4ef5a5 ecore-wl2: Remove usage of libwayland-cursor
This commit removes usage of libwayland-cursor inside Ecore_Wl2
library. This is done so that EFL Wayland applications can use EFL
mouse pointers and not look ugly :)

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 14:22:07 -04:00
Chris Michael db63eff588 ecore-wl2: Don't call cursor_update_stop function twice.
When setting a cursor by name, the _ecore_wl2_input_cursor_set
function already makes a call to stop updating the cursor, so no need
to run that twice.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-25 14:22:07 -04:00
Felipe Magno de Almeida a09ad5af7f js: Fix calling setAlignedInternalPointerField without a aligned value 2016-10-25 15:43:19 -02:00
Felipe Magno de Almeida 4cd2bd8a66 js: Fix Makefile location and linking of efl.node and tests 2016-10-25 15:43:19 -02:00
Daniel Kolesa 82ef73ca18 eolian: remove type silencing stuff entirely
this was useful during transition, but not anymore
2016-10-25 18:02:23 +02:00
Vitalii Vorobiov aa423e7669 Edje_Edit: use correct description array accessing
its a loop with j, but not with i
kinda a little typo

@fix
2016-10-25 18:25:05 +03:00
Chris Michael 0b290a260c Revert "elementary: Provide EFL mouse pointers for Wayland Client applications"
This reverts commit 0a46096337.

Reverting these changes as we need to handle mouse pointer differently.
2016-10-25 11:07:32 -04:00
Chris Michael 3a44b0fd17 Revert "ecore-wl2: Remove all references to wl_cursor usage"
This reverts commit 173fda5c11.

Reverting this as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Chris Michael 13f77a2456 Revert "elementary: Don't try to set pointer edj if there is no pointer"
This reverts commit 3686a8aa89.

Reverting this as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Chris Michael ce827f3481 Revert "elementary: Don't always show pointer object"
This reverts commit f56dc8d0c3.

Reverting these as we need to handle mouse pointers a different way.
2016-10-25 11:07:32 -04:00
Felipe Magno de Almeida 297415cc53 js: Fix compilation of new data types in JS binding 2016-10-25 12:23:34 -02:00
Felipe Magno de Almeida 6dc0a07a85 eo: Fix compilation of macro in C++ because of goto
Moved variable cross-definition to the top, so no more
cross-definition between goto would happen.
2016-10-25 12:23:34 -02:00
Lauro Moura 500ed1e40b efl_js: Export Canvas Object and Group 2016-10-25 12:23:34 -02:00
Lauro Moura 611498f035 ecore_js: Add missing HandleScope to addTimeline 2016-10-25 12:23:34 -02:00
Lauro Moura 6aa4486209 ecore: Add _SAFE when iterating the animators.
In some cases (like JS libuv events) an animator callback can trigger the
deletion of an animator, changing the list being iterated.
2016-10-25 12:23:34 -02:00
Lauro Moura 620454e43d efl_js: Enable Ethumb support for Elm. 2016-10-25 12:23:34 -02:00
Lauro Moura 508edf78c6 efl_js: Update after eo/efl api changes 2016-10-25 12:23:34 -02:00
Lauro Moura 4f52588b3c efl_js: Update JS examples
Changing imports, functions, etc.

Also export "cast" function for all eolian_js generated classes.
2016-10-25 12:23:34 -02:00
Lauro Moura c08eedfd11 eo_js: Instead of abort, throw an Exception
* When the constructor fails
* On cast error.
2016-10-25 12:23:34 -02:00
Felipe Magno de Almeida c364844f67 eolian-js: Fix dependency on Ecore.eo.hh 2016-10-25 12:23:34 -02:00
Felipe Magno de Almeida 2773f8301b eolian-cxx: Normalize variabla name for generated C++ files in automake 2016-10-25 12:23:34 -02:00
Lauro Moura 21cc5715ba eolian_js efl_js: Fix tests.
* Probably the idle refactor changed the order the callbacks are called.
* Removed trailing * from class types
2016-10-25 12:23:34 -02:00
Lauro Moura 7869eeed53 eina_js: Fix log color persistence.
The c_ptr() passed to eina_log_register was being lost when saving the string
into the map.
2016-10-25 12:23:34 -02:00
Lauro Moura ae3c74d879 efl_js: Update registration functions
After the Elm -> Efl.Ui and other changes.

Also add extern C guards around private header (elm_widget).
2016-10-25 12:23:34 -02:00
Lauro Moura 966d51bf28 eolian_js: Several fixes
* Update after scope api change.
* Add missing type mapping for new eolian types
* Avoid generating protected properties

  We select the get/set as one (through TYPE_PROPERTY) in the first check for
  visibility. After 375179b47 it is possible to have different scopes for getters
  and setters.

* Add pointer to complex tp and classes

  e984e5a removed the explicit pointer from classes and complex types in the eo
  files, handling them implicitly.

* Avoid generating functions with void*

  Until further notice, they will not be automatically generated.

* Avoid generating ref stuff from eo_base.eo

* Warn when there are methods with the same name.
2016-10-25 12:23:34 -02:00
Lauro Moura 4ce9a42456 eo_js: Update event callback after return removal. 2016-10-25 12:23:34 -02:00
Stefan Schmidt 89a4d27664 docs: gfx interfaces: fix some typos in docs 2016-10-25 16:08:25 +02:00
Stefan Schmidt 820d8f23f0 docs: interfaces: document missing structs in gfx interfaces 2016-10-25 16:08:25 +02:00
Stefan Schmidt 1ed2b0fbde docs: document all missing enums
With this commit we reach 100% enum doc coverage. The fields in the enums are
still at 91%, but there is progress on that front as well.
2016-10-25 16:08:25 +02:00
Stefan Schmidt 7d698bbfc1 docs: efl interfaces: document enums accross interfaces eo files 2016-10-25 16:08:25 +02:00
Stefan Schmidt a6022c1702 docs: ecore_con: document missing HTTP enums 2016-10-25 16:08:25 +02:00
Stefan Schmidt fee28a5b16 docs: elm_icon: fully document elm_icon eo file 2016-10-25 16:08:25 +02:00
Stefan Schmidt 7df301d857 docs: tree wide enum sentinel value documentation 2016-10-25 16:08:24 +02:00
Stefan Schmidt ef814db490 docs: harmonise use of enum sentinel description in eo files 2016-10-25 16:08:24 +02:00
Stefan Schmidt c8e4ae21d8 elm: remove no longer needed Elm.App.View_State
Left over from the elm app server/client removal. Hidden in an eo type file
this was overlooked.
2016-10-25 16:08:24 +02:00
Daniel Kolesa 306aba7848 eolian gen: add -s for silencing type errors in validation 2016-10-25 16:01:54 +02:00
Daniel Kolesa 3758d5b9fa eolian gen: always validate database 2016-10-25 15:59:41 +02:00
Daniel Kolesa 08f11e2c46 ecore con: fix invalid doc reference
Fixes T4761 (also spank @barbieri)
2016-10-25 15:54:46 +02:00
Gustavo Sverzut Barbieri cd53f9bad2 efl_net_*_udp: make UDP usable, including multicast.
This was a huge work, but now UDP is usable as seen in the examples.

Instead of relying on 'connect()', just do 'sendto()' and 'recvfrom()'
as they are universal. Multicast address can only be connected in
IPv4, IPv6 wasn't working and I'm not sure the IPv4 is portable to
other platforms.

Dialer will auto-join multicast groups is the dialed address is
one. Multicast properties such as time to live (hops) and loopback can
be configured. When joining multicast groups, the local
address/interface can be configured by 'IP@IFACE' format, with
'@IFACE' being optional.

Dialers will now auto-bind, so it can receive data as dialers are
expected to be bi-directional. One can manually specify the binding
address if there is such need.

Since datagrams must be read in their full size, otherwise the
remaining bits are dropped, expose next_datagram_size_query() in both
Efl.Net.Socket.Udp and Efl.Net.Server.Udp.Client.

To finalize UDP for real we need to introduce an 'Efl_Net_Ip_Address'
structure to serve as both IPv4 and IPv6 and expose 'sendto()' and
'recvfrom()'. These will come later as this commit is already too big.
2016-10-25 10:11:48 -02:00
Gustavo Sverzut Barbieri 6d1a54ed8e efl_net_server_udp_client: add missing part of name. 2016-10-25 10:11:48 -02:00
Carsten Haitzler 534c3c91b7 emotion - add vpath support for file_set on emotion objects
this completes my todo list for vpath path support at least for now
(evas images, edje objects and emotion objects). now vpath's work for
these too.
2016-10-25 18:34:25 +09:00
Marcel Hollerbach cf643b627c eina: fix shutdown
in eina_file we are using eina_hash, eina_hash is using eina_rbtree, so
we should ensure that rbtree is shutted down AFTER file is shutted down.

fix T4753
2016-10-24 21:42:28 +02:00
Chris Michael 9c9c8809a7 evas: Fix framespace object clipping detection
This patch fixes an issue where border icons were missing when running
EFL Wayland client applications. This also fixes the issue where
softcursor mouse pointers would not draw over bottom window border.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:08:00 -04:00
Chris Michael f56dc8d0c3 elementary: Don't always show pointer object
If we are using softcursor mode during intercept show, then we should
check that the pointer is actually in the canvas before showing it
else we end up with mouse pointers drawn on the canvas even when the
mouse itself is nowhere near a window.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:08:00 -04:00
Chris Michael 3686a8aa89 elementary: Don't try to set pointer edj if there is no pointer
If we don't have the sd->pointer.obj here, then there is no need to
try and set the edje theme for it.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-24 13:08:00 -04:00
Stefan Schmidt cc49d3e1de docs: fileselector: improve docs for enum, events and keyword usage 2016-10-24 17:41:52 +02:00
Stefan Schmidt f4ae4bfb69 docs: ecore: make consistent use of $true and $false keywords in docs 2016-10-24 17:21:48 +02:00
Stefan Schmidt e81acf70e6 docs: edje: consistent use of $true and $false keywords 2016-10-24 17:15:31 +02:00
Stefan Schmidt f8ef2fec58 docs: emotion: add missing docs for efl canvas video events
Also make use of $true keyword while being there.
2016-10-24 17:02:23 +02:00
Stefan Schmidt ea7c0ca516 docs: eo: make consistent use of $true in docs
Make use of the $true keyword instead of going with Ein_True or just true. We
need to change this tree-wide in the docs.
2016-10-24 16:52:48 +02:00
Stefan Schmidt f52dc97927 docs: atspi: add docs for events in accessible 2016-10-24 13:28:52 +02:00
Stefan Schmidt cba20188f6 docs: atspi: add docs for atspi accessible enums 2016-10-24 13:19:18 +02:00
Gustavo Sverzut Barbieri 91499c5179 efl_net_server_fd: fix inverted comparison for valid socket handle. 2016-10-22 22:41:01 -02:00
Gustavo Sverzut Barbieri 5517c9b261 efl_net_server_fd: close socket on destructor. 2016-10-22 22:26:02 -02:00
Gustavo Sverzut Barbieri 00fa8a8cc7 efl_net_*: fix some more Win32-unfriendly code. 2016-10-22 22:14:45 -02:00
Gustavo Sverzut Barbieri 810294d099 efl_net_socket_fd: use closesocket() and INVALID_SOCKET.
Instead of efl_io_closer_fd that does close() and compares with < 0,
use windows-friendly code.
2016-10-22 22:13:40 -02:00
Gustavo Sverzut Barbieri cddbce8900 efl_net_*: improve WIN32.
Thanks to vtorri for poiting out about close() is not the correct
socket function, we should use closesocket() instead.

Also defined SOCKET to int on Linux so we can use the same 'type' and
avoid lots of ifdef in our code. On Windows it's unsigned, thus would
cause some warnings about incorrect signed comparison.
2016-10-22 21:49:01 -02:00
Gustavo Sverzut Barbieri a06c9f96aa AI_V4MAPPED may not be defined in some platforms.
define to 0 in such cases, so the flag won't be affected.

Fixes T4754
2016-10-22 21:20:56 -02:00
Gustavo Sverzut Barbieri 9c0ce3946a efl_net_server_fd: one more WIN32 friendly comparison.
with the fallback define, it's valid on POSIX and Windows.
2016-10-22 21:20:56 -02:00
Marcel Hollerbach 2866e2f980 elementary: check if its a wayland window before using ecore_wl2 api
otherwise there is a bunch of error messages from a app running on
x.
2016-10-22 20:22:18 +02:00
Marcel Hollerbach 0180da708d evas_callbacks: restore error message behaviour from MAGIC_CHECK
before changing MAGIC_CHECK to eo_isa passing NULL to a function would
result in nothing, now it gives a error message. This restores the old
behaviour.
2016-10-22 19:26:47 +02:00
Gustavo Sverzut Barbieri e6a78bd02a efl_net: play better with WIN32.
Defined INVALID_SOCKET=-1 and SOCKET_ERROR=-1 on non-Windows platforms
so we can keep the same construct 'function() == error' and it should
work on POSIX and windows.

I cannot test these on Windows, but the situation should be improved
with this commit.
2016-10-22 13:15:16 -02:00
Gustavo Sverzut Barbieri bcd60581eb efl_io_copier: on close, emit "done" if still pending.
done event must be emitted before "closed" in order to notify it won't
do anything else.
2016-10-22 12:04:25 -02:00
Gustavo Sverzut Barbieri 285f5c09e7 efl_* examples: improve usability of boolean options.
Instead of using 'bool', which requires a parameter to be useful, make
them toggle of the default value.

Adapt names to make more sense in that context.
2016-10-22 11:55:45 -02:00
Gustavo Sverzut Barbieri 26866ca2a8 efl_net_*_udp: expose SO_DONTROUTE.
It's common to have protocols that are restricted to local network
only, thus allow exposing SO_DONTROUTE to avoid mistakes.
2016-10-22 11:46:19 -02:00
Gustavo Sverzut Barbieri 5e54c3aa57 efl_io_copier: add inactivity_timeout.
This is handful to error the copier with ETIMEDOUT if there are no
reads or writes in the given amount of time.

Since copiers are usable to download data or handle network clients,
it's easy to set a timeout and disconnect, let's say UDP clients that
are gone.
2016-10-22 10:52:22 -02:00
Gustavo Sverzut Barbieri 9ab8f6636a getaddrinfo(): when providing hints, make sure we use addrconfig/v4mapped.
if no hints were specified, getaddrinfo() will assume ai_flags as
AI_ADDRCONFIG | AI_V4MAPPED, which only reports useful results based
on what system supports. For instance AI_ADDRCONFIG will only return
IPv4 if IPv4 address exists, likewise IPv6 will only be returned if
IPv6 address is configured, avoiding these to be tried and error for
most local networks where such address could not be used. AI_V4MAPPED
will map IPv4 address over IPv6 if no IPv4 was found.
2016-10-22 09:46:43 -02:00
WooHyun Jung a659fe3484 elm_spinner: change the key event operation on spinner
Left/Right(or Up/Down with vertical one) changed the value of
spinner previously. However, it gave uneasy because focus could not be
moved to another winset until the value met the min or max.
Now, inc/dec button can get focus, and enter input on them change
the value.
Additionally, central text button changes to the entry automatically
when it gets focus. i.e. toggle on the text button is removed.

@fix
2016-10-22 12:03:54 +09:00
Stefan Schmidt fcb8cce01f docs: atspi: add more docs to atspi text interface 2016-10-22 00:22:07 +02:00
Stefan Schmidt 6015f93130 docs: atspi: document atspi appl object class 2016-10-22 00:22:07 +02:00
Stefan Schmidt 15b61d487a docs: atspi: document atspi bridge class 2016-10-22 00:22:07 +02:00
Cedric Bail 6321630d32 ecore: force fully resolve a future on cancel during recursive call. 2016-10-21 12:44:53 -07:00
Chris Michael 0a46096337 elementary: Provide EFL mouse pointers for Wayland Client applications
This commit allows EFL wayland client applications to make use of EFL
mouse pointers instead of the wayland-cursor provided ones.

NB: There are still some minor hiccups with this (move pointer does
not change, mouse pointer getting clipped off when on the lower
border, etc) but those will get sorted out soon.

Feature request by the old man ;)

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-21 15:32:47 -04:00
Chris Michael 173fda5c11 ecore-wl2: Remove all references to wl_cursor usage
This commit essentially removes the ability to use wl_cursor for EFL
Wayland Client Applications. This is a request from "some old man" ;)
for efl wayland applications to use EFL pointers, not X/FDO pointers.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-21 15:32:47 -04:00
Chris Michael 0f6c33eff1 evas: Fix issue of wayland clients not drawing border icons
Due to commit 7ce79be1a1, EFL Wayland
Client applications stopped rendering their window icons. This was due
to the code which tried to detect if an object is in framespace.
Previous version would just check the obj->is_frame flag ... which is
insufficient to determine if an object is in Framespace. This commit
fixes that issue by checking an objects geometry also.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-21 15:32:47 -04:00
Stefan Schmidt 922988097b docs: atspi: document text editable atspi interface 2016-10-21 19:04:37 +02:00
Stefan Schmidt e32440de42 docs: atspi: fix some typos in text docs 2016-10-21 19:04:37 +02:00
Stefan Schmidt a4deea012e docs: atspi: add missing docs for enums and structs in atspi text interface 2016-10-21 19:04:37 +02:00
Stefan Schmidt 3dc5dae685 docs: atspi: add missing docs to atspi value interface 2016-10-21 19:04:37 +02:00
Stefan Schmidt e8c197763f docs: atspi: add missing docs for atspi selection interface 2016-10-21 19:04:37 +02:00
Stefan Schmidt c75fd90ec9 docs: atspi: add missing docs for atspi image interface 2016-10-21 19:04:37 +02:00
Stefan Schmidt b7b1048c3e docs: atspi: add missing method docs for atspi component interface 2016-10-21 18:36:37 +02:00
Stefan Schmidt 0c082b3f71 docs: atspi: add missing method docs for atspi accessible interface 2016-10-21 18:36:36 +02:00
Stefan Schmidt a843f93c7d docs: atspi: document structs for atspi accessible interface 2016-10-21 18:36:36 +02:00
Stefan Schmidt adca8765c0 docs: atspi: add missing docs for atspi action interface 2016-10-21 18:36:36 +02:00
Gustavo Sverzut Barbieri 7493368e54 efl_net_server_udp: initial UDP server.
This is the initial UDP server that works similarly to the TCP one,
however under the hood it's widely different since the socket is
reused for all "clients", thus needs a new Efl.Net.Server.Udp.Client
(Efl.Net.Socket) as Efl.Net.Socket.Udp exposes the fd and options such
as 'cork', which would interfere in other clients.

The main socket will read the packets and find an existing client to
feed it. If no client exists, then it will create one if not overr
limit. Since there is no kernel-queuing as done by listen()/accept(),
the 'no reject' case will just accept the client anyway.

Next commits will improve UDP server handling with some advanced
features:

 - join multicast groups
 - bind to a specific interface (SO_BINDTODEVICE)
 - block packets going out of local network (SO_DONTROUTE)
 - specify priorities (SO_PRIORITY)
2016-10-21 13:33:27 -02:00
Gustavo Sverzut Barbieri 3cb15c17e0 efl_net_dialer_udp_example: be more 'correct' using events to read/write.
instead of blindly reading and writing, which can lead to hangs due no
server, let's use can_read and can_write to do the operations, this
won't let us believe we can read when we can't.

it's also the recommended approach, so let's show that in the examples
so users don't copy&paste incorrect stuff :-)
2016-10-21 13:33:27 -02:00
Gustavo Sverzut Barbieri f57316655c efl_net_server_fd: allows custom socket 'read' event handling.
This allows UDP to reimplement it using recvfrom() instead of
accept().
2016-10-21 13:33:27 -02:00
Tom Hacohen 047d88caa0 Eo: Add test for refcount in efl_add_ref
This commits adds a regression test to the previous commit.
2016-10-21 15:29:39 +01:00
Tom Hacohen 25242e6af9 Eo: Fix references of objects 2016-10-21 15:29:39 +01:00
Tom Hacohen 6c8489c3b7 Eo test: Fix cleanup of objects. 2016-10-21 15:29:39 +01:00
Daniel Kolesa 6ecd3c040d docs: support for documenting variables 2016-10-21 16:01:03 +02:00
Mykyta Biliavskyi 9266ce4bd5 Elm_theme: parse theme name "<disk>:/file.ext" only on Windows.
Commit 86928a430c broke ability to use more than one theme file for
posix compatible systems. For case
ELM_THEME=/home/user/a.edj:/home/user/b.edj string was parsed
incorrectly. The result was a single string
"/home/user/a.edj:/home/user/b.edj", but expected two strings
"/home/user/a.edj" and "/home/user/b.edj"

This commit add additional check of the file paths like
<disk>:/filename.ext or <disk>:\filename.ext in Windows only.
This avoid wrong parse behaviour on Linux and macOS.
2016-10-21 16:08:04 +03:00
Shuhrat Dehkanov c1df3a99cf elm test: correct elm_entry_autocapital_type_set() argument
Summary: EINA_TRUE translates into ELM_AUTOCAPITAL_TYPE_WORD, so use the latter to be consistent with the API.

Reviewers: jpeg, minkyu, devilhorns

Subscribers: stefan_schmidt, devilhorns, cedric

Differential Revision: https://phab.enlightenment.org/D4354
2016-10-21 08:57:16 -04:00
Markus Svilans 8e2f33381d New flip mode called ELM_FLIP_CROSS_FADE
Summary: Added new flip mode called ELM_FLIP_CROSS_FADE, which causes one content to fade in while the other fades out. Updated test_flip.c program to include a button for testing the new flip mode.

Test Plan: Run the elementary_test program, and open the Flip test. There is a new button labelled "9" that will activate the new cross-fade flip mode.

Reviewers: Hermet, bu5hm4n, raster

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, cedric, jpeg

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D4314
2016-10-21 14:13:00 +09:00
Guilherme Iscaro 8040d20f90 This series fixes two problems in the VNC implementation.
One deadlock and one segfault.

Patch 1:

Software X11 Evas Engine: Fix deadlock

Summary:
The patch bc6e8d2692 introduced a callback responsible to notify the pixels
that were sent to the X server. Since all EFL rendering is done by another
thread, the callback should be called from the main thread context.
To achieve this behaviour evas_software_x11_region_push_hook_call()
was using ecore_thread_main_loop_begin(), which may cause deadlocks, since
evas mainloop waits for the render thread and the render thread waits
the mainloop.

In order to fix this problem, the function
ecore_main_loop_thread_safe_call_async() will be used to
schedule the callback to run in the main loop context.

Since a callback is schedule to run in async manner, the pixels that
were sent to the X server must not be deleted until the user is informed.
In order to avoid more mallocs(), this patch adds the support for refcounts to the
X_Output_Buffer and Xcb_Output_Buffer.

Patch 2:

Ecore_Evas VNC: Use the image size to create the buffer.

In same cases they may differ and may lead to a segfault, since
memcpy() causes a buffer overrun.

Reviewers: bdilly, raster

Reviewed By: raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4323
2016-10-21 13:56:00 +09:00
Gustavo Sverzut Barbieri 094c9091b4 efl_net_server_tcp: use async getaddrinfo() to resolve server name.
this allows nicer usage such as 'localhost:http' as the address, which
will resolve to [::1]:80 (if IPv6 is enabled) or 127.0.0.1:80 if only
IPv4 exists.
2016-10-21 00:16:37 -02:00
Gustavo Sverzut Barbieri 6345a6e5f4 efl_net_server_example: improve error messages (show text). 2016-10-21 00:16:37 -02:00
Gustavo Sverzut Barbieri 41231ee41b ipv6_only: use system default if unset.
only apply the value if IPv6 && set. If unset (now 0xff), then call
the getter so the property is in sync with the kernel default.
2016-10-21 00:16:37 -02:00
Carsten Haitzler 681d47a6c1 ecore anim - actually fix by checking fd not thread handle
this should remove a 0.5 sec or so pause at shutdown of efl apps.

@fix
2016-10-21 09:39:00 +09:00
Carsten Haitzler 522c3d7b75 eocre animator - the anim thread is polled on shutdown use volatile
we sit in a loop wating for animator thread to die on shutdown
(sleeping for 1000us), so make it a volatile so every check actually
checks and doesnt cache.

@fix
2016-10-21 07:40:34 +09:00
Gustavo Sverzut Barbieri aba1223145 efl_io_copier: always cancel job on destructor.
It's already deleted on close(), but that's now optional
(close_on_destructor).
2016-10-20 18:49:41 -02:00
Gustavo Sverzut Barbieri c873703c41 efl_net_server_tcp: allow IPv4 over IPv6 sockets.
Sometimes we want to handle both IPv4 and IPv6 in the same socket,
instead of spawning 2 servers, one for each protocol. That is achieved
by means of disabling IPV6_V6ONLY socket option, present in most
recent platforms.
2016-10-20 18:49:41 -02:00
Derek Foreman 1809b3b959 gl_x11: Do KHR Partial Damage properly
KHR partial damage must be set once at the beginning of rendering with
buffer damage for the entire scene to be rendered.  Doing otherwise can
result in graphical anomalies on some GL implementations.
2016-10-20 14:30:00 -05:00
Stefan Schmidt d29bb3bbec docs: eina_types: add descriptions for some structs for these eina beta api's 2016-10-20 17:45:33 +02:00
Stefan Schmidt 4e7b9ae7ba docs: edje: add some missing descriptions in edje enums 2016-10-20 17:45:33 +02:00
Stefan Schmidt 30a049a7b7 docs: eldbus: document all eldbus structs and its members 2016-10-20 17:45:33 +02:00
Stefan Schmidt f486be101c docs: ecore_con: add descriptions for the HTTP error codes
With this commit the documented globals reach 100%. Please keep it that way.
2016-10-20 17:45:33 +02:00
Stefan Schmidt 659c5bcc3f docs: ecore_con: add docs for HTTP authentication method enum 2016-10-20 17:45:33 +02:00
Stefan Schmidt eb9923a68c docs: ecore_con: be a bitmore verbose for the HTTP version description 2016-10-20 17:45:33 +02:00
Stefan Schmidt 13d92a7c5e docs: ecore_con: add description for efl net dialer errors 2016-10-20 17:45:33 +02:00
Mykyta Biliavskyi 86928a430c Elm theme: correct parse a theme filename on Windows OS.
Windows os uses ':'  as delimiter between disk name and file path.
<disk>:/<dir>/file.ext. In this commit added parse case for <disk_name>
symbol meets before ":/".
2016-10-20 18:21:02 +03:00
Daniel Kolesa db7b6dd7e0 eolian gen: use EWAPI for events instead of EOAPI
Apparently only methods/properties can be EOAPI.
2016-10-20 16:48:41 +02:00
Daniel Kolesa 5db3f14f85 eolian gen: use EWAPI for all generated variables 2016-10-20 16:44:20 +02:00
Daniel Kolesa 401ab75a4a ecore con: generate vars instead of writing them manually 2016-10-20 16:03:29 +02:00
Daniel Kolesa 930af741b9 eolian gen: automatically uppercase names for vars/constants 2016-10-20 16:01:11 +02:00
Daniel Kolesa 02aed9a043 eolian gen: update tests to cover var generation 2016-10-20 15:22:14 +02:00
Daniel Kolesa 0ee248fb86 eolian gen: generate vars in source files for globals with value 2016-10-20 15:11:43 +02:00
Daniel Kolesa 9e12fd39af eolian gen: initial generation of variables in headers 2016-10-20 14:39:50 +02:00
Felipe Magno de Almeida 17da4b5b9d eo-cxx: Fix compilation and warnings in clang 2016-10-20 04:52:18 -02:00
Jean-Philippe Andre 7c2259adc8 elm: Remove elm app client/server implementation & APIs
This removes EO APIs related to an unmaintained client/server
model for applications. The reasons for this removal are the
following:
- unused
- no support in E
- relies on dbus as the sole transport layer
- unmaintained since the original patches
- only EO API (iow: beta, never released API)

I've also never seen the test cases (in elementary_test) actually
work.

According to Gustavo (k-s), the original author of this feature
is not involved in EFL at the moment, and unlikely to be in the
near future.

Note that terminology has in the past used those APIs when it
was still using some beta EO APIs. This code is now long gone,
removed in terminology commit 3ffcbadd6f9881472db6 (2014/12/13,
for version 0.8.0)

If someone wants to step in and maintain the implementation,
protocol and (EO) API, then feel free to revert this patch
and revive the feature. But it will need to be more solid than
this implementation.
2016-10-20 14:55:48 +09:00
Jee-Yong Um c0a41034cd eolian: fix build warning
Differential Revision: https://phab.enlightenment.org/D4356
2016-10-19 23:50:49 +02:00
Derek Foreman 6a65253f68 wayland_egl: Remove weirdo buffer age kludge cargo culted from gl_x11
There's no reason why we'd need a full redraw if the buffer age for
this buffer isn't the same as the buffer age for the last buffer, so
let's cut out this thing.
2016-10-19 16:29:05 -05:00
Derek Foreman a44352a10f wayland_egl: Use surface damage instead of buffer damage
We should always pass surface damage to eglSwapBuffersWithDamage.
2016-10-19 16:29:05 -05:00
Derek Foreman c3a31ff213 gl_drm: Use surface damage instead of buffer damage
We should always pass surface damage to eglSwapBuffersWithDamage.
2016-10-19 16:29:05 -05:00
Derek Foreman 7a978fe58c evas_engines: Send both surface and buffer damage to outbuf_flush callback
Some engines should using sending surface damage, until now we'd only ever
provided them with buffer damage.

The difference is that surface damage is the damage to the surface the
compositor is displaying, and the buffer damage is the damage to the
buffer the client has rendered.  These are different when the client
is using multiple buffers of different ages to render into.

Anything that calls eglSwapBuffersWithDamage, wl_surface_damage() or
wl_surface_damage_buffer() should be using surface damage, and not
buffer damage.

This patch is intended to make no functional change - any flush cb that
used buffer damage before still should.  Actual fixes to follow.

Apologies if I broke any engines - it's a bit of a copy and wasteland
out here.
2016-10-19 16:29:05 -05:00
Derek Foreman 455afb707f Revert "wayland_shm: Add swap mode fallback when buffer age changes"
This reverts commit 62ca4486ea.

Honestly, I think the gl_x11 code doesn't make sense either. :)

There's no logical reason that we have to do that, though it may be
hiding some other bug?  If that's the case, the bug should be fixed
properly.
2016-10-19 16:29:05 -05:00
Cedric BAIL b5f2b695b7 ecore: test recursive case on efl_future. 2016-10-19 13:40:49 -07:00
Cedric BAIL fb1feee480 ecore: allow efl_future_cancel on a promise currently being resolved.
This is necessary for allowing proper handling of recursive cancel.
2016-10-19 13:39:10 -07:00
Tom Hacohen d952b35098 Eo: Add a regression test for ref leak in function resolve
This adds a regression test for the last commit.
2016-10-19 16:32:16 +01:00
Tom Hacohen 5a659fafd2 Eo: Fix reference leak when failing to resolve function.
When resolving a function for an object the object would get reference,
and then in some failure cases won't be freed.

I suspect this is a regression following the reshuffling that was done
in that function recently.

Thanks to zmike for investigating and reporting this.

Fixes T4740

@fix
2016-10-19 16:32:16 +01:00
Tom Hacohen f4eb94a7d8 Eo: Remove no longer relevant tests. 2016-10-19 16:32:16 +01:00
Daniel Kolesa 8c9fa54be4 eolian: fix the nonsensical semantics for variables
Both variables and constants can have extern on them (it means the same thing
as in types, they won't get generated in C). This is different from the previous
semantics which only allowed extern on globals, which makes no sense.

Both globals and constants are allowed to have a value (previously only
constants were); constants are required to have a value. Globals having
a value is just a convenience for initialization during source generation.
This is unlike the previous behavior, where the value was optional for both
globals and constants and only allowed when not marked extern, which makes
no sense either.

Obivously, even when globals have a value, they're not allowed to be used
in expressions, as they cannot be evaluated at compile time (they're mutable).
2016-10-19 15:32:22 +02:00
SangHyeon Lee 73095ad7ad gengrid: support for non homogenous items
Summary:
Dimensions of gengrid items can be altered for
non homogenity.

Care must be taken however to set the homogenous
size for items using elm_gengrid_item_size_set().

In horizontal mode only the heights will change
and in vertical mode only the widths. Fixed dimension
will be as set with elm_gengrid_item_size_set().

This is forked by https://phab.enlightenment.org/D2422

Test Plan:
elementary_test -to "Gengrid Resized Items"
Current test program provides focus autoscroll
and item looping options.

Reviewers: raster

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4330
2016-10-19 15:48:51 +09:00
Jean-Philippe Andre b88093c847 evas: Last fix... now it builds 2016-10-19 14:05:31 +09:00
Jean-Philippe Andre e67d9c4e1c evas: More compilation fixup with EGLImage
This is what happens when you can't test a patch yourself ^^
2016-10-19 13:40:08 +09:00
Jean-Philippe Andre 5fd4875ad4 evas: Fix compilation with older EGL (maybe <1.5)
EGLImage was not introduced until very recently. EGLImageKHR was
the proper type. Thanks Roy for the report.
2016-10-19 13:35:12 +09:00
Cedric BAIL efda7d492d ecore: handle recursive trigger of promise by the cancel of a future.
This avoid double free/double callback call.
2016-10-18 16:49:48 -07:00
Gustavo Sverzut Barbieri 69e330e781 efl_net_dialer_udp: enable SO_BROADCAST before sending to 255.255.255.255
Like other toolkits, let's enable this automatically for users before
connecting to 255.255.255.255 IPv4 (IPADDR_BROADCAST), otherwise most
systems will just fail to connect and send packets.
2016-10-18 20:00:52 -02:00
Gustavo Sverzut Barbieri 278866da2c efl_net_dialer_udp: "connect" to an UDP server to send and receive data.
Like existing ecore_con code, this does not use SOCKSv5 UDP
proxy. It's kinda cumbersome to add since requires a keep alive TCP
connection to the server, a second UDP channel and framing around the
original UDP frame.

Added UDP_CORK (if present) to match TCP_UDP present in TCP sockets,
this allows one to execute multiple write() calls that will result in
a single datagram, generated when CORK becomes FALSE again.

The efl_io_copier_example.c now accepts this as output. There is no
input UDP as there is no way to notify the server of a connection
(since such thing doesn't exit), usually servers react after a
datagram is received, replying to the source.
2016-10-18 19:04:00 -02:00
Gustavo Sverzut Barbieri 23b9b0d78d efl_net_socket_tcp: only emit error message if cork is being enabled.
by default we'll start with cork=0 and on adoption of a FD we'll apply
cached values, thus we'd try to apply cork=0 (default) and it would
error, which is annoying on platforms without such feature.

since users interested in TCP_CORK will enable it first, they will get
the error at that point.
2016-10-18 19:04:00 -02:00
Derek Foreman 7785bfa167 ecore: replace arbitrary time with 32-bit safe arbitrary time
The end of time is much closer than you think.  it_value.tv_sec is
a signed 32-bit number on 32-bit machines. Using a negative tv_sec
causes timerfd_settime() to fail.
2016-10-18 15:52:56 -05:00
Jean-Philippe Andre 62ca4486ea wayland_shm: Add swap mode fallback when buffer age changes
This copies the behaviour in opengl_x11 engine, where the buffer
age needs to be continuously the same to be taken into account.
If the age varies, then we fallback to a full redraw.

Apparently this fixes issues on actual devices. I tested this
patch in weston (I didn't have issues before and buffer age is 1).
2016-10-18 17:40:01 +09:00
Vyacheslav Reutskiy 2922b68fdf edje_edit: avoid generate '(null)' value for image.normal 2016-10-18 08:49:07 +03:00
Vyacheslav Reutskiy 7d3200c782 edje_edit: add correct tweens generation for inherit state 2016-10-18 08:24:39 +03:00
Vyacheslav Reutskiy 313b449ab4 edje_cc: set correct value for attr set for MESH_NODE
On parce the image.normal token set attribute 'set' only for part type
EDJE_PART_TYPE_MESH_NODE.

@fix
2016-10-18 08:17:05 +03:00
Shilpa Singh 2ec7f7baf9 elm_atspi_bridge: visible data changed signal not sent issue fix.
Summary:
_visible_data_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 visible data changed signal from any widget, but signal
is not sent.

Reviewers: cedric, lukasz.stanislawski, kimcinoo

Reviewed By: kimcinoo

Subscribers: rajeshps, govi, jpeg

Differential Revision: https://phab.enlightenment.org/D4352
2016-10-18 10:56:53 +09:00
Andrii Kroitor 6711a414dc edje_edit: refactor eet file usage
Summary:
Move opening for read/write/read-write and error message to internal method
Reuse eet file from Edje instead of opening it again in read-only mode
Add wrapper for eet_close to skip closing if internal file was used

Reviewers: NikaWhite

Subscribers: cedric, jpeg, #eflete

Differential Revision: https://phab.enlightenment.org/D4353
2016-10-17 18:51:59 +03:00
Chris Michael a0cdbc9ec2 elementary: Fix call to offer_supports_mime function
As this function was misnamed in Ecore_Wl2, update the code here to
use the proper API function.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-17 10:43:43 -04:00
Chris Michael 79815ea851 ecore-wl2: Fix typo in API function name
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-17 10:43:27 -04:00
Jean-Philippe Andre 7a33ca696e map: Fix elm_map usage (typo) 2016-10-17 20:05:26 +09:00
Simon Lees d7a2e8608b
Emile: use stronger ssl cipher
Follows on from 356a1aa87a emile
didn't exist when this work was done originally
2016-10-17 20:58:04 +10:30
Simon Lees 356a1aa87a
ecore_ssl: Use stricter cipher suites
Thanks to Victor Pereira from the SUSE Security team for auditing
this and recommending better options.
This has been discussed several times but knowone ever got to
commiting it.
2016-10-17 13:58:32 +10:30
Subhransu Mohanty 9b7ac51943 evas/map: do nothing when same map is set again
Reviewers: cedric, Hermet, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4344
2016-10-17 10:49:10 +09:00
Shuhrat Dehkanov 33750f8fac ELM: sync "clicked" usage with other places in the lib
Summary: In all other places "clicked" is defined as a local variable.

Reviewers: tasn, jpeg

Reviewed By: jpeg

Subscribers: cedric, minkyu

Differential Revision: https://phab.enlightenment.org/D4349
2016-10-17 10:49:10 +09:00
Davide Andreoli b8ae4947b6 Emotion: prefer ratio to calculate sizes
Instead of calculate the ratio from the sizes, calc the width from the ratio,
as ratio seems always accurate.
Fallback to the old code if ratio not available (tbh I never see this case)

@Fix EMOTION_ASPECT_KEEP_BOTH with some rare strams, mostly DVD and online stuff
2016-10-16 08:19:30 +02:00
Carsten Haitzler 14aca77bfc fix edje_cc segv when compiling bling bling theme
accessed parts out of range for the part table. check part count first
before checking. fixes segv. @fix

blinblng: http://enform.haxlab.org/files/blingbling_e21.tgz
2016-10-15 11:28:01 +09:00
Derek Foreman 3d6aae4633 evas gl x11 engine - Wrap eglCreateImage
eglCreateImage and eglCreateImageKHR have different parameters - the
attribute list is EGLint for one and EGLAttrib for the other.  Since
EGLAttrib is long, on a 64-bit system it's a different size than EGLint.

This was causing a crash in Enlightenment's wl_x11 on 64-bit machines when
trying to use a gl client.

Add a thin wrapper to use whichever is available and pass the appropriate
sized data.
2016-10-14 16:07:08 -05:00
Derek Foreman 54582858d8 ecore_evas_wayland: Don't use frame callbacks on windows with no shell surface
If we set a frame callback on a window with no shell surface (ie: and unmapped
window), the frame callback will never fire.  This was preventing some
applications like rage from ever posting a frame.
2016-10-14 16:07:08 -05:00
Derek Foreman 35995be7b0 ecore_wl2: add API for testing if a window has a shell surface 2016-10-14 16:07:08 -05:00
Daniel Kolesa 2515556673 eolian gen: better checks for whether to add space after type 2016-10-14 15:31:49 +02:00
Stefan Schmidt 7af39bc447 examples: eolian_cxx: adapt code generation to changed eolian_gen commandline
The commandline options have changed for eolian_gen to generate the code. Adapt
the makefile helpers to fix the build break in examples
2016-10-14 12:38:46 +02:00
Carsten Haitzler ed1101d994 fix possible eina file shutdown issue
i am not sure as i cannto reproduce this, but i hope this fixes T4677
by ensuring if eina_file_shutdown is called it cannto double-free a
hash.
2016-10-14 16:40:09 +09:00
Subhransu Mohanty 8b7f060946 evas/module: add a new module in vg_saver for eet
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4350
2016-10-14 15:52:51 +09:00
Jean-Philippe Andre 2fc23aa561 evas: Fix evas_object_smart_clipped_clipper_get
This was broken for smart objects that are not "clipped smart
objects". This fixes the example evas_smart_object.

NOTE: This EAPI was removed in efl-1.18!
/!\ This was an uncaught API break between 1.17 and 1.18 /!\

@fix
2016-10-14 14:00:02 +09:00
Jean-Philippe Andre 9b9c044865 evas: Improve render debug logs
Compiled out by default
2016-10-14 13:59:41 +09:00
Carsten Haitzler f9f94bcb5f ecore_evas - fix setting urgent immediately after show
fixes T4726
2016-10-14 11:11:07 +09:00
Derek Foreman 9efd12a278 ecore-wl2: Fix input and opaque region setting
Bad y co-ordinate resulted in broken shadows after session recovery.

@fix
2016-10-13 17:40:38 -05:00
Chris Michael fe590e9b5e elementary: Fix issue of using uninitialized values
Coverity reports that Evas_Coord_Rectangles were being used here without being
initialized so declare those variables with some initial values

Fixes CID1362984

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-13 12:52:43 -04:00
Chris Michael fa5e4c252f evas: Fix directly dereferencing pointer which may be NULL
Coverity reports this as a dereference before null check which implies
that 'cur' May be null here, so let's not use it before we check it.

Fixes CID1363765

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-13 12:50:12 -04:00
Chris Michael 7633696cb6 evas: Fix directly dereferencing pointer which may be NULL
Coverity reports this as a dereference before null check which implies
that 'pd' May be null here, so let's not use it before we check it.

Fixes CID1364114

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-13 12:47:38 -04:00
Chris Michael 61643e6a06 evas: Fix missing varargs cleanup
This patch fixes Coverity CID1364123 which reports that (in some
cases) va_end was not being called for var args. As they were
previously initialized with va_start, then va_end should be getting
called.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-13 12:43:44 -04:00
Marcel Hollerbach 4b2d459783 gengrid: call this on the pam class not on the normal class
this fixes gengrid.
2016-10-13 16:27:38 +02:00
Daniel Kolesa 57fb92e952 eolian gen: use the new data type API to simplify the code 2016-10-13 15:04:20 +02:00
Daniel Kolesa b6113a6bd9 eolian: add API to get the C class datatype 2016-10-13 15:04:20 +02:00
Felipe Magno de Almeida e0390009bc Fix use of undeclared type in C++ tests compilation
Moved Evas_Object_Intercept_Cb_Type; typedef declaration after enum
_Evas_Object_Intercept_Cb_Type definition
2016-10-13 17:56:11 +09:00
Felipe Magno de Almeida eb1fd44dbb cxx: Fix Makefiles for C++ compilation and installation 2016-10-13 17:56:11 +09:00
Marcel Hollerbach f63ede4281 ecore: free futures which are still pending on shutdown
otherwise we are leaking a eina list.

This was discovered while running the elm_suite with CK_FORK=no, since
ecore and eina are init´ed and shutdown´ed, after the shutdown this list
points to freeed memory pools. So in the next testcase the list is
invalid and crashes. This fixes it with freeing the list on shutdown.
2016-10-13 10:33:22 +02:00
Subhransu Mohanty 45b103eb0a evas/module: add a new module in vg_loader for eet
Reviewers: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4347
2016-10-13 17:09:39 +09:00
Jean-Philippe Andre c5ffad3731 evas: Use proper type in smart objects API (eo) 2016-10-13 10:25:20 +09:00
Daniel Kolesa a862e07520 eolian gen: use the C get function name getter instead of manual concat 2016-10-12 15:11:16 +02:00
Daniel Kolesa d3d63ea8d3 eolian gen: utilize the new class C name getter instead of manual concat 2016-10-12 15:05:46 +02:00
Daniel Kolesa e5d016bb63 eolian: add an API to get the C name used to access the class 2016-10-12 14:56:22 +02:00
Vyacheslav Reutskiy e6fa6ba945 edje_edit: new API for generate source code for color classes
Extend edje edit deberate source API. Add two new API.
 - edje_edit_object_color_class_list_get return a list of used color classes for
   given object
 - edje_edit_color_classes_source_generate is generate code for given
   color classes list
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 8d7ec4181e edje_edit: add API for get source code of global block data
This API is annex for edje_edit_object_source_generate. Together this
API's provide a mechanism for generate source for custom groups from
a edj file or more.
2016-10-12 15:03:20 +03:00
Vyacheslav Reutskiy 49689708a6 edje_edit: add API for generate group source code without 'collection' 2016-10-12 15:03:20 +03:00
Subhransu Mohanty 0d9b168146 evas/module: Added a new module vg_loader for svg
Reviewers: cedric, jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4346
2016-10-12 18:39:10 +09:00
Jean-Philippe Andre bdf79fa8f0 elm_widget: Remove unnecessary set{} get{} in eo file 2016-10-12 18:15:26 +09:00
Jean Guyomarc'h f0df50fe67
edje: fix memory leak 2016-10-12 08:08:12 +02:00
Jean-Philippe Andre 9bf0df8f32 evas: Mark group_add/del as internal
Lacking a proper internal tag, I'm using both protected (it is
in fact a protected access function) and beta (to mark as unstable,
not real API).

New smart objects based on EO only should rely on constructor,
finalize and destructor exclusively. In theory, this should be fine.

Unfortunately it may be impossible to inherit from the Efl.Ui.Win
class as it uses a really bad hack and calls super.constructor
inside the finalize method.
2016-10-12 11:47:50 +09:00
Jean-Philippe Andre 8a9f0bd603 evas/elm: Remove function group_resize
This is an override of efl_gfx_size_set. Same as before, the
order of operations matter so it is possible that a corner
case will break. In particular, legacy code was:
 - intercept
 - smart resize (do stuff), super, super, super
 - evas object resize

The new code is more like:
 - intercept
 - super, super, super, evas object resize
 - do stuff

But unfortunately this broke elm_widget (read: all widgets) as
the internal resize was done before the object resize. So,
inside the resize event cb, the resize_obj size would not match
the smart object size. >_<
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 11b7cf6b72 evas/elm: Remove function group_move
This is an override of efl_gfx_position_set.
As for the other patches, I hope I didn't break anything.

A problem likely to happen is that the super call was inserted
too early or too late in the call flow. For instance:

  _myclass_position_set(obj, x, y) {
    position_set(super(obj), x, y);
    position_get(obj, &prevx, &prevy);
    do_something_with_delta_xy();
  }

The above code flow is obvisouly wrong, but may have crept in this
patch (such a bug sneaked in inside smart object, breaking
everything at first).
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre a0b8408021 evas: Move move_children_relative to legacy only
While this kind of API seems to make sense with smart objects
(relative coordinates), it is currently not used apart from
the smart object class itself.

So, for now, I'm moving this to legacy to clean up Efl.Canvas.Group
and we can later add the equivalent in a clean "group" API.
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 97c9fa64a4 evas/elm: Remove group_show and group_hide
These should be just overrides of Efl.Gfx.visible.set. Many
widgets were handling smart show() and hide() manually, which
means this patch is quite large.

Hopefully this doesn't break anything, obviously. But here are
some widgets known to be problematic, as the old code flow was
really strange (sometimes not calling the efl_super function):
 - window
 - notify
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 62abe2cbff evas: Move clip_unset to legacy, remove group_clip
Similarly to group_color_set, group_clip_[un]set should not
exist and should be a result of efl_super and inheritance.

This patch also removes clip_unset from the EO API and keeps
only clip_set(NULL). The reason is that it will avoid bad overrides
of clip_unset() vs. clip_unset(NULL). This also simplifies the code
a bit. Ideally we should be able to reintroduce clip_unset in EO
if we can have a "@final" tag (like java's final keyword), to
prevent overrides.
2016-10-12 11:25:56 +09:00
Jean-Philippe Andre c60cc50f5a evas: Remove inexisting private function declarations 2016-10-12 11:25:56 +09:00
Jean-Philippe Andre 52969ccd9b evas: Remove method group_color_set
Widgets should simply override efl_gfx_color_set and call
super all the way up to evas object.

Legacy compatibility with call interceptors and early call
abortion (eg. delete_me or obj->layer == NULL) are implemented
with an internal call. See the previous commit introducing the
API.
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 39949b022d evas: Add pseudo-internal API to intercept basic calls
This is a poor man's solution to get rid of group functions such
as clip_set, clip_unset, color_set, etc... See the following
commits.

This API needs to be EAPI for elementary but shouldn't be used
outside EFL. This is required purely for legacy compatibility.

Here's the call flow, inside show(obj):
1. if (intercept_show(obj)) return;
2. show(super(obj));
3. do other stuff
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre dfc3f9deab evas: Simplify code with intercept macros 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre af38880451 evas: Move intercept function types to legacy header 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 9e235faf90 evas_data: Fix safety checks in evas_object_data
This relies on efl_isa rather than the broken magic check
(by broken I mean it only checks for NULL).
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre f06c8b08f3 evas: Move group color_set after checking for change
I can't see why the group (smart object) color_set function
was called even if the color hadn't change. Let's test and
see if this breaks anything :)
2016-10-12 11:25:55 +09:00
Jean-Philippe Andre fe14ab64f3 evas: Small simplification of object color_set 2016-10-12 11:25:55 +09:00
Jean-Philippe Andre 9b8da4eb02 group: Replace group_no_render by object no_render
Most of the smart functions "Efl.Canvas.Group.group_xxx" should
not exist and be overrides of the base object function instead.
Cleaning this up is necessary if we want an EO API for custom
smart objects. This patch is the first attempt at removing a
method (the simplest one).

As for no_render, I wonder if propagating to the children
really is necessary. evas_render should skip them already.
2016-10-12 11:25:55 +09:00
Chris Michael aba152a8be ecore-drm2: Free Output modes on destroy
When we destroy outputs, we should be freeing the Output's Modes also
as that was previously allocated memory.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11 11:30:49 -04:00
Chris Michael fb112b8fab ecore-drm2: Use Atomic Modesetting for resolution changes
Since we have atomic properties now, we can use those to set given
Output modes (resolutions).

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-11 11:30:49 -04:00
Hosang Kim 304ca158be edje_calc: add rounding pixel calculation for transition.
Summary: when transition animation is working, sometimes one pixels loss occurs.

Reviewers: cedric, woohyun, jpeg, raster

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4341
2016-10-11 21:32:23 +09:00
Vitalii Vorobiov 9450c1ec7b edje_edit: proper work with part id's on part restack and del for map fields
@fix
2016-10-11 15:15:19 +03:00
jiin.moon 846c14a392 evas: Fix no update issue if visiblity of smart object has change
Summary: If child has change about visibility, can't check it correctly.

Reviewers: jypark, cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4345
2016-10-11 21:09:01 +09:00
jiin.moon c1a080f5e4 evas: Fix not update issue with TBM surface
Summary:
If the pixels of image object has updates
via native_suface_set api with TBM surface,
does not update on screen(no rendering)

Reviewers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4340
2016-10-11 08:58:52 +08:30
Guilherme Iscaro ca53a21504 Ecore Evas Cocoa: Properly unregister the window events.
Fix T4624
2016-10-10 14:20:48 -03:00
Guilherme Iscaro 5601f76c82 Eet example: Add the correct variable in the hash. 2016-10-10 14:20:48 -03:00
Guilherme Iscaro cc999bcc09 Efl UI Win: Avoid unused variable.
It's only used under X11 and Wayland backends.
2016-10-10 14:20:48 -03:00
Guilherme Iscaro 2d1e7ff927 Ecore_Thread: Avoid compiler warning
Use PRIuPTR to print the Eina_Thread handle.
2016-10-10 14:20:47 -03:00
Guilherme Iscaro 186dd9b00e Ecore Cocoa: Add missing modifiers field to Ecore Events
Fix T4477
2016-10-10 14:20:47 -03:00
Guilherme Iscaro 0897715c8d Ecore_Cocoa: Fix repeat modifers keys.
Some values were repeated.
2016-10-10 14:20:47 -03:00
Jee-Yong Um 16ee5b7a5f ecore_ipc: fix typos in documentation group names
Summary: fix typos in documentation group names to grouping APIs correctly

Reviewers: cedric, jpeg, Hermet

Reviewed By: Hermet

Differential Revision: https://phab.enlightenment.org/D4333
2016-10-10 13:57:43 +09:00
Davide Andreoli e0c45058fe FDO icons: add missing system-file-manager icon
Fix T4638

(cherry picked from commit 3fe1429eee)
2016-10-09 21:42:53 +02:00
Andy Williams b388b4214c elm_code: Don't allow cursor to be placed mid-tab 2016-10-08 14:44:02 +01:00
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
Daniel Kolesa 9553fd9640 eolian gen2: move to eolian gen (as the old one is gone) 2016-10-07 13:34:47 +02:00
Daniel Kolesa 4cc17ae28a eolian gen2: remove old eolian gen 2016-10-07 13:26:08 +02:00
Daniel Kolesa 82291e9cf5 eolian gen2: fix tests to match the new generator 2016-10-07 13:13:27 +02:00
Daniel Kolesa b15d0583e7 eolian gen2: fix minor issues with c file generation 2016-10-07 12:58:22 +02:00
Daniel Kolesa 7ef0b84f03 eolian gen2: fix stub header include guard 2016-10-07 12:31:01 +02:00
Daniel Kolesa 3ebdf0a4e9 eolian gen2: fix logging typo 2016-10-07 11:54:23 +02:00
Daniel Kolesa 20b91a46c0 eolian gen2: add newline between property get/set protos 2016-10-07 11:54:23 +02:00
Daniel Kolesa b789d6e1ec eolian gen2: complete impl generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2d28fce231 eolian gen2: complete impl gen besides params 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1ad1eb300b eolian gen2: fix file read to actually trigger impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 08e2703917 eolian gen2: fully implement the main func for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9cc0ca20f4 eolian gen2: some initial impl generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa bc9422cf0f eolian gen2: remove the unused append mode for file write 2016-10-07 11:54:23 +02:00
Daniel Kolesa cf89ff3f45 eolian gen2: initial skeleton for impl gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa bedba4f423 eolian gen2: fix generation of legacy class method wrappers 2016-10-07 11:54:23 +02:00
Daniel Kolesa a307f470a1 eolian gen2: fix implement name generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa fecb2dc36d eolian gen2: properly return from class initializer 2016-10-07 11:54:23 +02:00
Daniel Kolesa cd58a681cf eolian gen2: proper generation of inherits in class def 2016-10-07 11:54:23 +02:00
Daniel Kolesa e0e2006a19 eolian gen2: properly generate class type for desc too 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1fa36d558f eolian gen2: sanitize data type properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa f660f371a2 eolian gen2: fix typos in generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 501a575237 eolian gen2: generate only .h by default for eot files 2016-10-07 11:54:23 +02:00
Daniel Kolesa 323949a699 eolian gen2: fix double and missing free 2016-10-07 11:54:23 +02:00
Daniel Kolesa 74934d8d01 eolian gen2: switch EFL to new generator (doesn't work yet) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 809e2ed4de eolian gen2: abort on OOM (not much we can do anyway) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 0306810d52 eolian gen2: generate legacy API implementation stubs 2016-10-07 11:54:23 +02:00
Daniel Kolesa 911a0847be eolian gen2: fully generate source 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8a39a96bc5 eolian gen2: terminate EFL_OPS_DEFINE list 2016-10-07 11:54:23 +02:00
Daniel Kolesa 5272935573 eolian gen2: generation of class initializer func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 759f470c29 eolian gen2: fix generation type specification 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6d8854f461 eolian gen2: properly space headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 130335bd9a eolian gen2: generate prototypes/impls for all implements 2016-10-07 11:54:23 +02:00
Daniel Kolesa 366bce609f eolian gen2: don't generate class names in eo_gen_source_gen 2016-10-07 11:54:23 +02:00
Daniel Kolesa 6c4d705d55 eolian gen2: initial partial source generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 56cd773836 eolian gen2: add event generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 34c2bf66ce eolian gen2: initial stubs for source writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa f8ede73bf9 eolian gen2: generate docs for funcs/events 2016-10-07 11:54:23 +02:00
Daniel Kolesa dcda40215c eolian gen2: generate docs for types 2016-10-07 11:54:23 +02:00
Daniel Kolesa b105feebb3 eolian gen2: add code to handle doxygen generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa 2e06751703 eolian gen2: only generate eo c/h by default 2016-10-07 11:54:23 +02:00
Daniel Kolesa ec1bb92a8f eolian gen2: feature complete header generator (eo and legacy) 2016-10-07 11:54:23 +02:00
Daniel Kolesa 45b867ae05 eolian gen2: generate fully functional eo headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa 12c3bdee3e eolian gen2: initial header generation 2016-10-07 11:54:23 +02:00
Daniel Kolesa af7cc32343 eolian gen2: full type generator 2016-10-07 11:54:23 +02:00
Daniel Kolesa d20acef831 eolian gen2: generate stub headers 2016-10-07 11:54:23 +02:00
Daniel Kolesa e92ce1bd72 eolian gen2: use length_get when enclosing include guards 2016-10-07 11:54:23 +02:00
Daniel Kolesa b70299fd35 eolian gen2: initial type gen subroutine 2016-10-07 11:54:23 +02:00
Daniel Kolesa 341ef8fc05 eolian gen2: initial type generation bits 2016-10-07 11:54:23 +02:00
Daniel Kolesa 17885ed375 eolian gen2: add file read 2016-10-07 11:54:23 +02:00
Daniel Kolesa 1d7e3d0b71 eolian gen2: include guard func 2016-10-07 11:54:23 +02:00
Daniel Kolesa 9edee0a8e6 eolian gen2: parse input file properly 2016-10-07 11:54:23 +02:00
Daniel Kolesa a9b83ea28b eolian gen2: add stubs for file writing 2016-10-07 11:54:23 +02:00
Daniel Kolesa e058fdd571 eolian gen2: add logging and main.h 2016-10-07 11:54:23 +02:00
Daniel Kolesa 877ec43a04 eolian gen2: prepare gen/arguments/file infra 2016-10-07 11:54:23 +02:00
Daniel Kolesa 8d88edfbb0 eolian gen: initial infra for new C generator 2016-10-07 11:54:23 +02: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 7db67aaea8 eo: Test deadlock after finalize (shared objects)
This is a test case for 258cfbbe80
Unfortunately there are many other functions that we should
be testing, not just efl_finalized_get().
2016-10-06 16:12:01 +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
Carsten Haitzler 690319b2f3 ecore-evas - x fix intial iconified state so terminology -I works
this fixes intitial iconic state for x11 as demonstrated by

terminology -I

but enlightenment is broken though... xterm -iconic also shows the
same break with a black window.

@fix
2016-10-06 11:00:52 +09:00
Carsten Haitzler 2d0be47290 ecore_evas x - dont set withdrawn to fals on show but wait for wm state
so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699

@fix
2016-10-06 11:00:52 +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
Carsten Haitzler 9a2e14faad Revert "ecore_evas x - dont set withdrawn to fals on show but wait for wm state"
This reverts commit 2c736adc87.

well that was totally unexpected. - efl app windows dont show at all..
wtf? this should not have affected that at all..
2016-10-06 08:53:19 +09:00
Carsten Haitzler 2c736adc87 ecore_evas x - dont set withdrawn to fals on show but wait for wm state
so we handled override cases and set withdrawn to false on show, but
when normally managed it might be nicer to wait for a state change via
the wm state property to know we are "normal"

this should fix T4699
2016-10-06 08:40:27 +09:00
Jean Guyomarc'h 6687e8b0c0 epp: fix memory corruption when using #warning and #error
The epp instructions #warning and #error would led to a segmentation
fault (invalid free) because the malloced buffer's base pointer was
moved.

@fix
2016-10-05 21:16:06 +02: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
Chris Michael 7b049ab7ac evas-software-x11: Remove unused variable and mark unused parameters
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-10-04 09:41:53 -04: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 a1373a860d tests: oops, remove invalid trailing slash 2016-10-01 21:26:16 +02:00
Jean Guyomarc'h eb7a11b515 tests: add missing symbols
make check failed on OSX (clang) because of missing symbols.
2016-10-01 21:19:24 +02:00
Jean Guyomarc'h 06a3629bec 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
2016-10-01 21:19:15 +02:00
Jean Guyomarc'h 00b0501424 tests: mimic POSIX API in clock_gettime()
Let the clock_gettime() re-implementation have the same signature than
its POSIX definition.
2016-10-01 21:17:05 +02: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
Bruno Dilly 245d69b480 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
2016-09-28 14:42:58 -03:00
Bruno Dilly 8cb4a943ba examples/ecore: add example suffix to ecore_evas_vnc
Make its name similar to all the other example
files on this folder.
2016-09-28 14:42:58 -03:00
Bruno Dilly e2afcc0ab4 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
2016-09-28 14:42:58 -03:00
Youngbok Shin ceb63bb202 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
2016-09-28 16:02:12 +09: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