Commit Graph

50492 Commits

Author SHA1 Message Date
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
Davide Andreoli 71efc8ee9d Better icon names in elm external tests 2016-10-22 11:10:58 +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 2b493bf4ab elementary: Add EFL pointers to elementary pointer edc
This adds more pointers to elm/pointer so that we can use these to
provide "EFL mouse pointers" inside Wayland Client applications.

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