Chris Michael [Wed, 26 Oct 2016 15:56:04 +0000 (11:56 -0400)]
evas-wayland-shm: Get page flips out of the render thread
Now that we have redraws_clear exposed through software generic, we can
use that to do the final buffer swap from the main thread instead of doing
it in outbuf_flush which runs from the render thread.
This becomes more important later when other call sites in the main thread
will perform buffer flips.
Based on
95a00b8e496839c4976259692fb7c308f7a850dc by Derek Foreman
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 15:53:49 +0000 (11:53 -0400)]
evas-wayland-shm: Improve next buffer selection algorithm
When triple buffering it's possible that we'll only need two buffers at
a time for long durations. When we finally call upon a third buffer it
hasn't been used recently enough to do a partial redraw.
By picking the oldest available buffer when multiple buffers are free we
can increase the likelihood of doing partial redraws.
Based on
79409757c6493738c21015708a1ba5178942ad94 by Derek Foreman.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 15:33:07 +0000 (11:33 -0400)]
evas-wayland-shm: Default to triple buffering
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 15:19:28 +0000 (11:19 -0400)]
evas-wayland-shm: Fix max buffer age
Highest possible buffer age should actually be 4, not the number of
available buffers.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 15:19:06 +0000 (11:19 -0400)]
evas-wayland-shm: Fix formatting
NB: No functional changes, just formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 15:00:33 +0000 (11:00 -0400)]
ecore-wl2: Remove erroneous cursor structure from Ecore_Wl2_Pointer
These fields in Ecore_Wl2_Pointer were never used, so remove them.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 14:54:58 +0000 (10:54 -0400)]
ecore-wl2: Ensure we remove the proper pointer frame callback
During the pointer frame callback, if we had a 'callback' but did not
have an input->cursor.frame_cb then we would have ended up deleting
the callback here anyway. Let's add a comparison of the callback to
the pointer frame callback to ensure we are removing the proper
callback.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 14:53:56 +0000 (10:53 -0400)]
ecore-wl2: Remove usage of pointer update timer
As we are no longer using X pointer images, we no longer have the need
for an Ecore_Timer to update any animated X images so remove.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Wed, 26 Oct 2016 14:48:05 +0000 (10:48 -0400)]
ecore-wl2: Remove cursor field from window structure
Remove the const char *cursor field from the window structure as this
is useless. It was never used for any real functional purpose.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Gustavo Sverzut Barbieri [Wed, 26 Oct 2016 14:46:09 +0000 (12:46 -0200)]
efl_io_copier_example: allow udp as input/source.
now that we have a 'bind', let's use the given address as bind and
dial to `0.0.0.0` or `::`. This allows the dialer to receive data at
the given address and make the example useful.
Gustavo Sverzut Barbieri [Wed, 26 Oct 2016 14:24:17 +0000 (12:24 -0200)]
efl_net_dialer_udp_example: add missing print of groups.
Jean Guyomarc'h [Wed, 26 Oct 2016 13:53:25 +0000 (15:53 +0200)]
edje: remove extraneous new line in debug log
There was an extraneous '\n' at the end of the debug log invocation.
Since a new line is already appended by eina_log, this was redundant and
made the console output ugly. It is prettier now.
Chris Michael [Wed, 26 Oct 2016 13:33:24 +0000 (09:33 -0400)]
elementary: Delete mouse pointer when window is closed
If we are running Wayland clients which create their own mouse
pointers, then we need to remove the mouse pointer ecore_evas when the
window is deleted else we get crashes because the mouse pointer is
still trying to render. This fixes the issue of internal Enlightenment
windows causing crashes when closed.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Jean-Philippe Andre [Wed, 26 Oct 2016 10:01:52 +0000 (19:01 +0900)]
elm: Fix compilation of other apps (elm_access.eo.h)
Thanks to ApBBB on #e for the report!
Jean-Philippe Andre [Wed, 26 Oct 2016 05:01:43 +0000 (14:01 +0900)]
elm_test: Add minor hack to run test when Enter is pressed
If there's only one filtered out button in the list after
searching by name, Enter should activate the entry and run the
test case.
Jean-Philippe Andre [Tue, 18 Oct 2016 10:34:25 +0000 (19:34 +0900)]
examples: Remove now broken cxx elm examples
Bubble, thumb and separator cxx examples rely on APIs we don't
want to expose in EO, so not available in C++ either. Those
are legacy only.
Jean-Philippe Andre [Tue, 18 Oct 2016 10:34:12 +0000 (19:34 +0900)]
elm: Remove some eo files from installation
These are some of the EO files that shouldn't be part of the public
EO API:
- elm_access (old)
- actionslider
- bubble
- diskselector
- flipselector (a fancy spinner)
- hoversel (use combobox instead)
- icon (use image instead)
- inwin
- naviframe (unreplaced for now)
- photo (use image)
- prefs
- segment control
- separator
- slideshow
- thumb (use image)
Note: This breaks the use of the elm_widget_xxx.h headers. Those
were internal headers anyway. Exposed because of a lack of
a proper inheritance API.
Jean-Philippe Andre [Mon, 17 Oct 2016 02:34:05 +0000 (11:34 +0900)]
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
Cedric Bail [Wed, 26 Oct 2016 01:51:12 +0000 (18:51 -0700)]
eo: do not track NULL future.
Cedric Bail [Wed, 26 Oct 2016 01:50:35 +0000 (18:50 -0700)]
ecore: allow multiple nested recursion of the same promise/future to happen at the same time.
Cedric Bail [Tue, 25 Oct 2016 23:54:29 +0000 (16:54 -0700)]
eio: fetch mime type asynchronously.
Cedric Bail [Tue, 25 Oct 2016 22:21:51 +0000 (15:21 -0700)]
ecore: properly handle promise failure when each member has not been fulfilled yet.
Cedric Bail [Tue, 25 Oct 2016 22:03:26 +0000 (15:03 -0700)]
elementary: fixup warning in new colorselector code.
Cedric Bail [Tue, 25 Oct 2016 22:02:46 +0000 (15:02 -0700)]
elementary: fix build without wayland.
Minkyu Kang [Tue, 25 Oct 2016 21:12:42 +0000 (14:12 -0700)]
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>
Shuhrat Dehkanov [Tue, 25 Oct 2016 20:33:36 +0000 (13:33 -0700)]
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>
Taehyub Kim [Tue, 25 Oct 2016 20:32:50 +0000 (13:32 -0700)]
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>
Subhransu Mohanty [Tue, 25 Oct 2016 20:31:45 +0000 (13:31 -0700)]
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>
Gustavo Sverzut Barbieri [Tue, 25 Oct 2016 21:32:07 +0000 (19:32 -0200)]
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!
Derek Foreman [Tue, 25 Oct 2016 19:07:09 +0000 (14:07 -0500)]
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.
Chris Michael [Tue, 25 Oct 2016 18:19:57 +0000 (14:19 -0400)]
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>
Chris Michael [Tue, 25 Oct 2016 18:18:58 +0000 (14:18 -0400)]
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>
Chris Michael [Tue, 25 Oct 2016 17:10:21 +0000 (13:10 -0400)]
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>
Chris Michael [Tue, 25 Oct 2016 15:08:16 +0000 (11:08 -0400)]
efl: Remove dependency on wayland-cursor library
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Felipe Magno de Almeida [Tue, 25 Oct 2016 17:42:49 +0000 (15:42 -0200)]
js: Fix calling setAlignedInternalPointerField without a aligned value
Felipe Magno de Almeida [Tue, 25 Oct 2016 17:42:04 +0000 (15:42 -0200)]
js: Fix Makefile location and linking of efl.node and tests
Daniel Kolesa [Tue, 25 Oct 2016 16:02:23 +0000 (18:02 +0200)]
eolian: remove type silencing stuff entirely
this was useful during transition, but not anymore
Mike Blumenkrantz [Tue, 25 Oct 2016 15:37:57 +0000 (11:37 -0400)]
theme: slightly expand e/gadget/clock/digital/advanced sizer width
Vitalii Vorobiov [Tue, 25 Oct 2016 15:22:50 +0000 (18:22 +0300)]
Edje_Edit: use correct description array accessing
its a loop with j, but not with i
kinda a little typo
@fix
Chris Michael [Tue, 25 Oct 2016 14:50:43 +0000 (10:50 -0400)]
Revert "elementary: Provide EFL mouse pointers for Wayland Client applications"
This reverts commit
0a46096337dcbde7b18e093518e3b0846a425053.
Reverting these changes as we need to handle mouse pointer differently.
Chris Michael [Tue, 25 Oct 2016 14:47:15 +0000 (10:47 -0400)]
Revert "ecore-wl2: Remove all references to wl_cursor usage"
This reverts commit
173fda5c11fc083a0b274e404f0005a52b4bf128.
Reverting this as we need to handle mouse pointers a different way.
Chris Michael [Tue, 25 Oct 2016 14:46:42 +0000 (10:46 -0400)]
Revert "elementary: Don't try to set pointer edj if there is no pointer"
This reverts commit
3686a8aa8982517acd3a761e06969cc259b00f18.
Reverting this as we need to handle mouse pointers a different way.
Chris Michael [Tue, 25 Oct 2016 14:46:15 +0000 (10:46 -0400)]
Revert "elementary: Don't always show pointer object"
This reverts commit
f56dc8d0c36d45d318f430fb04eae8b2dccd9f14.
Reverting these as we need to handle mouse pointers a different way.
Felipe Magno de Almeida [Tue, 25 Oct 2016 14:21:34 +0000 (12:21 -0200)]
js: Fix compilation of new data types in JS binding
Felipe Magno de Almeida [Tue, 25 Oct 2016 14:21:12 +0000 (12:21 -0200)]
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.
Lauro Moura [Fri, 26 Aug 2016 20:18:50 +0000 (17:18 -0300)]
efl_js: Export Canvas Object and Group
Lauro Moura [Fri, 26 Aug 2016 20:18:13 +0000 (17:18 -0300)]
ecore_js: Add missing HandleScope to addTimeline
Lauro Moura [Fri, 12 Aug 2016 22:53:07 +0000 (19:53 -0300)]
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.
Lauro Moura [Thu, 4 Aug 2016 19:28:30 +0000 (16:28 -0300)]
efl_js: Enable Ethumb support for Elm.
Lauro Moura [Mon, 15 Aug 2016 15:31:05 +0000 (12:31 -0300)]
efl_js: Update after eo/efl api changes
Lauro Moura [Tue, 26 Jul 2016 21:21:02 +0000 (18:21 -0300)]
efl_js: Update JS examples
Changing imports, functions, etc.
Also export "cast" function for all eolian_js generated classes.
Lauro Moura [Mon, 11 Jul 2016 19:38:40 +0000 (16:38 -0300)]
eo_js: Instead of abort, throw an Exception
* When the constructor fails
* On cast error.
Felipe Magno de Almeida [Wed, 6 Jul 2016 17:08:27 +0000 (14:08 -0300)]
eolian-js: Fix dependency on Ecore.eo.hh
Felipe Magno de Almeida [Wed, 6 Jul 2016 17:08:12 +0000 (14:08 -0300)]
eolian-cxx: Normalize variabla name for generated C++ files in automake
Lauro Moura [Tue, 5 Jul 2016 22:14:49 +0000 (19:14 -0300)]
eolian_js efl_js: Fix tests.
* Probably the idle refactor changed the order the callbacks are called.
* Removed trailing * from class types
Lauro Moura [Tue, 5 Jul 2016 22:10:03 +0000 (19:10 -0300)]
eina_js: Fix log color persistence.
The c_ptr() passed to eina_log_register was being lost when saving the string
into the map.
Lauro Moura [Tue, 5 Jul 2016 22:04:01 +0000 (19:04 -0300)]
efl_js: Update registration functions
After the Elm -> Efl.Ui and other changes.
Also add extern C guards around private header (elm_widget).
Lauro Moura [Wed, 29 Jun 2016 18:06:01 +0000 (15:06 -0300)]
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.
Lauro Moura [Wed, 29 Jun 2016 20:23:31 +0000 (17:23 -0300)]
eo_js: Update event callback after return removal.
Stefan Schmidt [Tue, 25 Oct 2016 13:26:05 +0000 (15:26 +0200)]
docs: gfx interfaces: fix some typos in docs
Stefan Schmidt [Tue, 25 Oct 2016 13:23:50 +0000 (15:23 +0200)]
docs: interfaces: document missing structs in gfx interfaces
Stefan Schmidt [Tue, 25 Oct 2016 13:09:59 +0000 (15:09 +0200)]
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.
Stefan Schmidt [Tue, 25 Oct 2016 13:08:33 +0000 (15:08 +0200)]
docs: efl interfaces: document enums accross interfaces eo files
Stefan Schmidt [Tue, 25 Oct 2016 11:03:46 +0000 (13:03 +0200)]
docs: ecore_con: document missing HTTP enums
Stefan Schmidt [Mon, 24 Oct 2016 18:51:04 +0000 (20:51 +0200)]
docs: elm_icon: fully document elm_icon eo file
Stefan Schmidt [Mon, 24 Oct 2016 18:33:26 +0000 (20:33 +0200)]
docs: tree wide enum sentinel value documentation
Stefan Schmidt [Mon, 24 Oct 2016 17:57:13 +0000 (19:57 +0200)]
docs: harmonise use of enum sentinel description in eo files
Stefan Schmidt [Mon, 24 Oct 2016 17:52:00 +0000 (19:52 +0200)]
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.
Daniel Kolesa [Tue, 25 Oct 2016 14:01:54 +0000 (16:01 +0200)]
eolian gen: add -s for silencing type errors in validation
Daniel Kolesa [Tue, 25 Oct 2016 13:59:41 +0000 (15:59 +0200)]
eolian gen: always validate database
Daniel Kolesa [Tue, 25 Oct 2016 13:54:46 +0000 (15:54 +0200)]
ecore con: fix invalid doc reference
Fixes T4761 (also spank @barbieri)
Gustavo Sverzut Barbieri [Tue, 25 Oct 2016 12:03:34 +0000 (10:03 -0200)]
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.
Gustavo Sverzut Barbieri [Mon, 24 Oct 2016 21:47:15 +0000 (19:47 -0200)]
efl_net_server_udp_client: add missing part of name.
Carsten Haitzler (Rasterman) [Tue, 25 Oct 2016 09:34:25 +0000 (18:34 +0900)]
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.
Marcel Hollerbach [Mon, 24 Oct 2016 19:13:39 +0000 (21:13 +0200)]
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
Chris Michael [Mon, 24 Oct 2016 17:05:44 +0000 (13:05 -0400)]
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>
Chris Michael [Mon, 24 Oct 2016 13:47:47 +0000 (09:47 -0400)]
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>
Chris Michael [Mon, 24 Oct 2016 13:33:53 +0000 (09:33 -0400)]
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>
Stefan Schmidt [Mon, 24 Oct 2016 15:41:52 +0000 (17:41 +0200)]
docs: fileselector: improve docs for enum, events and keyword usage
Stefan Schmidt [Mon, 24 Oct 2016 15:21:48 +0000 (17:21 +0200)]
docs: ecore: make consistent use of $true and $false keywords in docs
Stefan Schmidt [Mon, 24 Oct 2016 15:15:31 +0000 (17:15 +0200)]
docs: edje: consistent use of $true and $false keywords
Stefan Schmidt [Mon, 24 Oct 2016 15:02:23 +0000 (17:02 +0200)]
docs: emotion: add missing docs for efl canvas video events
Also make use of $true keyword while being there.
Stefan Schmidt [Mon, 24 Oct 2016 14:52:48 +0000 (16:52 +0200)]
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.
Stefan Schmidt [Mon, 24 Oct 2016 11:28:52 +0000 (13:28 +0200)]
docs: atspi: add docs for events in accessible
Stefan Schmidt [Mon, 24 Oct 2016 11:18:26 +0000 (13:18 +0200)]
docs: atspi: add docs for atspi accessible enums
Gustavo Sverzut Barbieri [Sun, 23 Oct 2016 00:41:01 +0000 (22:41 -0200)]
efl_net_server_fd: fix inverted comparison for valid socket handle.
Gustavo Sverzut Barbieri [Sun, 23 Oct 2016 00:26:02 +0000 (22:26 -0200)]
efl_net_server_fd: close socket on destructor.
Gustavo Sverzut Barbieri [Sun, 23 Oct 2016 00:14:45 +0000 (22:14 -0200)]
efl_net_*: fix some more Win32-unfriendly code.
Gustavo Sverzut Barbieri [Sun, 23 Oct 2016 00:13:40 +0000 (22:13 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 23:49:01 +0000 (21:49 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 23:19:56 +0000 (21:19 -0200)]
AI_V4MAPPED may not be defined in some platforms.
define to 0 in such cases, so the flag won't be affected.
Fixes T4754
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 23:17:48 +0000 (21:17 -0200)]
efl_net_server_fd: one more WIN32 friendly comparison.
with the fallback define, it's valid on POSIX and Windows.
Marcel Hollerbach [Sat, 22 Oct 2016 18:22:18 +0000 (20:22 +0200)]
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.
Marcel Hollerbach [Sat, 22 Oct 2016 17:26:47 +0000 (19:26 +0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 15:15:16 +0000 (13:15 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 14:01:17 +0000 (12:01 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 13:55:45 +0000 (11:55 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 13:46:19 +0000 (11:46 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 12:52:22 +0000 (10:52 -0200)]
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.
Gustavo Sverzut Barbieri [Sat, 22 Oct 2016 11:41:26 +0000 (09:41 -0200)]
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.