platform/upstream/efl.git
7 years agoevas: Change int into a single bit
Jean-Philippe Andre [Fri, 16 Dec 2016 05:35:52 +0000 (14:35 +0900)]
evas: Change int into a single bit

clean_layer is a bool

7 years agoevas: Fix masks of masks
Jean-Philippe Andre [Fri, 16 Dec 2016 03:16:01 +0000 (12:16 +0900)]
evas: Fix masks of masks

Don't ask. This is a world of magic.

7 years agoevas: "fix" masks of masks inside a proxy
Jean-Philippe Andre [Fri, 16 Dec 2016 02:19:17 +0000 (11:19 +0900)]
evas: "fix" masks of masks inside a proxy

Here's the situation:

1. A container (genlist) has a mask, M0.
2. An item I0 inside this container uses a proxy P0 as render object
   rather than the item directly (eg. for zooming in/out).
3. An element E0 inside this item has another mask, M1.

Theory:
1. The proxy surface for P0 is rendered, and M1 is applied to
   the element E0.
2. The proxy P0 is rendered on the canvas, with M0 applied.

Practice:
1. The element E0 is prepared for rendering, this triggers
   a mask subrender for M1.
2. M1 is rendered with M0 as a prev mask, then kept in cache and
   not redrawn (no geometry change, etc...)
3. When P0's surface is rendered, M1's surface is the result of M1+M0.
4. When P0 is drawn on screen, we can see the effect of M1+M0 as
   P0's geometry might be different from the item's I0.

Solution:
Discard prev masks and force a mask redraw when we're inside a
proxy. Ideally we should detect if the prev mask belongs to the
insides of the proxy or not.

Problems:
_mask_apply_inside_proxy() is definitely not correct, but it's
not easy to test it. Anyway I believe that in order to properly
implement all of this, we need to rethink evas_render and
the draw context. Non-primary render surfaces (maps, proxies,
masks, filters, ...) should be rendered with a clean context
and clipping, masking, etc should be computed appropriately.

7 years agoevas: Remove flag use_mapped_ctx and add do_async
Jean-Philippe Andre [Fri, 16 Dec 2016 01:55:47 +0000 (10:55 +0900)]
evas: Remove flag use_mapped_ctx and add do_async

Always assume use_mapped_ctx as true, the caller of evas_render_mapped
must ensure that the context is suitable (so either clean or contains
the appropriate clip info).

Also pass do_async to mask_subrender. For now it will always be reset
to false as the SW engine requires sync render to convert from RGBA
to Alpha (not great). The upcoming GL async engine should be able to
render masks asynchronously without any problem.

7 years agoevas: Call object render in mask_subrender
Jean-Philippe Andre [Fri, 16 Dec 2016 01:53:03 +0000 (10:53 +0900)]
evas: Call object render in mask_subrender

This can avoid some invalid render from evas_render_mapped in
a rare case. I'm not sure about the conditions but I know for
sure that at the moment mask_subrender should be only rendering
plain old images into a dedicated surface. So no need for
evas_render_mapped here.

7 years agoevas: Remove context from the evas public data
Jean-Philippe Andre [Fri, 16 Dec 2016 01:44:47 +0000 (10:44 +0900)]
evas: Remove context from the evas public data

It was never used, except in dubious situations (most likely a typo).
A clean context is now used in the top-most call to
evas_render_updates_internal_loop.

7 years agoevas: Remove context from some engine function
Jean-Philippe Andre [Fri, 16 Dec 2016 01:40:55 +0000 (10:40 +0900)]
evas: Remove context from some engine function

This is for canvas_alpha_get. context is never used.

7 years agoevas: Remove context from polygon internal functions
Jean-Philippe Andre [Fri, 16 Dec 2016 01:37:54 +0000 (10:37 +0900)]
evas: Remove context from polygon internal functions

It's not used

7 years agoevas: Use ENFN, ENDT in evas_render
Jean-Philippe Andre [Thu, 15 Dec 2016 06:25:43 +0000 (15:25 +0900)]
evas: Use ENFN, ENDT in evas_render

This makes code shorter and easier to read (imo).
Also introduce ENCTX for the engine context. It's used in a couple
places and I believe it's just wrong - but works because the engine
context and the current context are the same.

7 years agoevas: Avoid calling efl_isa in proxy_subrender
Jean-Philippe Andre [Wed, 14 Dec 2016 07:28:42 +0000 (16:28 +0900)]
evas: Avoid calling efl_isa in proxy_subrender

It's not necessary.

7 years agoevas: Add source_region property to proxy objects
Jean-Philippe Andre [Tue, 13 Dec 2016 08:41:49 +0000 (17:41 +0900)]
evas: Add source_region property to proxy objects

This will allow partially rendering a proxy in a smaller image,
limited to the specified region. At the moment, this will allow
apps to create proxies of very large objects and let them deal
with the geometry & clipping.

This is not directly solving the issues with adding a filter
to textblock or the infinite page scrollers.

@feature

7 years agoemile: refactor color convertion/copy logic in jpeg data decoder.
Cedric BAIL [Fri, 16 Dec 2016 00:45:10 +0000 (16:45 -0800)]
emile: refactor color convertion/copy logic in jpeg data decoder.

7 years agoeet: add test for eet_alias_get.
Cedric BAIL [Thu, 15 Dec 2016 23:18:54 +0000 (15:18 -0800)]
eet: add test for eet_alias_get.

7 years agoeet: add test for eet_memopen_read.
Cedric BAIL [Thu, 15 Dec 2016 23:18:41 +0000 (15:18 -0800)]
eet: add test for eet_memopen_read.

7 years agoeina: add a test for eina_stringshare_refplace.
Cedric BAIL [Thu, 15 Dec 2016 23:00:58 +0000 (15:00 -0800)]
eina: add a test for eina_stringshare_refplace.

7 years agoeina: add test for skyline algorithm.
Cedric BAIL [Thu, 15 Dec 2016 22:40:06 +0000 (14:40 -0800)]
eina: add test for skyline algorithm.

7 years agoautotools: lcov-baseline is a dependency of lcov-report actually.
Cedric BAIL [Thu, 15 Dec 2016 22:30:57 +0000 (14:30 -0800)]
autotools: lcov-baseline is a dependency of lcov-report actually.

7 years agoeio: fix attr tests to process an array of string.
Cedric BAIL [Thu, 15 Dec 2016 22:30:33 +0000 (14:30 -0800)]
eio: fix attr tests to process an array of string.

7 years agoeina: pass the right size of the string to avoid unbounded access warning.
Cedric BAIL [Thu, 15 Dec 2016 19:39:16 +0000 (11:39 -0800)]
eina: pass the right size of the string to avoid unbounded access warning.

7 years agoevas: silence warning of clobbered variable in the png saver.
Cedric BAIL [Thu, 15 Dec 2016 19:31:31 +0000 (11:31 -0800)]
evas: silence warning of clobbered variable in the png saver.

7 years agoevas: fix use of signed and unsigned type in conditional expression warning.
Cedric BAIL [Thu, 15 Dec 2016 19:28:17 +0000 (11:28 -0800)]
evas: fix use of signed and unsigned type in conditional expression warning.

7 years agoevas: fix potential use of unitialized variable.
Cedric BAIL [Thu, 15 Dec 2016 19:27:54 +0000 (11:27 -0800)]
evas: fix potential use of unitialized variable.

7 years agoemile: reduce the amount of clobbered variable.
Cedric BAIL [Thu, 15 Dec 2016 19:17:34 +0000 (11:17 -0800)]
emile: reduce the amount of clobbered variable.

7 years agoeolian: silence clobbered variable warning.
Cedric BAIL [Thu, 15 Dec 2016 18:44:22 +0000 (10:44 -0800)]
eolian: silence clobbered variable warning.

7 years agoecore_con: reduce amount of warning related to clobbered variable.
Cedric BAIL [Thu, 15 Dec 2016 18:31:56 +0000 (10:31 -0800)]
ecore_con: reduce amount of warning related to clobbered variable.

7 years agoefl_debug: silent unused use of static variable.
Cedric BAIL [Thu, 15 Dec 2016 18:08:21 +0000 (10:08 -0800)]
efl_debug: silent unused use of static variable.

7 years agoevas: fix comparison between unsigned and signed warning.
Cedric BAIL [Thu, 15 Dec 2016 18:01:14 +0000 (10:01 -0800)]
evas: fix comparison between unsigned and signed warning.

7 years agoecore_con: fix incompatible type warning.
Cedric BAIL [Thu, 15 Dec 2016 17:59:41 +0000 (09:59 -0800)]
ecore_con: fix incompatible type warning.

7 years agoecore_con: fix misleading indentation warning.
Cedric BAIL [Thu, 15 Dec 2016 17:55:11 +0000 (09:55 -0800)]
ecore_con: fix misleading indentation warning.

7 years agoecore-x: fix Mode_switch key mapping
Hannes Janetzek [Thu, 15 Dec 2016 04:18:39 +0000 (05:18 +0100)]
ecore-x: fix Mode_switch key mapping

- remove redundant XKeysymToString when sym == sym2

@fix

7 years agoeolian: enable typechecked expression validation
Daniel Kolesa [Thu, 15 Dec 2016 12:31:35 +0000 (13:31 +0100)]
eolian: enable typechecked expression validation

This code was formerly disabled, but it's safe now.

7 years agoEo: remove unreachable code in isa.
Tom Hacohen [Thu, 15 Dec 2016 11:18:24 +0000 (11:18 +0000)]
Eo: remove unreachable code in isa.

This condition can never be true. It can't be NULL here. A NULL here
would have caused a crash earlier, though it can only be NULL if an
allocation fails, which is something that we don't really handle
for smallish allocations.

CID1366823

7 years agoeolian: handle pointer types in typechecking expr eval
Daniel Kolesa [Wed, 14 Dec 2016 17:14:10 +0000 (18:14 +0100)]
eolian: handle pointer types in typechecking expr eval

Also improve expr error messages and fix Eolian tests.

7 years agoecore con tests: fix missing include
Daniel Kolesa [Wed, 14 Dec 2016 16:40:43 +0000 (17:40 +0100)]
ecore con tests: fix missing include

7 years agoeolian gen: specialize default values by type
Daniel Kolesa [Wed, 14 Dec 2016 16:32:32 +0000 (17:32 +0100)]
eolian gen: specialize default values by type

Now we can generate NULL for stuff that is pointers and empty
struct literals for struct instead of just 0 for everything. The
previous behavior was incorrect for those cases and generated
broken code.

7 years agoeolian: handle pointers in aliased_base_get
Daniel Kolesa [Wed, 14 Dec 2016 16:31:24 +0000 (17:31 +0100)]
eolian: handle pointers in aliased_base_get

7 years agoeolian: unary expr eval for floats and add a signed number mask
Daniel Kolesa [Wed, 14 Dec 2016 16:28:50 +0000 (17:28 +0100)]
eolian: unary expr eval for floats and add a signed number mask

This adds a new mask for all signed numbers (sint + float) and
fixes unary expr evaluation for floats, as well as fixes eval
error messages.

7 years agoecore-wl2: restore previous session recovery behavior on hide
Mike Blumenkrantz [Wed, 14 Dec 2016 16:43:39 +0000 (11:43 -0500)]
ecore-wl2: restore previous session recovery behavior on hide

ref 9492ee21dfa642123043da5d5ef7954e886b0f9c

7 years agoelput: Properly check return values from libinput config functions
Chris Michael [Wed, 14 Dec 2016 14:14:50 +0000 (09:14 -0500)]
elput: Properly check return values from libinput config functions

As libinput_config_status may contain 3 possible return values, we
need to santize the return values there into Eina_Bool for use in our
own functions.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to get/set if tap-to-click is enabled
Chris Michael [Wed, 14 Dec 2016 14:11:50 +0000 (09:11 -0500)]
elput: Add API functions to get/set if tap-to-click is enabled

This patch adds API functions to get or set if tap-to-click is enabled
on a touchpad device

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to get/set touchpad click method
Chris Michael [Wed, 14 Dec 2016 14:04:52 +0000 (09:04 -0500)]
elput: Add API functions to get/set touchpad click method

This patch adds API functions to get or set the click method used on
touch devices. The click method defines when to generate software
emulated buttons

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to get/set the scroll method for a touchpad
Chris Michael [Wed, 14 Dec 2016 13:59:56 +0000 (08:59 -0500)]
elput: Add API functions to get/set the scroll method for a touchpad
device

This patch adds API functions which can be used to get or set the
scroll method used for a given device. Scroll method defines when to
generate scroll axis events

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to enable/disable dwt support on touchpads
Chris Michael [Wed, 14 Dec 2016 13:48:37 +0000 (08:48 -0500)]
elput: Add API functions to enable/disable dwt support on touchpads

This patch adds API functions to get/set if dwt (disable-while-typing) is
enabled on a touchpad.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to enable/disable drag-lock on touch devices
Chris Michael [Tue, 13 Dec 2016 18:22:29 +0000 (13:22 -0500)]
elput: Add API functions to enable/disable drag-lock on touch devices

This patch adds API functions to get or set if drag-lock is enabled on
touch devices.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelput: Add API functions to enable/disable tap-and-drag
Chris Michael [Tue, 13 Dec 2016 18:05:58 +0000 (13:05 -0500)]
elput: Add API functions to enable/disable tap-and-drag

This patch adds new API functions for Elput touch devices to get or set if
tap-and-drag is enabled on a touchpad device

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoFix generate ecore key events on windows.
Mykyta Biliavskyi [Wed, 14 Dec 2016 13:40:49 +0000 (15:40 +0200)]
Fix generate ecore key events on windows.

If Ctrl+number combination pressed/unpressed function
_ecore_win32_event_keystroke_get return NULL. It happens because
ToUnicode WinAPI func fails to prepare unicode string for given scancode
and the keyboard state.
This commit add exception for  the case with digits keys. In case if
there no translate
string, but the digit key processed - will be created a normal event as
usual.

7 years agoelementary: slider uses max value when atspi tries to set value.
Shinwoo Kim [Wed, 14 Dec 2016 11:18:50 +0000 (20:18 +0900)]
elementary: slider uses max value when atspi tries to set value.

Because double type value could be 1.00000000000000022204.

7 years agonaviframe: Raise previous view after item pop is finished.
Jaehyun Cho [Wed, 14 Dec 2016 10:53:49 +0000 (19:53 +0900)]
naviframe: Raise previous view after item pop is finished.

Previously, previous view was raised immediately when item pop is
started so previous view covers current view when item pop is started.
Now, previous view is raised after item pop is finished so previous view
covers current view when item pop is finished.

Change-Id: I86f343e0b49f3801d00e553755896f0eb756daa0

7 years agoedje_calc: remove redundant checking
Thiep Ha [Wed, 14 Dec 2016 08:59:40 +0000 (17:59 +0900)]
edje_calc: remove redundant checking

We check amin > ZERO && amax > ZERO, so no need to do it them again.

7 years agoEcore Evas VNC: Properly shutdown server during cleanup.
Guilherme Iscaro [Tue, 13 Dec 2016 16:50:31 +0000 (14:50 -0200)]
Ecore Evas VNC: Properly shutdown server during cleanup.

Summary:
The function rfbScreenCleanup() does not close the open sockets,
a call to rfbShutdownServer() must be done to properly close them.

Reviewers: cedric, bdilly

Reviewed By: bdilly

Subscribers: cedric, jpeg

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

7 years agoedje_pick: fix memory leak while on group dependency build
Vitalii Vorobiov [Tue, 13 Dec 2016 12:17:39 +0000 (14:17 +0200)]
edje_pick: fix memory leak while on group dependency build

@fix

7 years agoelc_naviframe: Delete naviframe items in LIFO manner on widget deletion.
Shilpa Singh [Tue, 13 Dec 2016 11:56:18 +0000 (20:56 +0900)]
elc_naviframe: Delete naviframe items in LIFO manner on widget deletion.

Summary:
Naviframe manages items in the form of a stack, but deletion is happening
in FIFO manner, the deletion of items on widget deletion should also happen
in LIFO manner.

Use Case: Application allocates memory on first push and passes down the same
handle for all subsequent pushes, now on deletion as first item is deleted first
crash happens when the memory is accessed in second item on its deletion.
hence Naviframe should also delete items in LIFO manner.

@feature

Test Plan:
elementary_test->naviframe->push multiple pages
Now terminate the app, the items should be deleted in LIFO
manner.

Reviewers: Hermet, Jaehyun, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, govi, rajeshps, jpeg

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

7 years agoelm_test: Add a test case for gfx filters
Jean-Philippe Andre [Mon, 12 Dec 2016 09:36:49 +0000 (18:36 +0900)]
elm_test: Add a test case for gfx filters

This adds a test window for the efl_gfx_filter (also known as
evas filters). The builtin examples are not incredibly pretty
but they showcase some of the most basic features. They also
show that some of the filters need to be improved.

Note that the code contains a lot of FIXME due to the incompleteness
of our EO API. Also, Efl.Ui.Text still has quite a few issues (sizing,
lack of a working change event, ...) so the UI doesn't even look as
designed (a label is missing). Hopefully this should get fixed over
time.

Oh and this is mostly using EO APIs but that's a terrible idea as
evas_object_text is not going to be exposed in EO land... except
it's the only object implementing filter support (with image).

7 years agospinner: Fix mouse wheel events
Jean-Philippe Andre [Tue, 13 Dec 2016 05:59:37 +0000 (14:59 +0900)]
spinner: Fix mouse wheel events

Fix invalid cast of event_info

7 years agoevas: Make evas object loop users
Jean-Philippe Andre [Tue, 13 Dec 2016 04:38:16 +0000 (13:38 +0900)]
evas: Make evas object loop users

This makes efl_loop_get() work on evas objects, returning the
main loop as expected. Also make the loop a property of the
Loop_User class (shouldn't it be called Efl.Loop.User instead?)

7 years agoevas: Fix stacked box align
Jean-Philippe Andre [Mon, 12 Dec 2016 09:17:30 +0000 (18:17 +0900)]
evas: Fix stacked box align

I added a way to respect the object's alignment when adding them
to a stacked box, but that alignment should only be used when the
box align is set to fill, otherwise both aligns would conflict.

See 3df7b717c932adac481aa0ec527d4d5893b07bb8

7 years agoFix compilation warning due to redeclared variable
Daniel Zaoui [Tue, 13 Dec 2016 05:45:50 +0000 (07:45 +0200)]
Fix compilation warning due to redeclared variable

7 years agoMerge branch 'devs/iscaro/memory'
Bruno Dilly [Tue, 13 Dec 2016 05:28:50 +0000 (03:28 -0200)]
Merge branch 'devs/iscaro/memory'

This series reduce the memory footprint caused by
_evas_object_pointer_data_get() previous implementation.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>

Reviewed By: bdilly, cedric, jpeg, raster

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

7 years agoEfl.Canvas.Object: Remove the extra parementer at _evas_object_pointer_data_get()
Guilherme Iscaro [Mon, 5 Dec 2016 16:48:58 +0000 (14:48 -0200)]
Efl.Canvas.Object: Remove the extra parementer at _evas_object_pointer_data_get()

The Evas_Pointer_Data struct already contains a Efl.Input.Device pointer.

7 years agoEfl.Canvas.Object: Reduce memory used to store Evas_Object_Pointer_Data.
Guilherme Iscaro [Mon, 5 Dec 2016 16:26:25 +0000 (14:26 -0200)]
Efl.Canvas.Object: Reduce memory used to store Evas_Object_Pointer_Data.

The hash implementation demonstrated that too much memory was being used
to store the Evas_Object_Pointer_Data. In order to reduce the memory usage
this patches now changes the Evas_Object_Pointer_Data storage to an Eina_Inlist and
now Massif profiles shows that the memory usage was drastically reduced.

7 years agoevas: fix memory leak in software generic in error case.
Awadhesh Singh [Tue, 13 Dec 2016 00:35:46 +0000 (16:35 -0800)]
evas: fix memory leak in software generic in error case.

Summary:
pixels_tmp  memory need to be free in default case too.

Signed-off-by: Awadhesh Singh <awadhesh1.s@samsung.com>
Reviewers: singh.amitesh, raster, cedric

Reviewed By: cedric

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agospinner: call changed callback on value set.
Umesh Tanwar [Tue, 13 Dec 2016 00:34:20 +0000 (16:34 -0800)]
spinner: call changed callback on value set.

Summary:
If user set spinner value other than it's
current value, this is change in value. So changed
callback must be called on value set.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: raster, singh.amitesh, cedric, jpeg

Subscribers: atulfokk, cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agoMerge branch 'devs/iscaro/event-filter'
Bruno Dilly [Mon, 12 Dec 2016 18:04:58 +0000 (16:04 -0200)]
Merge branch 'devs/iscaro/event-filter'

Series of patches adding support to filter input and focus
events per seat for any evas object.

So it will make it possible to block or unblock keyboard,
mouse and focus events that was originated by a specific seat.
Requested on RFC regarding multiseaet support on Edje -
such feature will be also supported on Edje later.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>

Reviewed By: bdilly, cedric, jpeg

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

7 years agoEvas: Add event filter example.
Guilherme Iscaro [Tue, 6 Dec 2016 18:38:47 +0000 (16:38 -0200)]
Evas: Add event filter example.

This example exercises the new seat event filter API.

7 years agoEvas: Objects must not be focused with the seat is not allowed to emit events.
Guilherme Iscaro [Tue, 6 Dec 2016 16:36:50 +0000 (14:36 -0200)]
Evas: Objects must not be focused with the seat is not allowed to emit events.

Seats that are not allowed to emit events must not be able to focus objects.

7 years agoEfl.Canvas.Object: Override efl_event_callback_[legacy]_call.
Guilherme Iscaro [Tue, 6 Dec 2016 21:27:15 +0000 (19:27 -0200)]
Efl.Canvas.Object: Override efl_event_callback_[legacy]_call.

In order to properly block events from a given seat, Efl.Canvas.Object must
override the efl_event_callback_[legacy]_call to check if the event
is allowed or not.

7 years agoEvas: Add seat_event_filter_set()/get() API.
Guilherme Iscaro [Tue, 6 Dec 2016 14:42:30 +0000 (12:42 -0200)]
Evas: Add seat_event_filter_set()/get() API.

With this new API one can block or unblock keyboard, mouse and
focus events that was originated from a seat. This is useful to
create applications that wants to establish some kind of seat segregation.

7 years agoelm: theme: avoid double free in theme version check
Stefan Schmidt [Mon, 12 Dec 2016 15:35:44 +0000 (16:35 +0100)]
elm: theme: avoid double free in theme version check

If we would have a version below 110 we would run into a double free here.
Just warn and let the freeing happen two lines below.

CID: 1366926

7 years agoethumb: fix resource leak introduced in file path sanitization rework
Stefan Schmidt [Mon, 12 Dec 2016 15:18:18 +0000 (16:18 +0100)]
ethumb: fix resource leak introduced in file path sanitization rework

This extra snaitized path assign path does not make sense and leads to a leak
in the end. We already have sanitized_path and handle that correctly.

Fixes 62a0c41fd3bf8796efec55db52395f13a78fb27f

CID: 1366925

7 years agoecore_con_legacy: fix coverity issues (use after free)
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 15:17:40 +0000 (13:17 -0200)]
ecore_con_legacy: fix coverity issues (use after free)

for hard failures (highly unlikely), the handle would be deleted and
the next use would crash.

guard against those or reorder when it makes sense.

7 years agoefl_net_ip_address: make coverity happy.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 15:02:55 +0000 (13:02 -0200)]
efl_net_ip_address: make coverity happy.

host and port were already checked, but let's quiet CID 1366921

7 years agotest efl_net_ip_address: also check localhost6.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 14:27:45 +0000 (12:27 -0200)]
test efl_net_ip_address: also check localhost6.

Fedora and other systems use localhost6 for ::1, then use that in
addition to localhost.

7 years agoadd missing includes for BSD.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 14:16:33 +0000 (12:16 -0200)]
add missing includes for BSD.

Thanks @netstar.

7 years agoelm_code: Fix tests for parameter reordering
Andy Williams [Mon, 12 Dec 2016 12:17:56 +0000 (12:17 +0000)]
elm_code: Fix tests for parameter reordering

Apologies for the badness of not running the tests before

7 years agotest efl_net_ip_address: check if /etc/hosts has '::1 localhost'
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 12:54:20 +0000 (10:54 -0200)]
test efl_net_ip_address: check if /etc/hosts has '::1 localhost'

it seems that the bot and some users do not have ::1 localhost in
/etc/hosts, check for that and print it out.

be more verbose on resolve errors, showing the results and error code.

also allow more time for resolution, otherwise the local timeout may
expire before getaddrinfo() returns with failures.

7 years agoefl_net_ip_address: improve docs.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 11:57:36 +0000 (09:57 -0200)]
efl_net_ip_address: improve docs.

thanks stefan for reminding me of these :-)

7 years agoUi text: remove unimplemented imf api
Daniel Hirt [Mon, 12 Dec 2016 09:21:01 +0000 (11:21 +0200)]
Ui text: remove unimplemented imf api

7 years agoCanvas text: call "changed" on style_set
Daniel Hirt [Thu, 8 Dec 2016 12:05:40 +0000 (14:05 +0200)]
Canvas text: call "changed" on style_set

Needs to be picked up by widgets e.g. Ui.Text to update the positions of
decorations.

7 years agoUi text: move tests to test_efl_ui_text.c
Daniel Hirt [Thu, 8 Dec 2016 10:03:02 +0000 (12:03 +0200)]
Ui text: move tests to test_efl_ui_text.c

Merge this into the file that already tests the label-like behavior.

7 years agoCanvas text: call "changed" on annotation_insert
Daniel Hirt [Thu, 8 Dec 2016 11:57:50 +0000 (13:57 +0200)]
Canvas text: call "changed" on annotation_insert

This was missing from non-item type of annotations.

7 years agoUi text interactive: fix passing of wrong object
Daniel Hirt [Wed, 7 Dec 2016 11:36:56 +0000 (13:36 +0200)]
Ui text interactive: fix passing of wrong object

7 years agoUi text: implement non-editable beahvior
Daniel Hirt [Thu, 1 Dec 2016 11:25:11 +0000 (13:25 +0200)]
Ui text: implement non-editable beahvior

Non-editable behavior resembles a label. It doesn't allow changing the
text in any interactive form. The blinking cursor is also hidden.
Selection, however, it allowed.

Among the changes, I added a test which you can run using:
"elementary_test -to "efl ui text label".

7 years agoUi text: disable selection handler from test
Daniel Hirt [Thu, 1 Dec 2016 10:43:59 +0000 (12:43 +0200)]
Ui text: disable selection handler from test

7 years agoUi text: fix selection handler behavior
Daniel Hirt [Tue, 29 Nov 2016 07:30:36 +0000 (09:30 +0200)]
Ui text: fix selection handler behavior

7 years agoUi text: implement scrolling with line wrap
Daniel Hirt [Mon, 28 Nov 2016 11:22:40 +0000 (13:22 +0200)]
Ui text: implement scrolling with line wrap

7 years agodocs: ecore_con: fill gaps in newly added efl_net_ip_address documentation
Stefan Schmidt [Mon, 12 Dec 2016 08:33:47 +0000 (09:33 +0100)]
docs: ecore_con: fill gaps in newly added efl_net_ip_address documentation

7 years agodocs: ecore_con: document newly added extern struct item
Stefan Schmidt [Mon, 12 Dec 2016 08:33:13 +0000 (09:33 +0100)]
docs: ecore_con: document newly added extern struct item

7 years agoelm_code: Fix parameter ordering for consistency
Andy Williams [Mon, 12 Dec 2016 08:29:51 +0000 (08:29 +0000)]
elm_code: Fix parameter ordering for consistency

7 years agoelm_spinner: Spinner internal focus logic fixed to following new focused UI concept.
Woochan Lee [Mon, 12 Dec 2016 07:46:27 +0000 (16:46 +0900)]
elm_spinner: Spinner internal focus logic fixed to following new focused UI concept.

Summary:
The spinner entry will be activated when user gives a focus to text button in new focused ui concept.

To support this, we have to change internal logic about change text button to entry, entry to text button.

@fix

Test Plan:
elementary_test
spinner sample.

Reviewers: woohyun, Hermet

Subscribers: cedric, jpeg

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

7 years agoefl_net_dialer_http: fix HEAD requests.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 05:17:35 +0000 (03:17 -0200)]
efl_net_dialer_http: fix HEAD requests.

We do not need to keep a "only_head" flag, but we must set
CURLOPT_NOBODY instead of going the "CUSTOMREQUEST" route, otherwise
curl won't follow redirects, etc.

7 years agoefl_net_dialer_http: fix reference check.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 05:16:07 +0000 (03:16 -0200)]
efl_net_dialer_http: fix reference check.

With the last patch to fix delete-from-curl callback it went too much,
considering it was always dead (in the test scenario it was, so it was
"right"), but broke normal cases.

7 years agoefl_net: add Efl.Net.Ip_Address
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 04:23:29 +0000 (02:23 -0200)]
efl_net: add Efl.Net.Ip_Address

This is a string parser, serializer and asynchronous resolver.

It's purpose is to convert to and from the strings we use in our
dialers and servers, such as "127.0.0.1:1234" or "[::1]:1234",
properties allow to check the family, port, address bytes (slice) and
even get a struct sockaddr pointer to use with bind()/connect() in
outside code.

It will also offer some utilities present in netinet/in.h in an easy
to use way, after all IN6_IS_ADDR_LOOPBACK() works one way, while
there is no IN_LOOPBACK and comparing with INADDR_LOOPBACK will lead
to errors since it's in network order.

Last but not least, it will do asynchronous resolve of host and port
names using an internal thread and getaddrinfo(). The results are
delivered using a Future with an array of objects.

7 years agoefl_net: move error COULDNT_RESOLVE_HOST to broader scope.
Gustavo Sverzut Barbieri [Mon, 12 Dec 2016 00:17:15 +0000 (22:17 -0200)]
efl_net: move error COULDNT_RESOLVE_HOST to broader scope.

This error is shared by Dialer and Server, will also be used by IP
resolution.

7 years agoEfl_Future: class name (string) using "." for namespace.
Gustavo Sverzut Barbieri [Sun, 11 Dec 2016 23:28:45 +0000 (21:28 -0200)]
Efl_Future: class name (string) using "." for namespace.

Following recent eolian change, the string must have "." to split
namespace, not "_".

7 years agoyoda-style inactivity timeout.
Gustavo Sverzut Barbieri [Sun, 11 Dec 2016 15:19:46 +0000 (13:19 -0200)]
yoda-style inactivity timeout.

s/inactivity_timeout/timeout_inactivity/g so it matches the EFL names
with scope first, like timeout_connect, etc.

7 years agoefl_net: spell check s/revogation/revocation/g
Gustavo Sverzut Barbieri [Sat, 10 Dec 2016 12:21:56 +0000 (10:21 -0200)]
efl_net: spell check s/revogation/revocation/g

Sorry, in pt_BR it's revoGar... so I did misspell :-)

7 years agoefl_canvas_proxy: fix the parameter of EINA_COW_WRITE
Hosang Kim [Mon, 12 Dec 2016 02:42:01 +0000 (11:42 +0900)]
efl_canvas_proxy: fix the parameter of EINA_COW_WRITE

Summary:
EINA_COW_WRITE_BEGIN and EINA_COW_WRITE_END's parameters must be same.
But 'Read' paramter is different. So wrong variable's value is changed.
@fix

Reviewers: woohyun, Hermet, cedric, raster, jpeg

Reviewed By: jpeg

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

7 years agoelementary: naviframe uses widget item for atspi
Shinwoo Kim [Sun, 11 Dec 2016 10:38:00 +0000 (19:38 +0900)]
elementary: naviframe uses widget item for atspi

Application developer could rewrite accessible information of naviframe item.
But view object - VIEW(item) - is not accessible from application side.
So the accessible information should be set to widget item.

7 years agoecore_con: Ecore_Con_Server now on top of Efl_Net!
Gustavo Sverzut Barbieri [Wed, 7 Dec 2016 15:34:28 +0000 (13:34 -0200)]
ecore_con: Ecore_Con_Server now on top of Efl_Net!

This is a major work and unfortunately couldn't be split into smaller
pieces as old code was highly coupled.

Ecore_Con_Server is now a wrapper around Efl_Net_Dialer_Simple
(ecore_con_server_connect()) and Efl_Net_Server_Simple
(ecore_con_server_add()), doing all that the original version did with
some fixes so ecore_con_ssl_server_upgrade() and
ecore_con_ssl_client_upgrade() are more usable -- see the examples and
-t/--type=tcp+ssl.

I tried to be bug-compatible, with code annotations where things
doesn't make sense. This was based on ecore_con_suite tests and some
manual experimenting with the examples, these can be helpful if you
find regressions (report/assign to me).

7 years agoecore_con_server_example: add --socket-activated
Gustavo Sverzut Barbieri [Fri, 9 Dec 2016 16:03:34 +0000 (14:03 -0200)]
ecore_con_server_example: add --socket-activated