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.
Dave Andreoli [Sat, 22 Oct 2016 09:10:58 +0000 (11:10 +0200)]
Better icon names in elm external tests
WooHyun Jung [Sat, 22 Oct 2016 03:03:54 +0000 (12:03 +0900)]
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
Stefan Schmidt [Fri, 21 Oct 2016 22:19:26 +0000 (00:19 +0200)]
docs: atspi: add more docs to atspi text interface
Stefan Schmidt [Fri, 21 Oct 2016 21:08:30 +0000 (23:08 +0200)]
docs: atspi: document atspi appl object class
Stefan Schmidt [Fri, 21 Oct 2016 21:05:52 +0000 (23:05 +0200)]
docs: atspi: document atspi bridge class
Cedric Bail [Fri, 21 Oct 2016 19:44:15 +0000 (12:44 -0700)]
ecore: force fully resolve a future on cancel during recursive call.
Chris Michael [Fri, 21 Oct 2016 19:28:13 +0000 (15:28 -0400)]
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>
Chris Michael [Fri, 21 Oct 2016 19:27:05 +0000 (15:27 -0400)]
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>
Chris Michael [Fri, 21 Oct 2016 19:23:22 +0000 (15:23 -0400)]
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>
Chris Michael [Fri, 21 Oct 2016 19:17:43 +0000 (15:17 -0400)]
evas: Fix issue of wayland clients not drawing border icons
Due to commit
7ce79be1a1748c32c4d0e58358ce2242902cf89b, 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>
Stefan Schmidt [Fri, 21 Oct 2016 16:32:48 +0000 (18:32 +0200)]
docs: atspi: document text editable atspi interface
Stefan Schmidt [Fri, 21 Oct 2016 16:15:11 +0000 (18:15 +0200)]
docs: atspi: fix some typos in text docs
Stefan Schmidt [Fri, 21 Oct 2016 16:13:58 +0000 (18:13 +0200)]
docs: atspi: add missing docs for enums and structs in atspi text interface
Stefan Schmidt [Fri, 21 Oct 2016 15:45:32 +0000 (17:45 +0200)]
docs: atspi: add missing docs to atspi value interface
Stefan Schmidt [Fri, 21 Oct 2016 15:32:00 +0000 (17:32 +0200)]
docs: atspi: add missing docs for atspi selection interface
Stefan Schmidt [Fri, 21 Oct 2016 15:31:32 +0000 (17:31 +0200)]
docs: atspi: add missing docs for atspi image interface
Stefan Schmidt [Fri, 21 Oct 2016 14:41:31 +0000 (16:41 +0200)]
docs: atspi: add missing method docs for atspi component interface
Stefan Schmidt [Fri, 21 Oct 2016 14:15:12 +0000 (16:15 +0200)]
docs: atspi: add missing method docs for atspi accessible interface
Stefan Schmidt [Fri, 21 Oct 2016 14:14:27 +0000 (16:14 +0200)]
docs: atspi: document structs for atspi accessible interface
Stefan Schmidt [Fri, 21 Oct 2016 14:12:57 +0000 (16:12 +0200)]
docs: atspi: add missing docs for atspi action interface
Gustavo Sverzut Barbieri [Fri, 21 Oct 2016 15:24:02 +0000 (13:24 -0200)]
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)
Gustavo Sverzut Barbieri [Fri, 21 Oct 2016 11:53:17 +0000 (09:53 -0200)]
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 :-)
Gustavo Sverzut Barbieri [Fri, 21 Oct 2016 11:24:50 +0000 (09:24 -0200)]
efl_net_server_fd: allows custom socket 'read' event handling.
This allows UDP to reimplement it using recvfrom() instead of
accept().
Tom Hacohen [Fri, 21 Oct 2016 14:25:52 +0000 (15:25 +0100)]
Eo: Add test for refcount in efl_add_ref
This commits adds a regression test to the previous commit.
Tom Hacohen [Fri, 21 Oct 2016 14:02:27 +0000 (15:02 +0100)]
Eo: Fix references of objects
Tom Hacohen [Fri, 21 Oct 2016 14:18:46 +0000 (15:18 +0100)]
Eo test: Fix cleanup of objects.
Daniel Kolesa [Fri, 21 Oct 2016 14:00:45 +0000 (16:00 +0200)]
docs: support for documenting variables
Mykyta Biliavskyi [Fri, 21 Oct 2016 12:46:49 +0000 (15:46 +0300)]
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.
Shuhrat Dehkanov [Fri, 21 Oct 2016 12:57:15 +0000 (08:57 -0400)]
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
Markus Svilans [Fri, 21 Oct 2016 05:12:58 +0000 (14:12 +0900)]
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
Guilherme Iscaro [Fri, 21 Oct 2016 04:56:00 +0000 (13:56 +0900)]
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
bc6e8d269208 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
Gustavo Sverzut Barbieri [Fri, 21 Oct 2016 02:15:09 +0000 (00:15 -0200)]
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.
Gustavo Sverzut Barbieri [Fri, 21 Oct 2016 02:11:43 +0000 (00:11 -0200)]
efl_net_server_example: improve error messages (show text).
Gustavo Sverzut Barbieri [Thu, 20 Oct 2016 22:43:02 +0000 (20:43 -0200)]
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.
Carsten Haitzler (Rasterman) [Fri, 21 Oct 2016 00:39:00 +0000 (09:39 +0900)]
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
Carsten Haitzler (Rasterman) [Thu, 20 Oct 2016 13:24:40 +0000 (22:24 +0900)]
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
Gustavo Sverzut Barbieri [Thu, 20 Oct 2016 20:45:12 +0000 (18:45 -0200)]
efl_io_copier: always cancel job on destructor.
It's already deleted on close(), but that's now optional
(close_on_destructor).
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 23:24:16 +0000 (21:24 -0200)]
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.