Daniel Hirt [Tue, 13 Sep 2016 07:38:02 +0000 (10:38 +0300)]
Remove leftover evas_out usage from legacy
Build failed after
b5456893ee8a1a86a9b7e0342f644f3785711e06 due to
a missing header.
Oleksandr Shcherbina [Tue, 13 Sep 2016 06:17:53 +0000 (15:17 +0900)]
evas: Fix possible crash in evas_model_save_eet.c
Summary: @fix
Reviewers: cedric, raster, Hermet
Reviewed By: Hermet
Subscribers: artem.popov, jpeg
Differential Revision: https://phab.enlightenment.org/D4293
Woochan Lee [Tue, 13 Sep 2016 06:13:45 +0000 (15:13 +0900)]
elm_calendar: Fix header text bug.
Summary:
There is a bug. when calendar showing very first time.
the some of the headers(weekday name) is blank.
Because of elm_layout_text_set() called with NULL value.
Need to insert all of the weekday names before set text.
@fix
Test Plan:
Execute elementary_test
Open calendar sample.
See the all of the header names there.
Reviewers: cedric, jpeg, Hermet
Reviewed By: Hermet
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4290
Simon Lees (SUSE) [Tue, 13 Sep 2016 05:42:58 +0000 (15:12 +0930)]
Sync mailmap
Cedric BAIL [Mon, 12 Sep 2016 23:18:08 +0000 (16:18 -0700)]
evas: start working on efl_canvas_output.
This should when done enable the possibility for multi screen in wayland
along with remote display, wireless display and screencasting.
Cedric BAIL [Mon, 12 Sep 2016 18:19:10 +0000 (11:19 -0700)]
eio: properly track destruction of all Eet eio request.
@fix T4550
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 17:48:03 +0000 (14:48 -0300)]
efl_net_dialer_tcp: add connect timeout.
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 16:44:35 +0000 (13:44 -0300)]
efl_net_dialer_websocket: close and emit EOS on error.
On errors we should close the websocket and if it's in streaming mode
emit an EOS.
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 16:21:20 +0000 (13:21 -0300)]
efl_net_dialer_tcp: emit EOS on errors.
I/O copier and others may depend on end-of-stream to stop processing,
then emit the EOS on failures.
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 15:46:05 +0000 (12:46 -0300)]
efl_net_dialer_http: emit eos only at the end.
http copiers were never finishing since eos was being reset to FALSE
before the I/O copier job executed.
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 16:17:50 +0000 (13:17 -0300)]
efl_net_socket_fd: fail early on double close.
Gustavo Sverzut Barbieri [Mon, 12 Sep 2016 15:23:29 +0000 (12:23 -0300)]
efl_io_closer: add close_on_exec and close_on_destructor properties.
the purpose of these properties are to make it more uniform the
handling of these auto-close behavior.
Jaehyun Cho [Mon, 12 Sep 2016 11:30:50 +0000 (20:30 +0900)]
config: Add Escape key binding to naviframe.
Naviframe item is popped when Escape key is pressed.
Mykyta Biliavskyi [Mon, 12 Sep 2016 11:31:08 +0000 (14:31 +0300)]
Edje_Edit: check returned value edje_edit_edje_file_save function.
In edje_edit_group_copy() for case when save routine is failed
still returned EINA_TRUE. Now will be returned result of save routine.
@fix
CID: 1362727
Stefan Schmidt [Mon, 12 Sep 2016 11:01:48 +0000 (13:01 +0200)]
tests: eo_cxx: make sure new header files is included in dist tarball
This new file is available in the src tree but as we do not reference it in the
Makefile it is never put into the dist tarball making distcheck fail.
Stefan Schmidt [Mon, 12 Sep 2016 08:05:12 +0000 (10:05 +0200)]
examples: elementary: fix build for cxx examples needing ecore_cxx includes
The elementary cxx examples now need Ecore_Manual.hh from the cxx bindings.
Make sure we setup the include paths accordingly.
Hermet Park [Mon, 12 Sep 2016 07:50:00 +0000 (16:50 +0900)]
evas map: fix the rendering problem.
I got an issue report about map rendering.
After investigated, I found that was introduced by data overflow.
For fast computation, evas map uses integer data type rather than float,
that gives up some range of data size.
So, if vertex range is a little large but still reasonable,
polygon won'be properly displayed due to the integer overflow.
We can fix this by changing FPc data type to 64 bits (ie, long long)
But I didn't do yet though I can simply fix this costlessly.
By the way, my test case map points are below.
0: -1715, -5499
1: -83, -1011
2: 1957, 5721
3: 325, 1233
and gl result is perfect but sw is totally broken.
@fix
Hermet Park [Mon, 12 Sep 2016 04:09:17 +0000 (13:09 +0900)]
elementary test_glview: guide ELM_ACCEL rather than ELM_ENGINE
Specifying explicit engine name is not honored now
because backened engine name depends on the system.
We prefer to guide accelerator rather than engine.
Felipe Magno de Almeida [Sun, 7 Aug 2016 19:52:48 +0000 (16:52 -0300)]
eolian-cxx: Implement future template class for C++
WooHyun Jung [Mon, 12 Sep 2016 01:09:32 +0000 (10:09 +0900)]
embryo_cc: fix memory overflow in str
After for-loop i can have value 11. So the str should be longer than 11.
@fix
Andy Williams [Sun, 11 Sep 2016 18:10:04 +0000 (19:10 +0100)]
elm: don't show our elm_code popup if ctrl pressed
Andy Williams [Sun, 11 Sep 2016 17:47:05 +0000 (18:47 +0100)]
elm: Add popup edit menu in elm_code
Mykyta Biliavskyi [Sun, 11 Sep 2016 17:15:50 +0000 (20:15 +0300)]
Ecore_con_ssl: fix return value of ecore_con_ssl_client_upgrade.
In case when _ecore_con_ssl_client_init_(gnutls/openssl) finished
successful a enum ECORE_CON_SSL_ERROR_NONE value (0) returned. Function
ecore_con_ssl_client_upgrade return Eina_Bool and in case of success
EINA_FALSE was returned.
@fix
Cedric BAIL [Fri, 9 Sep 2016 23:22:20 +0000 (16:22 -0700)]
eio: finish port to new efl_io_manager API.
Cedric BAIL [Fri, 9 Sep 2016 23:21:47 +0000 (16:21 -0700)]
ecore: shutup unused arguments warning.
Cedric BAIL [Fri, 9 Sep 2016 23:20:52 +0000 (16:20 -0700)]
ecore: fix reference counting of promise value for efl_future_race and efl_future_all.
Gustavo Sverzut Barbieri [Fri, 9 Sep 2016 23:09:51 +0000 (20:09 -0300)]
efl_net_dialer_tcp: make asynchronous resolve and connect.
both resolve (getaddrinfo()) and connect() are now done in
Ecore_Thread, avoid to block the main loop.
My plan is to always use the threaded connect() using a blocking
socket, only set it to non-blocking after the socket is returned to
the main thread and before it's accessible to the user. It will make
the connect behavior more uniform.
Some errors were moved from HTTP to Dialer as they are more generic.
Chris Michael [Fri, 9 Sep 2016 19:08:40 +0000 (15:08 -0400)]
ecore-drm2: Rename output_fb_release to just fb_release
As this function releases FBOs on a given output, lets just shorten
the API function name so it can stay grouped into the ecore_drm2_fb.c
file ... leaving it as ecore_drm2_output_fb_release reads like it
should have gone into the ecore_drm2_output.c file...
NB: No real function changes here, just an API rename.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Fri, 9 Sep 2016 19:05:00 +0000 (15:05 -0400)]
ecore-drm2: Add missing EINA_SAFETY checks for public facing API
functions
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Derek Foreman [Fri, 9 Sep 2016 18:35:22 +0000 (13:35 -0500)]
gl_drm_ee: Remove repulsive hack and do proper gbm buffer accounting
We no longer need this hack as we now have a way to properly handle the
buffer locking in the engine, and don't currently deal with multi-head.
Derek Foreman [Fri, 9 Sep 2016 18:33:15 +0000 (13:33 -0500)]
ecore_drm2: Add ecore_drm2_output_fb_release way to force buffer release
Adds an api to attempt to release an fb from an output. This will try
to first free any queued but not display buffers, which may harmlessly
give us a render target.
However, if that fails it will try to get buffers that have been sent to
scanout, which can lead to tearing.
Derek Foreman [Fri, 9 Sep 2016 18:31:20 +0000 (13:31 -0500)]
ecore_drm2: Add release handlers for buffers
Allow the engine to register a callback for buffer release. This lets us
do appropriate buffer bookkeeping (for example, gbm locking) in the
engine.
Derek Foreman [Fri, 9 Sep 2016 18:18:41 +0000 (13:18 -0500)]
ecore_drm2: Store gbm_bo for Fbs and add a getter function for it
This will aid with proper locking in gl_drm later
Gustavo Sverzut Barbieri [Fri, 9 Sep 2016 17:53:11 +0000 (14:53 -0300)]
remove TODO/hacks for eo, it's fixed now.
Tasn fixed https://phab.enlightenment.org/T4418 so these are not needed anymore.
Daniel Kolesa [Fri, 9 Sep 2016 12:48:33 +0000 (14:48 +0200)]
docs: fix editable section writer erasing wrong fields
Daniel Kolesa [Fri, 9 Sep 2016 12:43:02 +0000 (14:43 +0200)]
docs: add editable sections where possible
Daniel Kolesa [Fri, 9 Sep 2016 11:04:04 +0000 (13:04 +0200)]
eolian: properly add < in struct/enum field docs
Fixes T4443.
Tom Hacohen [Fri, 9 Sep 2016 10:38:07 +0000 (11:38 +0100)]
Eo: Remove the EO_DEBUG env check. We have DBG for that.
Tom Hacohen [Fri, 9 Sep 2016 10:24:37 +0000 (11:24 +0100)]
Update the EFL according to new Eo API changes.
I didn't expect it (my bad), but why the hell is this done manually
instead of using Eolian?! People, use Eolian.
Carsten Haitzler (Rasterman) [Fri, 9 Sep 2016 10:11:06 +0000 (19:11 +0900)]
evas drm engine - fix build if gl not enabled for drm engine build
this fixes the build after a derek b0rk :)
Tom Hacohen [Fri, 9 Sep 2016 10:14:45 +0000 (11:14 +0100)]
Eo: Merge in changes in how functions are registered to classes.
More information in the relevant commit itself:
7ebf9d879d41169beda06b0195e4a3b3c60818e1
Breaks ABI and API
Tom Hacohen [Fri, 9 Sep 2016 09:53:58 +0000 (10:53 +0100)]
Eo: Change the way functions are registered to classes
This change lets us remove a field from the structure that leads to
around 20KiB more of saving in private dirty pages in elementary.
This also looks a bit better and feels a bit cleaner.
Breaks API and ABI.
Daniel Kolesa [Thu, 8 Sep 2016 14:38:52 +0000 (16:38 +0200)]
eolian: separate ops struct for normal and class funcs (to match new API)
Tom Hacohen [Fri, 9 Sep 2016 09:53:45 +0000 (10:53 +0100)]
Eo: don't allow object override to introduce previously undefined functions.
Carsten Haitzler (Rasterman) [Fri, 9 Sep 2016 09:44:21 +0000 (18:44 +0900)]
eo - move eoid lookup to ptr indir file and clean up some code
this improves the readability of some of the new domain related and
ptr indir code..
Carsten Haitzler (Rasterman) [Fri, 9 Sep 2016 09:42:21 +0000 (18:42 +0900)]
eo test suite - finish off the tests so we're testing all the features
testing all the core features of eo domains now. yes it could be a lot
more extensive but it tests the important day to day cases. this is
the case across most of our tests too - they dont really stress things
out a lot.
Carsten Haitzler (Rasterman) [Fri, 9 Sep 2016 03:50:56 +0000 (12:50 +0900)]
eo - we actually steal the 3rd highest bit for classes - fix
we now just lost another bit from generation count. down to 6 in 32bit
and 26 in 64 bit. this sucks but is necessary. now we are using the
bits just below ref and super bits the code was just maskign off the
next bit as a class marker. this was so so so so wrong. it was the ide
table space. we just never used numbers high enough to start using it.
since i added domain there now those bits can be used easily with
thread domain or other domain. argh! existing eo bug found and fixed.
annoying! :) i added another #define there just to be clear we use
that bit for classes.
Carsten Haitzler (Rasterman) [Fri, 9 Sep 2016 02:19:01 +0000 (11:19 +0900)]
eo class add - dont always call getenv as this is epxensive. get once
so class creation is possibly a little slower thanks to always calling
getenv. get once then store rsult from there on out.
Stefan Schmidt [Fri, 9 Sep 2016 09:09:48 +0000 (11:09 +0200)]
m4: fix the name for ecore-sdl in the pkconfig files.
Like some other libs we need to have a special handling here to get ecore-sdl
into the pc file instead ecore_sdl.
Fixes T4397
Jean Guyomarc'h [Fri, 9 Sep 2016 06:39:02 +0000 (08:39 +0200)]
eo: avoid redefinition of type Efl_Promise
clang complained about type redefinition being a C11 feature, throwing a
warning for each compiling unit including Eo.h.
Cedric BAIL [Thu, 8 Sep 2016 21:51:13 +0000 (14:51 -0700)]
efl: add documentation and last cleanup of the API.
Cedric BAIL [Wed, 7 Sep 2016 23:20:52 +0000 (16:20 -0700)]
eio: implement efl_io_manager_xattr_ls
Cedric BAIL [Wed, 7 Sep 2016 23:20:23 +0000 (16:20 -0700)]
eio: add an internal function for getting xattr in bulk.
Cedric BAIL [Wed, 7 Sep 2016 22:57:25 +0000 (15:57 -0700)]
eio: make xattr list packed for better performance.
Cedric BAIL [Tue, 30 Aug 2016 23:31:41 +0000 (16:31 -0700)]
eio: fix allocation in eio_dir to reuse common safer infra.
Cedric BAIL [Tue, 30 Aug 2016 23:21:30 +0000 (16:21 -0700)]
ecore: fix parenting to be done right on promise and future.
Cedric BAIL [Tue, 30 Aug 2016 23:20:36 +0000 (16:20 -0700)]
ecore: fix optional future promise to not complain of there destruction.
Cedric BAIL [Fri, 26 Aug 2016 23:52:11 +0000 (16:52 -0700)]
eio: fix manager tests.
Cedric Bail [Mon, 1 Aug 2016 04:41:05 +0000 (21:41 -0700)]
eio: rework efl_io_manager to use efl_future.
Cedric Bail [Tue, 2 Aug 2016 21:04:24 +0000 (14:04 -0700)]
eo: add Eina.Binbuf native type.
Cedric Bail [Mon, 1 Aug 2016 04:39:39 +0000 (21:39 -0700)]
eio: add internal function able to build array instead of triggering a callback per files.
Cedric Bail [Mon, 1 Aug 2016 04:37:25 +0000 (21:37 -0700)]
eio: track length of resulting operation to be reported by futures.
Cedric Bail [Thu, 28 Jul 2016 00:17:20 +0000 (17:17 -0700)]
ecore: test efl_future_link.
Cedric BAIL [Tue, 30 Aug 2016 23:30:52 +0000 (16:30 -0700)]
ecore: add efl_future_iterator_race.
Cedric Bail [Wed, 27 Jul 2016 21:28:19 +0000 (14:28 -0700)]
ecore: add test for efl_future_race.
Cedric Bail [Wed, 27 Jul 2016 16:56:07 +0000 (09:56 -0700)]
ecore: add efl_future_race.
Cedric BAIL [Tue, 30 Aug 2016 23:29:49 +0000 (16:29 -0700)]
ecore: add efl_future_iterator_all.
Cedric Bail [Tue, 26 Jul 2016 19:08:48 +0000 (12:08 -0700)]
ecore: add tests for efl_future_all.
Cedric Bail [Tue, 26 Jul 2016 19:08:30 +0000 (12:08 -0700)]
ecore: add efl_future_all.
Cedric BAIL [Thu, 14 Jul 2016 00:07:47 +0000 (17:07 -0700)]
efl: add a possibility to link death of Eo object with a future.
Cedric Bail [Fri, 8 Jul 2016 01:01:38 +0000 (18:01 -0700)]
ecore: add tests for Efl.Promise.
Cedric Bail [Fri, 8 Jul 2016 21:00:43 +0000 (14:00 -0700)]
ecore: add support for optional futures.
Cedric BAIL [Thu, 30 Jun 2016 23:51:06 +0000 (16:51 -0700)]
ecore: add Efl.Promise.
Cedric BAIL [Wed, 29 Jun 2016 23:05:52 +0000 (16:05 -0700)]
efl: remove unecessary legacy_prefix set to null.
Cedric BAIL [Wed, 29 Jun 2016 22:25:22 +0000 (15:25 -0700)]
eolian: add a builtin to handle a free callback.
Cedric BAIL [Wed, 29 Jun 2016 22:00:17 +0000 (15:00 -0700)]
eolian: add support for future.
Future is the read only side of a Promise. For now, I am not removing
Eina_Promise until everything is in place, but eventually the promise
type of eolian will be gone.
Cedric BAIL [Wed, 29 Jun 2016 21:09:40 +0000 (14:09 -0700)]
eo: add abstract efl.future.
Stefan Schmidt [Thu, 8 Sep 2016 09:52:54 +0000 (11:52 +0200)]
examples: elementary: ignore generated codegen example files
Gustavo Sverzut Barbieri [Thu, 8 Sep 2016 19:12:18 +0000 (16:12 -0300)]
efl_net_socket_fd: make it more win32 friendly.
it seems that on windows read() and write() won't work with sockets,
so use recv() and send().
Note that this code is still untested on windows, at least the errors
must be fetched using WSAGetLastError() instead of errno directly, but
I don't have a Windows machine I can test.
Derek Foreman [Thu, 8 Sep 2016 18:21:32 +0000 (13:21 -0500)]
ee_gl_drm: Stop calling fb_dirty
So yeah, fb_dirty is for marking dirty regions when rendering
directly into the front buffer attached for scanout on a manually
updated display. Absolutely none of those things apply here, so
let's stop doing it.
Derek Foreman [Thu, 8 Sep 2016 16:41:03 +0000 (11:41 -0500)]
ecore_drm2: Remove get/set for next fb
We no longer needs these at all.
Derek Foreman [Thu, 8 Sep 2016 16:40:11 +0000 (11:40 -0500)]
ecore_drm2: simplify API to get latest FB
What we've always wanted when getting the "current" FB is to get
the most recently submit one - this may be current, next, or pending.
Replace ecore_drm2_output_current_fb_get() with a function that gets the
most recent one - ecore_drm2_output_latest_fb_get(). Now callers don't
have to check the next buffer themselves first, and we don't have to
add an API for pending.
Derek Foreman [Thu, 8 Sep 2016 03:25:43 +0000 (22:25 -0500)]
ee_drm: simplify flipping
We no longer have to track draw and display buffers - the display buffer
is completely handled by ecore_evas_drm's busy tracking.
Derek Foreman [Fri, 2 Sep 2016 20:38:32 +0000 (15:38 -0500)]
ecore_evas_drm: Use pageflips, not vblanks, to drive animation
This should sort some timing problems.
Derek Foreman [Thu, 8 Sep 2016 03:24:45 +0000 (22:24 -0500)]
ecore_drm2: Add a page flip completion call
Add a function for ecore_evas_drm to call after a page flip happens so
ecore_drm2 can track busy status for fbs itself (including for the fb
that's currently being flipped to scanout)
Also, call the completion function from ecore_evas_drm
Derek Foreman [Thu, 8 Sep 2016 03:16:10 +0000 (22:16 -0500)]
ecore_drm2: distinguish real flip failure from flip deferral
If we try to flip too soon we get EBUSY and should queue up the buffer
for later presentation. Only the other errors need to be dealt with
elsewhere.
Derek Foreman [Thu, 8 Sep 2016 03:13:34 +0000 (22:13 -0500)]
ecore_drm2: make flip to NULL buffer mean something
When triple buffering we'll have a buffer in ecore_drm2's "next" position.
Until now we've had to query it from the engine then try to re post it.
Also, when generating ticks we need to flip to the current buffer when no
changes have been made to get another callback.
Now a NULL fb to fb_flip will either flip to next, if available, or current
if there's nothing new to flip to.
Derek Foreman [Thu, 8 Sep 2016 02:31:08 +0000 (21:31 -0500)]
ee_drm: Get page flips out of the render thread
Now that we have redraws_clear exposed through software generic, we can
use that to do the final buffer swap from the main thread instead of doing
it in outbuf_flush which runs from the render thread.
This becomes more important later when other call sites in the main thread
will perform buffer flips.
Derek Foreman [Thu, 8 Sep 2016 02:25:32 +0000 (21:25 -0500)]
ee_drm: Improve next buffer selection algorithm
When triple buffering it's possible that we'll only need two buffers at
a time for long durations. When we finally call upon a third buffer it
hasn't been used recently enough to do a partial redraw.
By picking the oldest available buffer when multiple buffers are free we
can increase the likelihood of doing partial redraws.
Derek Foreman [Tue, 6 Sep 2016 22:01:37 +0000 (17:01 -0500)]
evas_engines: Add a redraws_clear callback
This gives us a callback from the main thread after outbuf_flush occurs -
this is useful to get timing right on the drm and wayland engines.
Derek Foreman [Fri, 2 Sep 2016 20:24:24 +0000 (15:24 -0500)]
ecore_drm2: Implicitly set buffer busy status when flipping
This simplifies other code that shouldn't need to deal with this.
Derek Foreman [Fri, 2 Sep 2016 19:47:49 +0000 (14:47 -0500)]
ee_drm: Move all ticking into ecore_evas_drm and use new tick system
Combines all the gl_drm and drm ticking code into one set in
ecore_evas_drm and uses the new evas tick register/unregister callbacks
to set it up.
Derek Foreman [Fri, 2 Sep 2016 18:59:12 +0000 (13:59 -0500)]
ecore_drm2: Add a function to set the pageflip callback data once
Instead of passing the user data for the page flip callback every time,
set it just once.
This will make it easier to push tick logic into ecore_evas_drm, as there
will be a transitional period where page flips are driven in two places
that don't have access to the same pointers.
Derek Foreman [Fri, 2 Sep 2016 17:18:06 +0000 (12:18 -0500)]
ee_drm: use the ecore_drm2_fb busy bit
Use the new busy getter/setter on the fb instead of keeping state in the
outbuf
Derek Foreman [Fri, 2 Sep 2016 17:17:01 +0000 (12:17 -0500)]
ecore_drm2: Add busy status to ecore_drm2_fb
We've been tracking this in the outbuf code, but that logic is going to
be moved into ecore_evas_drm to use the new ticking paradigm.
Derek Foreman [Fri, 2 Sep 2016 16:07:17 +0000 (11:07 -0500)]
ecore_evas_drm: Refactor common code
ecore_evas_gl_drm_new_internal and ecore_Evas_drm_new_internal are huge
functions differing in very few lines. Combined them.
Derek Foreman [Thu, 1 Sep 2016 19:53:47 +0000 (14:53 -0500)]
ecore_evas_drm: check for libglapi presence first
Minor refactor
Derek Foreman [Tue, 30 Aug 2016 20:47:17 +0000 (15:47 -0500)]
evas_engines: Add fn_evas_changed callback
To allow using the pageflip completion event to drive timing in the DRM
engine we need to know as soon as possible that a render has been after
a render has been considered if it will cause a page flip or not.
The fn_evas_changed callback sends this information.
Derek Foreman [Thu, 8 Sep 2016 02:19:30 +0000 (21:19 -0500)]
ee_drm: Fix max buffer age
The highest possible buffer age should actually be 4, not the number of
available buffers.
Tom Hacohen [Thu, 8 Sep 2016 12:08:08 +0000 (13:08 +0100)]
Eo: Make function overrides implicit.
Before this commit, function overrides were explicit. That is, you'd
have to explicitly state you were overriding a function instead of
creating a new one. This made the code a tad more complex, and was also
a bit more annoying to use. This commit removes this extra piece of
information.
This means we now store much less information per function, that will
let us further optimise out structures in the future.