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.
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
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.
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).
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).
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.
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.
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.
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.
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.
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
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()
Jean-Philippe Andre [Thu, 18 Aug 2016 08:09:31 +0000 (17:09 +0900)]
evas events: Remove now unused code
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.
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.
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!
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
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
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.
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.
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
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.
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.
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/
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.
Jean Guyomarc'h [Wed, 24 Aug 2016 10:12:59 +0000 (12:12 +0200)]
evas-gl_cocoa: start refactoring for gl_generic
Jean Guyomarc'h [Wed, 24 Aug 2016 08:39:26 +0000 (10:39 +0200)]
evas-gl_cocoa: remove unused code
Jean Guyomarc'h [Wed, 24 Aug 2016 08:37:10 +0000 (10:37 +0200)]
evas-gl_cocoa: cleanup eng_setup
Jean Guyomarc'h [Wed, 24 Aug 2016 08:24:49 +0000 (10:24 +0200)]
evas-gl_cocoa: cleanup eng_info
Jean Guyomarc'h [Wed, 24 Aug 2016 08:20:38 +0000 (10:20 +0200)]
evas-gl_cocoa: init/shutdown cleanup
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.
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
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.
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().
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.
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
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
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.
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
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.
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.
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.
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.
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.
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.
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.
Gustavo Sverzut Barbieri [Tue, 23 Aug 2016 21:41:20 +0000 (18:41 -0300)]
eina_slice: fix multi-byte find function, add tests.
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.
Jean Guyomarc'h [Tue, 23 Aug 2016 15:46:45 +0000 (17:46 +0200)]
eina: remove references to win32 and winCE in threads
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.
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.
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.
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).
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.
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.
Jean Guyomarc'h [Tue, 23 Aug 2016 09:31:52 +0000 (11:31 +0200)]
autotools: add macro to easily check for defines in headers
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
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.
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
Tom Hacohen [Tue, 23 Aug 2016 13:42:09 +0000 (14:42 +0100)]
Eolian: Fix tests according to recent eolian changes.
Daniel Kolesa [Tue, 23 Aug 2016 13:04:45 +0000 (14:04 +0100)]
eolian gen: don't generate events in eo.c
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.
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.
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.
Daniel Kolesa [Tue, 23 Aug 2016 11:06:28 +0000 (12:06 +0100)]
eolian gen: include return type in event docs
Fixes T4393.
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>
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>
Jihoon Kim [Tue, 23 Aug 2016 05:54:27 +0000 (14:54 +0900)]
elput: Fix typo in doxygen
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Carsten Haitzler (Rasterman) [Tue, 23 Aug 2016 02:59:37 +0000 (11:59 +0900)]
efreet - save about 240-300k or so of memory used by efreet mime
so efreet mime was loading a bunch of mime type info files, parsing
them on startup and allocating memory to store all this mime info -
globs, mimetype strings and more. all a big waste of memory as its
allocated on the heap per process where its the SAME data files loaded
every time.
so make an efreet mime cache file and a tool to create it from mime
files. mmap this file with all the hashes/strings in it so all that
data is mmaped once in memory and shared between all processes and it
is only paged in on demand - as actually read/needed so if your
process doesnt need to know about mime stuff.. it wont touch it anyway.
this saves about 240-300k or so of memory in my tests. this has not
covered the mime MAGIC files which still consume memory and are on the
heap. this is more complex so it will take more time to come up with a
nice file format for the data that is nicely mmaped etc.
@optimize
Carsten Haitzler (Rasterman) [Mon, 22 Aug 2016 02:16:33 +0000 (11:16 +0900)]
efreet - fix efreet_*_dir_get() to support the xdg env vars
these api's didnt respect the env vars xdg dictates should override
the xdg dirs for that process. this fixes this and uses them if set
@fix
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 22:24:13 +0000 (19:24 -0300)]
fixup: http
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:51:38 +0000 (18:51 -0300)]
fixup: http
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:51:19 +0000 (18:51 -0300)]
fixup: efl-net
Gustavo Sverzut Barbieri [Sat, 20 Aug 2016 03:55:26 +0000 (00:55 -0300)]
WIP: efl.net: Introduce Efl.Net.Dialer.Http
This class implements the Efl.Net.Dialer interface using libcurl to
perform HTTP requests. That means it's an Efl.Net.Dialer,
Efl.Net.Socket, Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus
being usable with Efl.Io.Copier as demonstrated in the
efl_io_copier_example.c
Gustavo Sverzut Barbieri [Thu, 18 Aug 2016 04:53:16 +0000 (01:53 -0300)]
efl.net: socket, server and dialer for TCP.
Efl.Net.Server defines how to accept new connections, doing the
bind(), listen() and accept() for protocols such as TCP.
Efl.Net.Dialer defines to to reach a server.
Both are based on Efl.Net.Socket as communication interface that is
based on Efl.Io.Reader, Efl.Io.Writer and Efl.Io.Closer, thus being
usable with code such as Efl.Io.Copier.
The Server will emit an event "client,add" with the established
Socket, which is a child and can be closed by both the server or the
user.
The Dialer extends the Socket and allows for creating one given an
address, that will be resolved and connected.
TCP is the initial implementation so we an validate the
interfaces. UDP, Unix-Local and SSL will come later as derivate
classes.
The examples are documented and should cover the basic principles:
- efl_io_copier_example can accept "tcp://IP:PORT" and will work as a
"netcat", can send data from socket, file or stdin to a socket,
file, stdout or stderr.
- efl_net_server_example listens for connections and can either reply
"Hello World!" and take some data or work as an echo-server,
looping back all received data to the user.
More complex interactions that require a "chat" between client and
server will be covered with new classes later, such as a queue that
empties itself once data is read.
Gustavo Sverzut Barbieri [Sat, 13 Aug 2016 07:50:29 +0000 (04:50 -0300)]
efl.io: introduce basic interfaces and classes.
These interfaces allows generic operations on objects that can store
or provide data, such as a file or a buffer.
With well defined interfaces and events we can create code such as
Efl.Io.Copier, that will link a source with a destination and
progressively copy data as they appear.
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 21:55:37 +0000 (18:55 -0300)]
binbuf, strbuf and ustrbuf: add slice_get() and rw_slice_get().
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 21:54:26 +0000 (18:54 -0300)]
eina_stringshare: add slice_get()
Gustavo Sverzut Barbieri [Fri, 12 Aug 2016 20:08:38 +0000 (17:08 -0300)]
eina: introduce Eina_Slice and Eina_Rw_Slice.
A plain simple pointer + length describing a linear memory region.
Gustavo Sverzut Barbieri [Tue, 16 Aug 2016 16:11:12 +0000 (13:11 -0300)]
eina_types.eot: expose Eina.Binbuf
Gustavo Sverzut Barbieri [Thu, 4 Aug 2016 16:45:37 +0000 (13:45 -0300)]
eina_types.eot: expose Eina.Error
Gustavo Sverzut Barbieri [Mon, 22 Aug 2016 21:23:45 +0000 (18:23 -0300)]
eina_error: provide a fallback when strerror_r() is not available.
Prateek Thakur [Fri, 19 Aug 2016 23:12:41 +0000 (16:12 -0700)]
ecore_con: add '\0' termination to path.
Summary:
Copying from string 'buf' of length 4095 to '&socket_unix.sun_path[0]'
may form a non-terminated C string of size 108. So added null termination.
Signed-off-by: Prateek Thakur <prateek.th@samsung.com>
Reviewers: cedric, thiepha
Subscribers: jpeg
Differential Revision: https://phab.enlightenment.org/D4247
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Artem Popov [Fri, 19 Aug 2016 22:39:52 +0000 (15:39 -0700)]
ecore_evas_ews: add proper clean up when quit the func
@fix
Summary: add proper clean up when quit the func (as per Raster comment)
Reviewers: cedric, raster, jpeg, barbieri
Reviewed By: barbieri
Subscribers: raster, NikaWhite, myoungwoon, jpeg
Differential Revision: https://phab.enlightenment.org/D4175
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Jean Guyomarc'h [Mon, 22 Aug 2016 12:06:47 +0000 (14:06 +0200)]
eina: fix use of strerror_r()
So, first, the wrong strerror_r() was detected on
Mac OS X. Instead of using a complex set of macros
to try to detect which strerror_r() to use, when
it is defined, let the autotools handle that clerverness
for us.
Jean Guyomarc'h [Mon, 22 Aug 2016 12:44:43 +0000 (14:44 +0200)]
edje: fix warning raised by clang
Clang was not happy with the initialization of
the structure.
Jean Guyomarc'h [Mon, 22 Aug 2016 17:52:49 +0000 (19:52 +0200)]
evas-gl_cocoa: fix crashes at engine startup
Recently, the gl_cocoa engine started to crash at
startup. glGetIntegerv() in gl_common was called
without any gl context, and therefore segfaulted.
We now make sure it is called after a gl context
has been created and used.
Thanks jpeg for troubleshooting.
Fixes T4402
Derek Foreman [Mon, 22 Aug 2016 13:39:44 +0000 (08:39 -0500)]
evas_engines: Update remaining enges for damage_region_set callback
I missed several engines when I changed this.
Make sure they all build.
Marcel Hollerbach [Mon, 22 Aug 2016 07:22:34 +0000 (09:22 +0200)]
edje_cc: add snapshot to the lazedc symbols
there where comments and documentation about it, but no code.
This is some kind on follow up on
a7fd98f8f6d411c120e9c1c8ceeedbeb54d675a5.
@fix
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:37:22 +0000 (11:37 +0900)]
edje - cut another 120k or so off memory usage by using direct hash add
so every collection we add to the eina has of collections... we just
did eina_hash_add - this isn't quite good. because we use eina_file
and mmap the edje file. we COULd use the strings straigh fromt he edje
filer dictionary and not actually allocate private heap memory - thus
sharing all those strings. this was silly, and this saves about
another 120k of memory with the default theme as it has about 1500 or
so collections in it... and these strings add up fast.
@optimize
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:30:45 +0000 (11:30 +0900)]
edje - fix missing vector field frees, copies, handling etc.
it seems vector type parts were not handled all that well. we had at
least one mem leak with the vector mempool never being freed... so i
filled in various missing points where vector parts were not being
handled right.
@fix
Carsten Haitzler (Rasterman) [Sun, 21 Aug 2016 02:14:28 +0000 (11:14 +0900)]
edje - reduce anothr 400k or so of memory usage (esp hello world)
so edje was allocating 32 pointers per collection. this is per
collection inside an edje file even if we just use one collection from
that edje file. it consumes 32 pointers. on 64bit thats 256 bytes...
just for pointers to mempools so we can "optimize" freeing and
allocation of parts. this was simply rediculous. i moved it to a
sub-struct allocated on demand (so now only for collections we
actually use) and this nuked 400k of "base memory usage youcant get
rid of).
note that our current default theme has something like 1100 or so
images, 1500 or so collections in it. as theme gorws, memory footprint
goes up if we dont allocation only on demand (when needed/used) and we
aren't careful about the size of our data structs and their content.
@optimize
Dave Andreoli [Sat, 20 Aug 2016 13:13:45 +0000 (15:13 +0200)]
FDO icon theme: correct Inherits value
This should have been done this way from the start...my bad
@fix
Jean Guyomarc'h [Sat, 20 Aug 2016 12:03:15 +0000 (14:03 +0200)]
evas-engines: fix compiling of the fb engine
Build was broken after commit
0c21a926a322f810352a654b82455a41e85f06b2
which changed an internal API.
Derek Foreman [Fri, 19 Aug 2016 19:22:46 +0000 (14:22 -0500)]
wayland_egl: Fix EGL_KHR_Partial_Update usage
Use the new damage region set callback to do partial updates that actually
work. Fixes gl rendering on mali.
@fix
Derek Foreman [Fri, 19 Aug 2016 19:14:38 +0000 (14:14 -0500)]
engines: Add a damage_region_set callback
To properly implement EGL_KHR_partial_update we need to know the buffer
damage before any drawing operations take place. Add a new callback to
software_generic that takes place after combining of surface damage and
swap mode when we actually have this available.
Note: This means the three copy pasta implementations of
EGL_KHR_partial_update scattered around the tree are all wrong. bummer.
Derek Foreman [Fri, 19 Aug 2016 19:51:55 +0000 (14:51 -0500)]
wayland_shm: Fix dmabuf orientation
So apparently when dmabuf support went into weston it went in with a
Y axis inversion that has since been corrected.
This updates our code to match.
Cedric BAIL [Fri, 19 Aug 2016 17:17:15 +0000 (10:17 -0700)]
eina_cxx: change strings to match new returned system string.
Daniel Kolesa [Fri, 19 Aug 2016 13:39:37 +0000 (14:39 +0100)]
docs: generate reference pages for codelink
Daniel Kolesa [Fri, 19 Aug 2016 13:19:09 +0000 (14:19 +0100)]
docs: generate keyword-link.txt for codelink