platform/upstream/efl.git
7 years agoelm-tests: don't include Ecore_X.h when not available
Jean Guyomarc'h [Mon, 29 Aug 2016 13:22:57 +0000 (15:22 +0200)]
elm-tests: don't include Ecore_X.h when not available

This fixes a build issue on Mac OS X.

7 years agoevas: don't redefine PAGE_SIZE if already defined
Jean Guyomarc'h [Mon, 29 Aug 2016 08:35:21 +0000 (10:35 +0200)]
evas: don't redefine PAGE_SIZE if already defined

On OSX, we include mach.h (via the inlined locks API), which
already defines PAGE_SIZE.

7 years agoelementary: update tooltip documentation
Jean Guyomarc'h [Mon, 29 Aug 2016 17:55:21 +0000 (19:55 +0200)]
elementary: update tooltip documentation

7 years agoelm fileselector: fix events that must be using Efl.Model objects
Vitor Sousa [Tue, 23 Aug 2016 00:59:10 +0000 (21:59 -0300)]
elm fileselector: fix events that must be using Efl.Model objects

Use the new behavior of Efl.Object.event_callback_call to correctly
update events to pass Efl.Model objects while still suppling path
strings for legacy smart callbacks.

Override Elm.Fileselector.event_callback_legacy_call in order to separate
the types of any incoming event call that uses Efl.Model.

7 years agoEdje entry: Pass correct cursor position and text to imf in case of selection
Subodh Kumar [Mon, 29 Aug 2016 08:23:07 +0000 (17:23 +0900)]
Edje entry: Pass correct cursor position and text to imf in case of selection

Summary:
When selection is there we are passing the whole text and position to imf
which sees that next character like matras (eg .Hindi) should be inserted
(if pressed) and when matra comes the selected text is gone and only matra
remains in the entry.

eg:  we have text in hindi like मानक, select all and hit matra in keyboard
selected text is gone, only matra is there.

@fix

Test Plan: Tested in Tizen device

Reviewers: jihoon, tasn, herdsman, thiepha

Subscribers: Hermet, shilpasingh, raster, subodh, jpeg, cedric

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

7 years agoeo callbacks - move to mempools for callback data for more speed
Carsten Haitzler (Rasterman) [Mon, 29 Aug 2016 06:36:48 +0000 (15:36 +0900)]
eo callbacks - move to mempools for callback data for more speed

also help reduce fragmentation. also remove callbacks immediately if
callbacks are not being walked at the time (as opposed to just marking
them to need deletion then call a clean that if not being walked will
walk all cb's when we already know what to remove).

@optimize

7 years agoefl po's - update
Carsten Haitzler (Rasterman) [Mon, 29 Aug 2016 05:56:58 +0000 (14:56 +0900)]
efl po's - update

7 years agoelm focus: focus_auto_hide should be done with mouse_down
WooHyun Jung [Sat, 27 Aug 2016 04:48:35 +0000 (13:48 +0900)]
elm focus: focus_auto_hide should be done with mouse_down

Focus highlight can be on the air, when focused object in scroller is
moved by mouse down and move.
So, mouse up is not proper for executing focus_auto_hide.

@fix

7 years agofix filselector legacy cb call order and entry set - fix file,chosen
Carsten Haitzler (Rasterman) [Sat, 27 Aug 2016 00:06:49 +0000 (09:06 +0900)]
fix filselector legacy cb call order and entry set - fix file,chosen

The visible bug for this issue is that the Elm External Video example
is broken:

elementary_test -to "ExtVideo"
The root cause is that the "file,choose" event of the
FileselectorEntry is (wrongly) not listed by the function:
evas_object_smart_callbacks_descriptions_get()
This evas functions is used in elm_external to forward all the widget
events to edje, but it cannot forward the "file,chosen" event because
it's not listed.
Thus the video test is not working for the lacks of that event.

I think the fix should be somewhere in elc_fileselector_entry.c, there
are some hacks there for the incriminated signal, but I don't know how
to properly fix.

as pointed out by dave:

DaveMDS added a comment.Fri, Aug 26, 5:19 PM
I think the problem is in this function: (elc_fileselector_entry.c)

...

this fixes T4337

7 years agoelm fileselector: fix possible premature deletion of Listing_Request struct
Vitor Sousa [Wed, 24 Aug 2016 22:43:51 +0000 (19:43 -0300)]
elm fileselector: fix possible premature deletion of Listing_Request struct

In a case where eina_promise_then is executed immediately (like with some
quick and light Efl.Model), the Listing_Request struct will be prematurely
freed in the first iteration of the child processing loop, because the
item_total counter had not accumulated the right number of items yet.

With this commit, we traverse the children accessor first, so we can know
the number of items.

Also, no longer use the Listing_Request pointer after the loop, once it
may have been deallocate already.
And put a note about this too.

7 years agoefreet: mime types database can be empty
Jean Guyomarc'h [Fri, 26 Aug 2016 13:53:05 +0000 (15:53 +0200)]
efreet: mime types database can be empty

When the mime types database is empty, the file will
be exactly 28 bytes.

Fixes T4426

7 years agoelementary: better error handling of fileselector
Jean Guyomarc'h [Fri, 26 Aug 2016 13:43:16 +0000 (15:43 +0200)]
elementary: better error handling of fileselector

7 years agoelementary: prevent double free
Jean Guyomarc'h [Fri, 26 Aug 2016 13:04:37 +0000 (15:04 +0200)]
elementary: prevent double free

This one is a bit tricky... When we create the aggregated
promise, if one of the properties of the model returns an
error, the eina_promise_then() will immediately call the
error callback. In this happened for the first item, the
total items in the listing request would be 1.

Before this commit, we tested for incremented the processed
counter and compared it to this total count. If it was
greater or equal, we would free the common listing request.
But in the case of successive failures, we would set the
total counter to 1, then the processed counter to 1 and
therefore free. Then increment the total counter to 2, then
then processed counter to 2, and free again... which would
cause an abort() from the libc or something else nasty.

Now we just decrease the total count of items. We avoid
the cases and double frees, without leaking.

7 years agoelementary: make sure we don't iterate out of bounds
Jean Guyomarc'h [Fri, 26 Aug 2016 13:00:52 +0000 (15:00 +0200)]
elementary: make sure we don't iterate out of bounds

The carray iterator will end iterating only when it finds a NULL
object. We must make sure the last element of the array is NULL
to avoid out of bounds access.

7 years agoeina: overhaul Mac OS X semaphores
Jean Guyomarc'h [Fri, 26 Aug 2016 15:41:20 +0000 (17:41 +0200)]
eina: overhaul Mac OS X semaphores

Mac OS X does not support POSIX unnamed semaphores, only named
semaphores, which are persistant IPC: when the program exits,
and if semaphores where not released, they stay forever...

All EFL programs were "leaking" a semaphore, due to how
eina_log_monitor manages its resources. Therefore, after building
EFL a lot (which run eolian_gen, eolian_cxx, elua, edje_cc, ...)
we were not able to create any semaphore...

Now, we get rid of these semaphores and use Mac OS X's own
semaphores. Code is less cumbersome, and we don't have any
disavantage of the named semaphores.

Fixes T4423

@fix

7 years agoeo: speedup efl_isa by 50%.
Cedric BAIL [Fri, 26 Aug 2016 19:04:23 +0000 (12:04 -0700)]
eo: speedup efl_isa by 50%.

Most of our use case of efl_isa is related to legacy Evas_Object_Image API,
that check the isa of the same object again and again. Caching help.

7 years agoeo: general speedup of all Eo related operation.
Cedric BAIL [Fri, 26 Aug 2016 19:03:08 +0000 (12:03 -0700)]
eo: general speedup of all Eo related operation.

This change rely on the fact that we do fetch the same
object id over and over again. _efl_object_call_resolve got
15% faster, efl_data_scope_get 20%.

7 years agoeo: remove useless duplicated check.
Cedric BAIL [Fri, 26 Aug 2016 19:01:52 +0000 (12:01 -0700)]
eo: remove useless duplicated check.

7 years agoEfl Object: remove legacy callback calls from event_callback_call
Vitor Sousa [Mon, 22 Aug 2016 22:40:39 +0000 (19:40 -0300)]
Efl Object: remove legacy callback calls from event_callback_call

Efl.Object.event_callback_call no longer calls legacy smart callbacks;
calling only event callbacks registered with the given event description
pointer.

Create the method Efl.Object.event_callback_legacy_call to inherit the old
behavior from Efl.Object.event_callback_call, calling both Efl.Object events
and legacy smart callbacks.

Update all other files accordingly in order to still supply legacy
callbacks while they are necessary.

7 years agoecore_cocoa: fix fullscreen for older osx versions
Jean Guyomarc'h [Fri, 26 Aug 2016 14:48:58 +0000 (16:48 +0200)]
ecore_cocoa: fix fullscreen for older osx versions

Tested on 10.11 and 10.9.

Fixes T4395

7 years agoecore_cocoa: refactor resizing request
Jean Guyomarc'h [Fri, 26 Aug 2016 14:35:31 +0000 (16:35 +0200)]
ecore_cocoa: refactor resizing request

7 years agoecore_cocoa: fix memory leak
Jean Guyomarc'h [Fri, 26 Aug 2016 14:13:18 +0000 (16:13 +0200)]
ecore_cocoa: fix memory leak

7 years agoElementary: Genlist Tree Test - Add an item with the indent style to match tree style.
Stephen okra Houston [Fri, 26 Aug 2016 15:37:26 +0000 (10:37 -0500)]
Elementary: Genlist Tree Test - Add an item with the indent style to match tree style.

7 years agoElementary Theme: Add "indent" genlist item style. This style allows non tree items...
Stephen okra Houston [Fri, 26 Aug 2016 15:05:20 +0000 (10:05 -0500)]
Elementary Theme: Add  "indent" genlist item style.  This style allows non tree items to match tree items.

7 years agoefreet: add doc note about stringshare reliability for efreet_mime_type_get()
Mike Blumenkrantz [Fri, 26 Aug 2016 14:20:45 +0000 (10:20 -0400)]
efreet: add doc note about stringshare reliability for efreet_mime_type_get()

7 years agoelm: Show code widget width marker after the column
Andy Williams [Fri, 26 Aug 2016 14:17:12 +0000 (15:17 +0100)]
elm: Show code widget width marker after the column

Provide a clearer indication of what width is available

7 years agodocs: add an option to disable title plugin usage
Daniel Kolesa [Fri, 26 Aug 2016 13:45:45 +0000 (14:45 +0100)]
docs: add an option to disable title plugin usage

7 years agodocs: let the writer handle title headings
Daniel Kolesa [Fri, 26 Aug 2016 13:42:19 +0000 (14:42 +0100)]
docs: let the writer handle title headings

7 years agodocs: generate proper title for all pages
Daniel Kolesa [Fri, 26 Aug 2016 13:31:33 +0000 (14:31 +0100)]
docs: generate proper title for all pages

7 years agodocs: add writer support for pagetitle plugin
Daniel Kolesa [Fri, 26 Aug 2016 13:28:11 +0000 (14:28 +0100)]
docs: add writer support for pagetitle plugin

7 years agoelm: Fix some ERR messages following previous patch
Jean-Philippe Andre [Fri, 26 Aug 2016 08:09:38 +0000 (17:09 +0900)]
elm: Fix some ERR messages following previous patch

This simply avoids calling functions on NULL objects, since
the previous patch would ERR out rather than silently ignore
the problem.

I just add explicit NULL checks before calling the functions,
so it's clear the object could be NULL (in the widget).

7 years agoevas3d examples: Add EFL_EO_API_SUPPORT where needed
Jean-Philippe Andre [Fri, 26 Aug 2016 02:44:11 +0000 (11:44 +0900)]
evas3d examples: Add EFL_EO_API_SUPPORT where needed

I might have broken this in a previous commit in evas headers,
but the thing is that beta does not imply eo api, so both are
still required.

7 years agoevas events: Add efl_isa safety checks in legacy EAPI
Jean-Philippe Andre [Fri, 26 Aug 2016 02:27:37 +0000 (11:27 +0900)]
evas events: Add efl_isa safety checks in legacy EAPI

This removes useless magic checks (only check whether the
arg is not null) that were not even present in every function.
The cost should be similar or lower than an eo function call.

7 years agoefl: Rename Efl.Event.XX to Efl.Input.XX
Jean-Philippe Andre [Thu, 25 Aug 2016 10:20:10 +0000 (19:20 +0900)]
efl: Rename Efl.Event.XX to Efl.Input.XX

This removes:
 Efl.Event interface

And renames:
 Efl.Event.Input -> Efl.Input.Event
 Efl.Event -> Efl.Input.Event (merged)
 Efl.Event.Pointer -> Efl.Input.Pointer
 Efl.Event.Key -> Efl.Input.Key
 Efl.Event.Hold -> Efl.Input.Hold

This also moves some interfaces from efl/ to evas/ where they
belong better.

This allows renaming Eo_Event to Efl_Event.

7 years agoevas: Add normalized and window coordinates to axis events
Jean-Philippe Andre [Thu, 25 Aug 2016 08:54:04 +0000 (17:54 +0900)]
evas: Add normalized and window coordinates to axis events

This is for Wacom graphics tablets (with a pen).

The raw data sent by ecore to evas (and then to apps) is pretty
useless as it's not normalized, and apps have no way of knowing the
dimensions of the tablet, without themselves opening the device
(we don't know nor expose the path to the device).

This is for Xi2 only for now, as Wayland support hasn't been done
yet.

The intent is to deprecate LABEL_X and LABEL_Y. I'm not sure yet
if the normalized value is useful or not (it would seem we may not
be able to provide this info in Wayland).

The new WINDOW_X, WINDOW_Y labels will be used in the new event
type (Efl.Event.Pointer). Normalized values are not exposed yet,
let's decide if we want them or not first (based on what can be
done in Wayland space).

@feature

7 years agoevas: Simplify internal evas_object_event_callback_call
Jean-Philippe Andre [Thu, 25 Aug 2016 07:03:45 +0000 (16:03 +0900)]
evas: Simplify internal evas_object_event_callback_call

This removes the distinction between legacy and new eo style
event info, since all those types have now been ported to eo.

7 years agoecore xi2: Discard "axis" inputs from standard mice
Jean-Philippe Andre [Wed, 24 Aug 2016 08:44:32 +0000 (17:44 +0900)]
ecore xi2: Discard "axis" inputs from standard mice

Mice in X with xi2 send Axis events which are badly defined,
and carry basically useless information, as we also receive
proper mouse events. Notably, all mice input events are
"Rel something" but in fact they are absolute values (even
the wheel information is a counter increasing every time you
scroll).

This should not break any application as such axis events
carried only values with label ECORE_AXIS_LABEL_UNKNOWN.
This also fixes a leak when n == 0 (no "valuator" found
in the list, this used to be unlikely, now happens at every
mouse event).

7 years agoevas events: Switch axis events to the new eo type
Jean-Philippe Andre [Tue, 23 Aug 2016 11:23:48 +0000 (20:23 +0900)]
evas events: Switch axis events to the new eo type

This converts Evas_Axis or Ecore_Axis info arrays into basic
pointer data. Also marks those fields as set. All events need
to properly implement the value_has property (mark all bits
whenever a value is known).

7 years agoevas events: Rename properties and introduce generic value
Jean-Philippe Andre [Tue, 23 Aug 2016 09:12:10 +0000 (18:12 +0900)]
evas events: Rename properties and introduce generic value

This paves the way to a merge of pointer and axis events into
the class Efl.Event.Pointer.

7 years agoevas: Optimize out most callback call events
Jean-Philippe Andre [Fri, 19 Aug 2016 07:40:57 +0000 (16:40 +0900)]
evas: Optimize out most callback call events

This sets a bit whenever a callback listener is added.
I couldn't get any profiling data easily (too small for
valgrind).

Note: This removes the proper refcounting on the "move"
event listeners. I believe this is not a problem as most times
the move_ref goes to 0, it is because the object is deleted.
Worst case, we just trigger a callback_call with no listeners.

This adds 32 bits to each evas object private data.

7 years agoevas: Move event catcher to evas_callbacks.c
Jean-Philippe Andre [Fri, 19 Aug 2016 07:20:39 +0000 (16:20 +0900)]
evas: Move event catcher to evas_callbacks.c

No functional change.

7 years agoevas: Remove deprecated events from public EO class
Jean-Philippe Andre [Fri, 19 Aug 2016 06:42:44 +0000 (15:42 +0900)]
evas: Remove deprecated events from public EO class

del and free eo events don't need to be exposed, even as beta
API. They are still required for legacy callbacks.

7 years agoelm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DEL
Jean-Philippe Andre [Fri, 19 Aug 2016 06:38:25 +0000 (15:38 +0900)]
elm,evas: Remove use of EFL_CANVAS_OBJECT_EVENT_DEL

This event should not be exposed at all, it's not necessary
anymore, EFL_EVENT_DEL already exists and should be good enough.

This does move the callback call a little bit ealier in the del
process, but at first glance, this shouldn't have any impact.

7 years agoevas events: Add new "finger,move/down/up" events for multi touch
Jean-Philippe Andre [Fri, 19 Aug 2016 05:22:15 +0000 (14:22 +0900)]
evas events: Add new "finger,move/down/up" events for multi touch

This moves MULTI events to those new finger event types,
and also sends a finger event for finger 0 (aka the pointer).

NOTE: This may require a separation between a mouse input and
      an actual finger touch. To be defined, ie: do we let the app
      check the input device info to decide whether the event is
      actually the first finger of a multi touch device, or do
      we want to send only actual finger events from multi touch
      devices only?

@feature

7 years agoevas events: Simplify event counter
Jean-Philippe Andre [Fri, 19 Aug 2016 04:33:11 +0000 (13:33 +0900)]
evas events: Simplify event counter

Simplify code:
 _evas_object_event_new()
 event_id = _evas_event_counter

Into:
  event_id = _evas_object_event_new()

7 years agoevas events: Remove now unused code
Jean-Philippe Andre [Thu, 18 Aug 2016 08:09:31 +0000 (17:09 +0900)]
evas events: Remove now unused code

7 years agoevas events: Fix crash when translating legacy events
Jean-Philippe Andre [Thu, 18 Aug 2016 08:06:17 +0000 (17:06 +0900)]
evas events: Fix crash when translating legacy events

An obvious crash happened when reusing a legacy struct
from another type.

7 years agoevas events: Switch mouse move events to the new type
Jean-Philippe Andre [Thu, 18 Aug 2016 07:28:55 +0000 (16:28 +0900)]
evas events: Switch mouse move events to the new type

This is the last commit for this crazy input transformation
series. The following commits will be cleaning up now
unused code, and fixing bugs.

7 years agoevas events: Switch multi move to new event type
Jean-Philippe Andre [Thu, 18 Aug 2016 06:33:36 +0000 (15:33 +0900)]
evas events: Switch multi move to new event type

Now only the single move remains. Almost done!

7 years agoevas events: Switch multi up/down to the new event type
Jean-Philippe Andre [Thu, 18 Aug 2016 05:54:54 +0000 (14:54 +0900)]
evas events: Switch multi up/down to the new event type

7 years agoevas events: Switch mouse in/out events to the new event type
Jean-Philippe Andre [Thu, 18 Aug 2016 03:01:39 +0000 (12:01 +0900)]
evas events: Switch mouse in/out events to the new event type

7 years agoevas events: Switch mouse move event to the new event type (1)
Jean-Philippe Andre [Wed, 17 Aug 2016 13:00:37 +0000 (22:00 +0900)]
evas events: Switch mouse move event to the new event type (1)

This only modifies the proxy source handling code.

7 years agoevas events: Switch mouse up/down to the new event type
Jean-Philippe Andre [Wed, 17 Aug 2016 11:29:39 +0000 (20:29 +0900)]
evas events: Switch mouse up/down to the new event type

This is getting trickier, as those events have a lot more
side effects and complexity than a simple wheel event...

Some code has been added that should be fixed in the following
commits.

7 years agoevas events: Switch key up/down event to new eo type
Jean-Philippe Andre [Wed, 17 Aug 2016 10:39:10 +0000 (19:39 +0900)]
evas events: Switch key up/down event to new eo type

7 years agoevas events: Switch hold event to new eo type
Jean-Philippe Andre [Wed, 17 Aug 2016 10:11:53 +0000 (19:11 +0900)]
evas events: Switch hold event to new eo type

Evas_Event_Hold is now barely used anywhere.
This also adds support for event_flags to this type.

7 years agoevas events: Switch wheel event to the new type
Jean-Philippe Andre [Thu, 11 Aug 2016 02:58:42 +0000 (11:58 +0900)]
evas events: Switch wheel event to the new type

For now this covers only the wheel event.

Note: This patch also modifies evas map to use double in an
internal function, rather than ints.

7 years agoeina: readdir_r has been deprecated.
Cedric BAIL [Thu, 25 Aug 2016 22:20:19 +0000 (15:20 -0700)]
eina: readdir_r has been deprecated.

So glibc has decided that readdir_r is hard to use safely and deprecated it
this summer. They recommand to use readdir, which was in the past unsafe to
use in a multi thread scenario, but is now on most system (and all system
we care, including our own implementation in evil). It is basically safe
as long the same DIRP is not accessed from another thread. This is true in
our code base, so we are fine to go with this.

For further reading: https://lwn.net/Articles/696474/

7 years agoevas-gl_cocoa: migrate to gl_generic infrastructure
Jean Guyomarc'h [Wed, 24 Aug 2016 15:58:29 +0000 (17:58 +0200)]
evas-gl_cocoa: migrate to gl_generic infrastructure

It has been a long journey, but here we are at last...
The infamous gl_cocoa engine has been migrated to the
gl_generic infrastructure. This should provide great
improvements and hopefully reduce side-channels b0rkage.

Fonts seems better, scrolling is smoother, expedite
does not segfault anymore... I haven't found a
regression with elementary_test, elementary_config,
terminology, expedite.

7 years agoevas-gl_cocoa: start refactoring for gl_generic
Jean Guyomarc'h [Wed, 24 Aug 2016 10:12:59 +0000 (12:12 +0200)]
evas-gl_cocoa: start refactoring for gl_generic

7 years agoevas-gl_cocoa: remove unused code
Jean Guyomarc'h [Wed, 24 Aug 2016 08:39:26 +0000 (10:39 +0200)]
evas-gl_cocoa: remove unused code

7 years agoevas-gl_cocoa: cleanup eng_setup
Jean Guyomarc'h [Wed, 24 Aug 2016 08:37:10 +0000 (10:37 +0200)]
evas-gl_cocoa: cleanup eng_setup

7 years agoevas-gl_cocoa: cleanup eng_info
Jean Guyomarc'h [Wed, 24 Aug 2016 08:24:49 +0000 (10:24 +0200)]
evas-gl_cocoa: cleanup eng_info

7 years agoevas-gl_cocoa: init/shutdown cleanup
Jean Guyomarc'h [Wed, 24 Aug 2016 08:20:38 +0000 (10:20 +0200)]
evas-gl_cocoa: init/shutdown cleanup

7 years agoconfigure: Enable elput if wayland is requested
Jean-Philippe Andre [Thu, 25 Aug 2016 11:09:23 +0000 (20:09 +0900)]
configure: Enable elput if wayland is requested

This makes ./configure --enable-wayland work without having to
specify --enable-elput.

7 years agoevas: Try harder to create the render thread
Derek Foreman [Wed, 24 Aug 2016 19:20:17 +0000 (14:20 -0500)]
evas: Try harder to create the render thread

It's entirely possible that a system doesn't have a cpu 0, so
when we try to pin all our render threads onto processor 0 we
may fail.

This results in some very connfusing build breakage when
edje_cc hangs up because its render thread didn't start.

So, if starting the thread with affinity fails, let's try without
affinity.

(This is trivial to reproduce - just use sysfs to turn off cpu0
after boot.)

@fix

7 years agoefl_net_dialer_http: use the proper error code
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 17:33:33 +0000 (14:33 -0300)]
efl_net_dialer_http: use the proper error code

CURLcode is for curl_easy, while CURLMcode is for curl_multi.

Thanks to clang that spotted it.

7 years agoefl_net: better handling for SOCK_CLOEXEC.
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 15:34:59 +0000 (12:34 -0300)]
efl_net: better handling for SOCK_CLOEXEC.

On systems where SOCK_CLOEXEC is supported, give it to socket() and if
accept4() is supported, then use it as well.

Otherwise revert to fcntl().

7 years agoRevert "ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC"
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 15:02:17 +0000 (12:02 -0300)]
Revert "ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC"

This reverts commit 99d37838f32ef33b805bcefc7dc0320cfda05a0a.

will be fixed in a better way with the following commit.

7 years agoStatic deps unibreak: Update to latest git version.
Tom Hacohen [Wed, 24 Aug 2016 10:14:57 +0000 (11:14 +0100)]
Static deps unibreak: Update to latest git version.

This version reduces the number of dirty pages used by libunibreak.
Reference git hash: ad5a524b0128eec644a8cae52fb75ed1f597c0ee

@feature

7 years agoFix elementary build when xkbcommon is in a non standard location
Simon Lees [Wed, 24 Aug 2016 09:08:03 +0000 (18:38 +0930)]
Fix elementary build when xkbcommon is in a non standard location

@fixes T4413

7 years agoevas: Fix includes when enabling BETA but not EO API
Jean-Philippe Andre [Wed, 24 Aug 2016 05:12:47 +0000 (14:12 +0900)]
evas: Fix includes when enabling BETA but not EO API

This fixes the build for older versions of E.

7 years agoecore_x: Early check image bpp based on depth
Jean-Philippe Andre [Wed, 24 Aug 2016 05:40:20 +0000 (14:40 +0900)]
ecore_x: Early check image bpp based on depth

This fixes argb windows transparency in E software compositor.

My current problem is that I have no idea what changed, why this
is needed now, and how things could actually work before.

Fixes T4389

@fix

7 years agoefreet - convert crash into NULL mimes when no mime db found
Carsten Haitzler (Rasterman) [Wed, 24 Aug 2016 01:00:50 +0000 (10:00 +0900)]
efreet - convert crash into NULL mimes when no mime db found

so ok - efreet crashed letting you know you have a missing mimedb...
return NULL instead fixes T4425 :) - rememebr to kill your efreetd's
to get a new mimedb - log out and in will do that.

7 years agoefl_io_queue_example: use eina_slice_endswith().
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 00:27:45 +0000 (21:27 -0300)]
efl_io_queue_example: use eina_slice_endswith().

make the code more readable and clear. Also document when the line may
miss a trailing line delimiter in the slice.

7 years agoeina_slice: startswith and endswith.
Gustavo Sverzut Barbieri [Wed, 24 Aug 2016 00:25:02 +0000 (21:25 -0300)]
eina_slice: startswith and endswith.

these helpers around memcmp() make the code more readable.

7 years agoefl_io_queue: basic class to interact with Efl.Io interfaces.
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 23:03:10 +0000 (20:03 -0300)]
efl_io_queue: basic class to interact with Efl.Io interfaces.

The use of low-level interfaces such as Efl.Io.Reader and
Efl.Io.Writer are not that user-friendly as they can handle partial
data.

Classes such as Efl.Io.Copier makes them easy to use, but they need a
reader (source) or writer (destination) and in our examples we used
fixed buffers or some existing streams (stdin/stdout/stderr,
networking...).

However, if interactively we need to produce some data to be sent,
such as implementing some networking protocols, we'd have to write our
own Efl.Io.Reader and Efl.Io.Writer classes to handle the buffering.

Not anymore! With Efl.Io.Queue you can write stuff to it and it will
buffer to memory. Once stuff is read, it will automatically remove
those bytes from buffer.

7 years agoefl_io_copier_example: set loop as parent for Efl.Net.Dialer.Tcp
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 22:59:24 +0000 (19:59 -0300)]
efl_io_copier_example: set loop as parent for Efl.Net.Dialer.Tcp

although it was working, the correct way is to set a loop provider as
Efl.Net.Dialer.Tcp object.

7 years agoefl_io_buffer: do not refer to sub-classes in its docs.
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 23:01:01 +0000 (20:01 -0300)]
efl_io_buffer: do not refer to sub-classes in its docs.

depending on the order of generation eolian was triggering some
errors. So stop refering to subclasses here.

7 years agoefl.io.buffer: minor bugfix.
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 16:43:54 +0000 (13:43 -0300)]
efl.io.buffer: minor bugfix.

if no limit was set, do not resize buffer to 0.

7 years agoeina_slice: fix multi-byte find function, add tests.
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 21:41:20 +0000 (18:41 -0300)]
eina_slice: fix multi-byte find function, add tests.

7 years agowayland_egl: Destroy gl context if engine info updated with NULL wl_surface
Derek Foreman [Tue, 23 Aug 2016 17:16:09 +0000 (12:16 -0500)]
wayland_egl: Destroy gl context if engine info updated with NULL wl_surface

We set the wayland surface to NULL in engine info, then destroy the wayland
surface later.  The GL stack tries to render to the destroyed surface and
dies.

If we destroy the GL surface when we set the engine info (before we destroy
the wayland surface)it stops the GL stack from doing bad wayland calls.

This fixes a crash on exit, or when any window closes when using mali GL
drivers.  Surprisingly, Mesa was tolerant of this.

7 years agoeina: remove references to win32 and winCE in threads
Jean Guyomarc'h [Tue, 23 Aug 2016 15:46:45 +0000 (17:46 +0200)]
eina: remove references to win32 and winCE in threads

7 years agoautotools: remove win32 threads artifacts
Jean Guyomarc'h [Tue, 23 Aug 2016 15:42:57 +0000 (17:42 +0200)]
autotools: remove win32 threads artifacts

Commit 2cb0c1cadc46e1d89fea4e27399b36ce9f1526ff removed
the use _efl_have_win32_threads, but some traces of it
were left.

7 years agoeina: fixtures on OSX semaphores
Jean Guyomarc'h [Tue, 23 Aug 2016 14:59:10 +0000 (16:59 +0200)]
eina: fixtures on OSX semaphores

So actually there is quite a big issue with semaphores
on OSX. We use (named) POSIX semaphores, but this was
a (my) mistake... I'll fix it later...
The real issue is that named semaphore are persistants:
when the program dies, it stays alive. This is pretty
bad with eina_debug_monitor because we create a semaphore
we never release, due to a wild thread...

This leak of semaphores went unnoticed before commit
4a40ff95defa5fa7e6164459c50e674b53cddaf4 because the
name of the semaphore was unique per process, and
overriden when another process was launched. This
was very bad, but saved us from overflowing the
semaphore pool. It is now overflowed pretty fast when
building a lot EFL, because of Eolian that runs A LOT!

So that's one problem that still needs to be fixed,
by using OSX' own semaphores (see T4423).
Another big issue, which is now fixed is that the
buffer in which we generated the semaphore ID was
too small, and therefore we were reduced to one shared
semaphore for a whole process... This buffer has been
now set to 31 characters, which seems to be the maximum
length of a semaphore ID.

So now things are better, but still with a deadly issue.

7 years agoevas: handle thread queue creation failure
Jean Guyomarc'h [Tue, 23 Aug 2016 14:51:54 +0000 (16:51 +0200)]
evas: handle thread queue creation failure

eina_thread_queue_create() might fail.
Actually it does fail on Mac OS X under
some circumstances.

7 years agoeina: fix eina_btlog for older osx versions
Jean Guyomarc'h [Tue, 23 Aug 2016 14:31:24 +0000 (16:31 +0200)]
eina: fix eina_btlog for older osx versions

Older Mac OS X deprecated the default atos.
This patch adds support for Mavericks (and
maybe Yosemite as well).

7 years agoecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC
Jean Guyomarc'h [Tue, 23 Aug 2016 11:51:14 +0000 (13:51 +0200)]
ecore_con: use F_CLOEXEC instead of SOCK_CLOEXEC

Mac OS X does not provide SOCK_CLOEXEC. Instead, we can use
fcntl() with F_CLOEXEC.
Fixes Mac OS X build.

7 years agoecore_con: fix compiling on OSX and BSD
Jean Guyomarc'h [Tue, 23 Aug 2016 09:32:21 +0000 (11:32 +0200)]
ecore_con: fix compiling on OSX and BSD

TCP_CORK is Linux only. TCP_NOPUSH is supposed to
do the same thing than TCP_CORK, but on BSD (including
Mac OS X).

We now check for the existance of TCP_CORK or TCP_NOPUSH,
and use the right option. If none exist, cork_{set,get}
will just fail.

7 years agoautotools: add macro to easily check for defines in headers
Jean Guyomarc'h [Tue, 23 Aug 2016 09:31:52 +0000 (11:31 +0200)]
autotools: add macro to easily check for defines in headers

7 years agoFDO icons: correctly list the intl icons in theme description file
Dave Andreoli [Tue, 23 Aug 2016 17:04:25 +0000 (19:04 +0200)]
FDO icons: correctly list the intl icons in theme description file

@fix

7 years agoexamples: add efl_io_copier_simple_example.c
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 14:58:19 +0000 (11:58 -0300)]
examples: add efl_io_copier_simple_example.c

a simpler example to be listed in wiki.

7 years agoEfl object: Remove creation of event structure and passing it to eo.
Tom Hacohen [Tue, 23 Aug 2016 13:47:36 +0000 (14:47 +0100)]
Efl object: Remove creation of event structure and passing it to eo.

This was never used and will probably never be used. It was just wasting
memory and making things more complicated.

Just to give some more concrete numbers, this change alone reduced the
number of dirty pages used by elementary by two. So quite significant.

BREAKS ABI

@feature

7 years agoEolian: Fix tests according to recent eolian changes.
Tom Hacohen [Tue, 23 Aug 2016 13:42:09 +0000 (14:42 +0100)]
Eolian: Fix tests according to recent eolian changes.

7 years agoeolian gen: don't generate events in eo.c
Daniel Kolesa [Tue, 23 Aug 2016 13:04:45 +0000 (14:04 +0100)]
eolian gen: don't generate events in eo.c

7 years agoEfl object: Don't pass events to eo class creation.
Tom Hacohen [Tue, 23 Aug 2016 13:11:38 +0000 (14:11 +0100)]
Efl object: Don't pass events to eo class creation.

This was never used and there is no plan to ever use it. I'm going to
soon add a different mechanism with which it will be possible to provide
them again to Eo if ever needed without breaking ABI. Though it's
unlikely it will ever be.

7 years agoremove EINA_ERROR_TIMEOUT
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 13:12:47 +0000 (10:12 -0300)]
remove EINA_ERROR_TIMEOUT

As pointed out in the mailing list, it was introduced in this release,
so it's better to remove the symbol instead of deprecating it.

People should use ETIMEDOUT directly.

7 years agoeolian: enforce no get/set as method/property name rule
Daniel Kolesa [Tue, 23 Aug 2016 12:43:46 +0000 (13:43 +0100)]
eolian: enforce no get/set as method/property name rule

Fixes T3849.

7 years agoeolian gen: include return type in event docs
Daniel Kolesa [Tue, 23 Aug 2016 11:06:28 +0000 (12:06 +0100)]
eolian gen: include return type in event docs

Fixes T4393.

7 years agoelm_entry: Add more description about key event in return_key_type_set
Jihoon Kim [Tue, 23 Aug 2016 08:11:01 +0000 (17:11 +0900)]
elm_entry: Add more description about key event in return_key_type_set

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
7 years agoecore_imf: Add more description about key event in return_key_type_set
Jihoon Kim [Tue, 23 Aug 2016 08:09:37 +0000 (17:09 +0900)]
ecore_imf: Add more description about key event in return_key_type_set

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>