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.
Derek Foreman [Thu, 20 Oct 2016 19:13:49 +0000 (14:13 -0500)]
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.
Stefan Schmidt [Thu, 20 Oct 2016 15:29:36 +0000 (17:29 +0200)]
docs: eina_types: add descriptions for some structs for these eina beta api's
Stefan Schmidt [Thu, 20 Oct 2016 14:21:07 +0000 (16:21 +0200)]
docs: edje: add some missing descriptions in edje enums
Stefan Schmidt [Thu, 20 Oct 2016 13:49:14 +0000 (15:49 +0200)]
docs: eldbus: document all eldbus structs and its members
Stefan Schmidt [Thu, 20 Oct 2016 11:23:07 +0000 (13:23 +0200)]
docs: ecore_con: add descriptions for the HTTP error codes
With this commit the documented globals reach 100%. Please keep it that way.
Stefan Schmidt [Thu, 20 Oct 2016 10:55:36 +0000 (12:55 +0200)]
docs: ecore_con: add docs for HTTP authentication method enum
Stefan Schmidt [Thu, 20 Oct 2016 10:47:53 +0000 (12:47 +0200)]
docs: ecore_con: be a bitmore verbose for the HTTP version description
Stefan Schmidt [Thu, 20 Oct 2016 10:45:48 +0000 (12:45 +0200)]
docs: ecore_con: add description for efl net dialer errors
Mykyta Biliavskyi [Thu, 20 Oct 2016 15:14:32 +0000 (18:14 +0300)]
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 ":/".
Daniel Kolesa [Thu, 20 Oct 2016 14:48:41 +0000 (16:48 +0200)]
eolian gen: use EWAPI for events instead of EOAPI
Apparently only methods/properties can be EOAPI.
Daniel Kolesa [Thu, 20 Oct 2016 14:44:20 +0000 (16:44 +0200)]
eolian gen: use EWAPI for all generated variables
Daniel Kolesa [Thu, 20 Oct 2016 14:03:29 +0000 (16:03 +0200)]
ecore con: generate vars instead of writing them manually
Daniel Kolesa [Thu, 20 Oct 2016 14:01:11 +0000 (16:01 +0200)]
eolian gen: automatically uppercase names for vars/constants
Daniel Kolesa [Thu, 20 Oct 2016 13:22:14 +0000 (15:22 +0200)]
eolian gen: update tests to cover var generation
Daniel Kolesa [Thu, 20 Oct 2016 13:11:17 +0000 (15:11 +0200)]
eolian gen: generate vars in source files for globals with value
Daniel Kolesa [Thu, 20 Oct 2016 12:39:50 +0000 (14:39 +0200)]
eolian gen: initial generation of variables in headers
Felipe Magno de Almeida [Thu, 20 Oct 2016 06:52:18 +0000 (04:52 -0200)]
eo-cxx: Fix compilation and warnings in clang
Jean-Philippe Andre [Tue, 18 Oct 2016 02:32:05 +0000 (11:32 +0900)]
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.
Jee-Yong Um [Wed, 19 Oct 2016 21:50:12 +0000 (23:50 +0200)]
eolian: fix build warning
Differential Revision: https://phab.enlightenment.org/D4356
Derek Foreman [Wed, 19 Oct 2016 21:04:02 +0000 (16:04 -0500)]
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.
Derek Foreman [Wed, 19 Oct 2016 20:58:59 +0000 (15:58 -0500)]
wayland_egl: Use surface damage instead of buffer damage
We should always pass surface damage to eglSwapBuffersWithDamage.
Derek Foreman [Wed, 19 Oct 2016 20:54:08 +0000 (15:54 -0500)]
gl_drm: Use surface damage instead of buffer damage
We should always pass surface damage to eglSwapBuffersWithDamage.
Derek Foreman [Wed, 19 Oct 2016 20:33:09 +0000 (15:33 -0500)]
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.
Derek Foreman [Wed, 19 Oct 2016 16:59:34 +0000 (11:59 -0500)]
Revert "wayland_shm: Add swap mode fallback when buffer age changes"
This reverts commit
62ca4486ea30fd63a5589ea7af373a5cb9982031.
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.
Cedric BAIL [Wed, 19 Oct 2016 20:40:49 +0000 (13:40 -0700)]
ecore: test recursive case on efl_future.
Cedric BAIL [Wed, 19 Oct 2016 20:39:10 +0000 (13:39 -0700)]
ecore: allow efl_future_cancel on a promise currently being resolved.
This is necessary for allowing proper handling of recursive cancel.
Tom Hacohen [Wed, 19 Oct 2016 15:20:19 +0000 (16:20 +0100)]
Eo: Add a regression test for ref leak in function resolve
This adds a regression test for the last commit.
Tom Hacohen [Wed, 19 Oct 2016 15:14:15 +0000 (16:14 +0100)]
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
Tom Hacohen [Wed, 19 Oct 2016 15:14:03 +0000 (16:14 +0100)]
Eo: Remove no longer relevant tests.
Daniel Kolesa [Wed, 19 Oct 2016 13:24:26 +0000 (15:24 +0200)]
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).
SangHyeon Lee [Wed, 5 Oct 2016 06:36:04 +0000 (15:36 +0900)]
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
Jean-Philippe Andre [Wed, 19 Oct 2016 05:05:31 +0000 (14:05 +0900)]
evas: Last fix... now it builds
Jean-Philippe Andre [Wed, 19 Oct 2016 04:39:02 +0000 (13:39 +0900)]
evas: More compilation fixup with EGLImage
This is what happens when you can't test a patch yourself ^^
Jean-Philippe Andre [Wed, 19 Oct 2016 04:32:55 +0000 (13:32 +0900)]
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.
Cedric BAIL [Tue, 18 Oct 2016 23:49:04 +0000 (16:49 -0700)]
ecore: handle recursive trigger of promise by the cancel of a future.
This avoid double free/double callback call.
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 22:00:52 +0000 (20:00 -0200)]
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.
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 20:51:59 +0000 (18:51 -0200)]
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.
Gustavo Sverzut Barbieri [Tue, 18 Oct 2016 18:32:04 +0000 (16:32 -0200)]
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.
Derek Foreman [Tue, 18 Oct 2016 20:52:56 +0000 (15:52 -0500)]
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.