platform/upstream/efl.git
8 years agoeolian: add a new references system to help replace pointers
Daniel Kolesa [Mon, 6 Jun 2016 14:22:56 +0000 (15:22 +0100)]
eolian: add a new references system to help replace pointers

It's now possible to mark struct fields and function params as "references",
which causes them to become pointers in C (in bindings, they become whatever
is necessary). They're not a part of the type and are much more restricted
than pointers, allowing bindings to be easier. This system will be gradually
utilized and expanded as required.

@feature

8 years agoexamples: eio: remove unused variable
Stefan Schmidt [Mon, 6 Jun 2016 13:18:46 +0000 (15:18 +0200)]
examples: eio: remove unused variable

8 years agoexamples: eio: mark unused parameter as such
Stefan Schmidt [Mon, 6 Jun 2016 13:16:36 +0000 (15:16 +0200)]
examples: eio: mark unused parameter as such

Really shutting up warnings here to see what else the compiler has to say.

8 years agotests: evas: remove unused variable
Stefan Schmidt [Mon, 6 Jun 2016 12:49:33 +0000 (14:49 +0200)]
tests: evas: remove unused variable

We set it but never going to use it afterwards. We already tests the
efl_gfx_buffer_colorspace_get() elsewhere in this tests so we can ignore it
for now until we need it and bring it back together with a user.

8 years agoelementary_code: Fix test failures post-merge
Andy Williams [Mon, 6 Jun 2016 13:14:24 +0000 (14:14 +0100)]
elementary_code: Fix test failures post-merge

Looks like some were legitimate failures that were not being caught
in the previous setup

8 years agoelementary_code: Use correct theme file post-merge
Andy Williams [Sun, 5 Jun 2016 23:01:34 +0000 (00:01 +0100)]
elementary_code: Use correct theme file post-merge

8 years agoMerge elm code, a code editing widget into the efl
Tom Hacohen [Sun, 5 Jun 2016 10:12:13 +0000 (11:12 +0100)]
Merge elm code, a code editing widget into the efl

It was decided to merge this and mark the code as BETA for now.
It's currently being used by EDI and should also be used by enventor and etc.

8 years agobenchmark: remove unused variable
Stefan Schmidt [Mon, 6 Jun 2016 12:17:07 +0000 (14:17 +0200)]
benchmark: remove unused variable

Looks like this was forgotten during some re-factoring of the code.

8 years agobenchmark: mark parameter as unused to ignore compile warning
Stefan Schmidt [Mon, 6 Jun 2016 12:16:28 +0000 (14:16 +0200)]
benchmark: mark parameter as unused to ignore compile warning

8 years agoeolian_cxx: add missing libgen.h include for basename() to fix build on OS X
Stefan Schmidt [Mon, 6 Jun 2016 09:07:51 +0000 (11:07 +0200)]
eolian_cxx: add missing libgen.h include for basename() to fix build on OS X

On Linux this went through and has gone unnoticed. basename() needs libgen.h
though and eolian_cxx was not including it.

8 years agoedje_edit: return lost API *_span_row/col_set declaration
Vyacheslav Reutskiy [Mon, 6 Jun 2016 07:42:14 +0000 (10:42 +0300)]
edje_edit: return lost API *_span_row/col_set declaration

I'm lost this declaration while add API for manager part items by
index and mark as deprecated old funcs

8 years agoeio: Fix leaks in tests
Lauro Moura [Mon, 6 Jun 2016 07:26:02 +0000 (04:26 -0300)]
eio: Fix leaks in tests

8 years agoelm: Add support for Efl.Model in Elm.Fileselector
Vitor Sousa [Mon, 6 Jun 2016 07:16:57 +0000 (04:16 -0300)]
elm: Add support for Efl.Model in Elm.Fileselector

Elm.Interface.Fileselector now supports Efl.Model objects, allowing users
to work with paths from different data models.

Example of model attribution:

ELm_Fileselector *fs = eo_add(EFL_FILESELECTOR_CLASS, NULL);
Efl_Model *model = ...;
elm_interface_fileselector_model_set(fs, model, NULL);

8 years agoeo-cxx: Remove commented headers
Felipe Magno de Almeida [Mon, 6 Jun 2016 07:09:23 +0000 (04:09 -0300)]
eo-cxx: Remove commented headers

8 years agoeolian-cxx: Fix compilation error on clang with const UDT initialization
Felipe Magno de Almeida [Mon, 6 Jun 2016 06:49:16 +0000 (03:49 -0300)]
eolian-cxx: Fix compilation error on clang with const UDT initialization

8 years agoeolian-cxx: fix compilation errors an olders gcc
Larry Jr [Mon, 6 Jun 2016 06:28:33 +0000 (03:28 -0300)]
eolian-cxx: fix compilation errors an olders gcc

8 years agoeio: fix free eina_promises in error_callbacks
Larry Jr [Mon, 6 Jun 2016 06:10:24 +0000 (03:10 -0300)]
eio: fix free eina_promises in error_callbacks

8 years agoeina: eina_promise_all callback cast removed
Larry Jr [Mon, 6 Jun 2016 05:20:44 +0000 (02:20 -0300)]
eina: eina_promise_all callback cast removed

8 years agoeina: Avoid promise early deletion when cancelled.
Lauro Moura [Mon, 6 Jun 2016 05:54:18 +0000 (02:54 -0300)]
eina: Avoid promise early deletion when cancelled.

Cancelling a promise will fulfill it but won't actually free the memory. This
memory is under custody of the owner, who must either call value_set or
error_set to finish it.

8 years agoeolian-cxx: Rewrite to accomodate new features of the C++ binding
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:54:36 +0000 (02:54 -0300)]
eolian-cxx: Rewrite to accomodate new features of the C++ binding

8 years agoeina-cxx: Add placeholder for futures in C++ binding
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:50:36 +0000 (02:50 -0300)]
eina-cxx: Add placeholder for futures in C++ binding

8 years agoeina-cxx: Fix wrongful operator++ for iterator and docs
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:50:13 +0000 (02:50 -0300)]
eina-cxx: Fix wrongful operator++ for iterator and docs

8 years agoeina-cxx: Add c_str() to string_view
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:47 +0000 (02:49 -0300)]
eina-cxx: Add c_str() to string_view

8 years agoeina-cxx: Restrict templated constructor
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:28 +0000 (02:49 -0300)]
eina-cxx: Restrict templated constructor

8 years agoeina-cxx: Add optional specialization for pointer types
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:49:00 +0000 (02:49 -0300)]
eina-cxx: Add optional specialization for pointer types

8 years agoelm: Fix wrong use of char instead of string and void out parameter
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:47:15 +0000 (02:47 -0300)]
elm: Fix wrong use of char instead of string and void out parameter

8 years agoedje: Fix wrongful uses of char instead of string in Eolian
Felipe Magno de Almeida [Mon, 6 Jun 2016 05:46:39 +0000 (02:46 -0300)]
edje: Fix wrongful uses of char instead of string in Eolian

8 years agoeio: treat Eina_Accessor NULL as success instead of failure in model
Larry Jr [Mon, 6 Jun 2016 01:24:52 +0000 (22:24 -0300)]
eio: treat Eina_Accessor NULL as success instead of failure in model

We treated as errors when Eina_Accessor was NULL, which meant
that we could never get an empty range os children. Treat it
as success and pass an empty Eina_Accessor

8 years agoeio: Add mime_type property in Eio_Model
Larry Jr [Mon, 6 Jun 2016 00:21:43 +0000 (21:21 -0300)]
eio: Add mime_type property in Eio_Model

8 years agoeio: Eio_Model parent_get return parent model
Larry Jr [Sun, 5 Jun 2016 23:52:52 +0000 (20:52 -0300)]
eio: Eio_Model parent_get return parent model

8 years agoeio: Fix Eio_Model promise accessor
Larry Jr [Sun, 5 Jun 2016 23:31:21 +0000 (20:31 -0300)]
eio: Fix Eio_Model promise accessor

8 years agoecore: Fix ecore thread promises
Lauro Moura [Sun, 5 Jun 2016 23:19:41 +0000 (20:19 -0300)]
ecore: Fix ecore thread promises

Make sure we free the promise memory, set MAGIC numbers and avoid
leaking the underlying eina promise

8 years agoeina: Fix promise tests and avoid early deletion
Lauro Moura [Sun, 5 Jun 2016 19:10:52 +0000 (16:10 -0300)]
eina: Fix promise tests and avoid early deletion

- Progress notify refcount fixes, avoiding early deletion
- Avoid leaking memory on tests

8 years agoeina: Fixes on promises benchmark
Lauro Moura [Sat, 4 Jun 2016 16:49:51 +0000 (13:49 -0300)]
eina: Fixes on promises benchmark

- Updated after pointer vs value change
- Updated callbacks after removal of promise argument

8 years agoeo: Fix compilation of benchmark
Lauro Moura [Sat, 4 Jun 2016 16:51:42 +0000 (13:51 -0300)]
eo: Fix compilation of benchmark

- Missing Eo* self in method declarations.
- Gcc complaining about variable-sized object being initialized.

8 years agoeolian: Fix generating pointer promises for class types
Felipe Magno de Almeida [Sun, 5 Jun 2016 19:50:54 +0000 (16:50 -0300)]
eolian: Fix generating pointer promises for class types

8 years agoEo: fix reference hack when calling composite objects.
Tom Hacohen [Sun, 5 Jun 2016 14:16:58 +0000 (15:16 +0100)]
Eo: fix reference hack when calling composite objects.

We used to keep a reference to the parent object and have it in the call
structure although we were actually calling the function on the embedded
object. This was needed because we wanted to unref the parent correctly.
This was incorrect (and marked as a hack) and now I finally gotten
around to implementing the (amazingly simple) fix to remove this
workaround.

Essentially we just ref the comp object, unref the parent, and let the
normal eo call flow to unref the comp object correctly later on, like it
would have unreffed the extra ref we had for the parent.

8 years agoFDO icons: and finally install the icons in fdo format
Dave Andreoli [Sun, 5 Jun 2016 14:12:01 +0000 (16:12 +0200)]
FDO icons: and finally install the icons in fdo format

After this commit you will find a new icon theme in your system,
it is called Enlightenment-X and is build using the same icons used
in the elm theme. Using this theme you can have non-efl
and efl apps to use the same icons.

#StupidAutotools that require me to list each icon and each folder
to be able to install them

8 years agoEeze scanner: Fix setting of SUID.
Tom Hacohen [Sun, 5 Jun 2016 12:51:15 +0000 (13:51 +0100)]
Eeze scanner: Fix setting of SUID.

I guess eeze scanner was not operational at all because the SUID bit was
never set. The reason for that was that where it was put in the makefile
made it not be a make rule (where @ would have worked) but used by a special
autofoo rule.

8 years agogitignore++
Dave Andreoli [Sun, 5 Jun 2016 10:37:08 +0000 (12:37 +0200)]
gitignore++

8 years agoecore_evas_cocoa: better handling of resize callback
Jean Guyomarc'h [Sun, 5 Jun 2016 09:47:59 +0000 (11:47 +0200)]
ecore_evas_cocoa: better handling of resize callback

8 years agoevas-gl_cocoa: resize the gl context before resizing the window
Jean Guyomarc'h [Sun, 5 Jun 2016 09:38:49 +0000 (11:38 +0200)]
evas-gl_cocoa: resize the gl context before resizing the window

This order seems more right. It does not have a visible
impact though...

8 years agoecore_cocoa: fix main loop handling
Jean Guyomarc'h [Sun, 5 Jun 2016 09:29:25 +0000 (11:29 +0200)]
ecore_cocoa: fix main loop handling

Pffff... another tricky one...

-windowDidResize is actually also called when the window is not
resize by the user, leading to multiple event posting, and of
course the infamous call of ecore_main_loop_iterate() when it
was not paused at all, leading to messy events handling... the
most visible being the initial resizing of the window going rogue.

We now ensure with -windowWillStartLiveResize and -windowDidEndLiveResize
that we only send an event when the user requested it. Since the main
loop is paused at this point, calling ecore_main_loop_iterate()
becomes safe.

Fixes T3648

8 years agoecore_audio: remove useless eo data in core audio
Jean Guyomarc'h [Sun, 5 Jun 2016 07:26:29 +0000 (09:26 +0200)]
ecore_audio: remove useless eo data in core audio

8 years agoEina promise: Fix broken return value.
Tom Hacohen [Sun, 5 Jun 2016 10:00:47 +0000 (11:00 +0100)]
Eina promise: Fix broken return value.

I broke it in dc73f6644e0ed8fdbd2c6c8187591fb7eb8027c7.
Excuse of the day: I'm not working from my usual spot and there's screen glare
here that made me not see the *. Good excuse?

8 years agoGeneric modules: Fix out of source build.
Tom Hacohen [Sun, 5 Jun 2016 09:40:02 +0000 (10:40 +0100)]
Generic modules: Fix out of source build.

Autotools really really really sucks.
Because of the above, we need to manually list both source dirs and
build dirs, because some of the include files are in the source dirs and
some are in the build dir (generated).

8 years agoEina promise: Simplify code and remove shadow variable.
Tom Hacohen [Sun, 5 Jun 2016 09:39:13 +0000 (10:39 +0100)]
Eina promise: Simplify code and remove shadow variable.

There was no need for the extra variable. This also fixes a shadow
warning.

8 years agoEo: remove strict class checking for composite objects.
Tom Hacohen [Sun, 5 Jun 2016 08:58:19 +0000 (09:58 +0100)]
Eo: remove strict class checking for composite objects.

When compositing objects, we were checking that class_of(B) is in A's
inheritance tree before allowing attaching B as a composite object of A.
This is wrong and breaks a few cases, for example: B extends a class that
is in A's inheritance tree or B implements an interface that is in A's
inheritance tree.

Thanks to Marcel for reporting.

8 years agoEnable evas loaders by default, if dependencies are found
Dave Andreoli [Sat, 4 Jun 2016 19:45:28 +0000 (21:45 +0200)]
Enable evas loaders by default, if dependencies are found

I really cannot see why we should require to use --enable-feature on those, they should be safe.

8 years agoFix report for image loaders
Dave Andreoli [Sat, 4 Jun 2016 18:19:54 +0000 (20:19 +0200)]
Fix report for image loaders

In the final report we want to show if the loader is enabled, not if it's wanted

8 years agoFix building of librsvg if requested
Dave Andreoli [Sat, 4 Jun 2016 18:10:04 +0000 (20:10 +0200)]
Fix building of librsvg if requested

This typo was preventing the svg loader to be built in every cases

8 years agoecore_cocoa: fix broken scrolling
Jean Guyomarc'h [Sat, 4 Jun 2016 14:34:30 +0000 (16:34 +0200)]
ecore_cocoa: fix broken scrolling

Evas events recently changed, and involved the use
of the 'multi' field within a mouse mouve event.
It was used afterwards for mouse scrolling, but since
it was never set by ecore_cocoa, scrolling went
broken...

Fixes T3789

8 years agoelementary: remove redundant code
Jean Guyomarc'h [Sat, 4 Jun 2016 14:19:00 +0000 (16:19 +0200)]
elementary: remove redundant code

The same checks are performed later on.
There is no use doing it twice.

Only affects Cocoa windows.

8 years agoecore_cocoa: fix window hiding logic
Jean Guyomarc'h [Sat, 4 Jun 2016 14:00:50 +0000 (16:00 +0200)]
ecore_cocoa: fix window hiding logic

8 years agoecore_cocoa: remove extra whitespaces
Jean Guyomarc'h [Sat, 4 Jun 2016 13:58:27 +0000 (15:58 +0200)]
ecore_cocoa: remove extra whitespaces

8 years agoedje: don't return a boolean when a pointer is expected
Jean Guyomarc'h [Sat, 4 Jun 2016 14:51:38 +0000 (16:51 +0200)]
edje: don't return a boolean when a pointer is expected

Fix a warning thrown by Apple-llvm.

8 years agoelm_config: force icons in preview to keep aspect ratio
Dave Andreoli [Sat, 4 Jun 2016 09:42:42 +0000 (11:42 +0200)]
elm_config: force icons in preview to keep aspect ratio

#SizeHintsMess... I really cannot understand why aspect_fixed is not respected :(

8 years agoConfigure: 2 small in-string quote changes
Dave Andreoli [Sat, 4 Jun 2016 08:54:40 +0000 (10:54 +0200)]
Configure: 2 small in-string quote changes

This should be harmless and just fix syntax hilighting is some editors (geany at least)

8 years agoeina: Fix magic check for eina_promise_owner_buffer_get
Felipe Magno de Almeida [Sat, 4 Jun 2016 00:53:29 +0000 (21:53 -0300)]
eina: Fix magic check for eina_promise_owner_buffer_get

8 years agoeina: Fix EINA_MAGIC and eina_promise_then NULL check
Felipe Magno de Almeida [Sat, 4 Jun 2016 00:42:23 +0000 (21:42 -0300)]
eina: Fix EINA_MAGIC and eina_promise_then NULL check

8 years agoecore: add a test for detecting the double free problem.
Cedric BAIL [Fri, 3 Jun 2016 23:59:55 +0000 (16:59 -0700)]
ecore: add a test for detecting the double free problem.

8 years agoecore: properly handle double free case of timeout promise.
Cedric BAIL [Fri, 3 Jun 2016 23:57:53 +0000 (16:57 -0700)]
ecore: properly handle double free case of timeout promise.

The bug came from the fact we need to handle the destruction of the
main loop which destroy the underlying timer. The event handler that
catch the destruction of the timer can not make the difference between
eo_del call from the timeout code and eo_del from the main loop
destruction. By removing the event handler, the double free is properly
avoided.

8 years agoecore: use EINA_ERROR_PROMISE_CANCEL instead of a custom Ecore one.
Cedric BAIL [Fri, 3 Jun 2016 23:57:30 +0000 (16:57 -0700)]
ecore: use EINA_ERROR_PROMISE_CANCEL instead of a custom Ecore one.

8 years agoecore: do not generate error while rescheduling the last timer.
Cedric BAIL [Fri, 3 Jun 2016 23:55:56 +0000 (16:55 -0700)]
ecore: do not generate error while rescheduling the last timer.

8 years agoeina: protect promise death during callbacks cancel.
Cedric BAIL [Fri, 3 Jun 2016 23:54:38 +0000 (16:54 -0700)]
eina: protect promise death during callbacks cancel.

8 years agoecore: Ecore_Cb is used by elm_box.eo.
Cedric BAIL [Fri, 3 Jun 2016 23:45:12 +0000 (16:45 -0700)]
ecore: Ecore_Cb is used by elm_box.eo.

8 years agoecore: Efl.Timer should be Efl.Loop.Timer for coherence.
Cedric BAIL [Fri, 3 Jun 2016 23:01:08 +0000 (16:01 -0700)]
ecore: Efl.Timer should be Efl.Loop.Timer for coherence.

As we add more object in the main loop, they can't live in the top
namespace as they make little sense there (Efl.Fd !). For coherence,
everyone should in the loop namespace, so move timer there.

8 years agoecore: remove Ecore_Animator Eo object.
Cedric BAIL [Fri, 3 Jun 2016 22:44:40 +0000 (15:44 -0700)]
ecore: remove Ecore_Animator Eo object.

This is only a legacy API.

8 years agoeina: Remove Eina_Promise* parameter to callbacks to promises in examples
Felipe Magno de Almeida [Fri, 3 Jun 2016 23:03:13 +0000 (20:03 -0300)]
eina: Remove Eina_Promise* parameter to callbacks to promises in examples

8 years agoeina: Add NULL checks and EINA_MAGIC checks to promises
Felipe Magno de Almeida [Fri, 3 Jun 2016 23:02:02 +0000 (20:02 -0300)]
eina: Add NULL checks and EINA_MAGIC checks to promises

Add NULL checks and EINA_MAGIC checks that avoid crashing when it
shouldn't.

8 years agoeina: Remove more Eina_Promise* parameter in promise callback
Felipe Magno de Almeida [Fri, 3 Jun 2016 21:34:42 +0000 (18:34 -0300)]
eina: Remove more Eina_Promise* parameter in promise callback

Remove not very useful parameter to eina_promise_then callbacks.

8 years agowayland_shm: Fix more dmabuf failure corner cases
Derek Foreman [Fri, 3 Jun 2016 21:27:14 +0000 (16:27 -0500)]
wayland_shm: Fix more dmabuf failure corner cases

With the exynos allocator a failure can happen during a resize, and the
resize path wasn't properly falling back to wl_shm buffering.

8 years agopsd_loader: Fix bad assumption about signedness of chars
Derek Foreman [Fri, 3 Jun 2016 21:25:50 +0000 (16:25 -0500)]
psd_loader: Fix bad assumption about signedness of chars

Whether "char" is signed or unsigned is architecture dependent, so if we
know we need a -1 in a char type we must declared it to be signed.

8 years agoecore_anim: Fix bad assumption about signedness of chars
Derek Foreman [Fri, 3 Jun 2016 21:24:26 +0000 (16:24 -0500)]
ecore_anim: Fix bad assumption about signedness of chars

Whether "char" is signed or unsigned is architecture dependent, so if we
know we need a -1 in a char type we must declared it to be signed.

8 years agoelementary: merge in elm_code example.
Cedric BAIL [Fri, 3 Jun 2016 21:17:27 +0000 (14:17 -0700)]
elementary: merge in elm_code example.

8 years agoeina: Remove Eina_Promise* parameter in promise callback
Felipe Magno de Almeida [Fri, 3 Jun 2016 21:15:57 +0000 (18:15 -0300)]
eina: Remove Eina_Promise* parameter in promise callback

Remove not very useful parameter to eina_promise_then callbacks.

8 years agoelementary: make elm_code a BETA API.
Cedric BAIL [Fri, 3 Jun 2016 21:04:36 +0000 (14:04 -0700)]
elementary: make elm_code a BETA API.

8 years agoelementary: integrate elm_code theme.
Cedric BAIL [Fri, 3 Jun 2016 20:55:24 +0000 (13:55 -0700)]
elementary: integrate elm_code theme.

8 years agoeolian-cxx: Fix C++ example compilation
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:54:16 +0000 (16:54 -0300)]
eolian-cxx: Fix C++ example compilation

8 years agoeina: Fix examples using new Eina_Promise semantics
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:53:54 +0000 (16:53 -0300)]
eina: Fix examples using new Eina_Promise semantics

8 years agoeina: Remove unnecessary indirection to promises
Felipe Magno de Almeida [Fri, 3 Jun 2016 19:52:03 +0000 (16:52 -0300)]
eina: Remove unnecessary indirection to promises

Now when dealing with pointer types, we will not get pointer to
pointer semantics in callbacks and eina_promise_owner_value_set
for Eina_Promise.

It will work as expected:

Eina_Promise_Owner* promise = eina_promise_add();

void* p = malloc(sizeof(T));
eina_promise_owner_value_set(promise, p, &free);

8 years agoautotools: use DISTCLEAN rules to properly destroy files.
Cedric BAIL [Fri, 3 Jun 2016 18:11:05 +0000 (11:11 -0700)]
autotools: use DISTCLEAN rules to properly destroy files.

8 years agoector: variable in _SOURCES do not work.
Cedric BAIL [Fri, 3 Jun 2016 18:10:27 +0000 (11:10 -0700)]
ector: variable in _SOURCES do not work.

This fix the left over etc .deps during make distcheck.

8 years agowayland_shm: Add exynos allocator for dmabuf
Derek Foreman [Thu, 2 Jun 2016 12:06:26 +0000 (07:06 -0500)]
wayland_shm: Add exynos allocator for dmabuf

Allows clients on exynos hardware to allocate GEM buffer objects
to back DMAbuf buffers.

8 years agowayland_shm: Abstract out dmabuf management
Derek Foreman [Wed, 1 Jun 2016 20:52:05 +0000 (15:52 -0500)]
wayland_shm: Abstract out dmabuf management

Split out the intel specific stuff into an abstraction in preparation for
adding exynos support.

8 years agoEina: Fix eina_promise_all refcount ordering problem
Larry Jr [Thu, 2 Jun 2016 16:59:23 +0000 (13:59 -0300)]
Eina: Fix eina_promise_all refcount ordering problem

The call to eina_promise_then steals the first ref'count, so it is
possible that the promise is freed after the eina_promise_then,
so we need to eina_promise_ref before eina_promise_then.

8 years agoevas: Get pixels from rendered 3D scene
Oleksandr Shcherbina [Fri, 3 Jun 2016 11:22:33 +0000 (14:22 +0300)]
evas: Get pixels from rendered 3D scene

Summary:
Implemented interface Efl.Gfx.Buffer functions bufer_map/unmap for Efl.Canvas3D.Scene.
Added function e3d_drawable_texture_rendered_pixels_get to module evas_gl_3d
to getting pixels from FBO. Added wrappers for functions
e3d_drawable_texture_rendered_pixels_get and e3d_drawable_texture_id_get
to have possibility call it through engine functions.

Reviewers: cedric, Hermet, raster, jpeg

Reviewed By: jpeg

Subscribers: jpeg

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

8 years agoevas: fix huge memory leak for non-async rendering
Jean Guyomarc'h [Fri, 3 Jun 2016 10:08:40 +0000 (12:08 +0200)]
evas: fix huge memory leak for non-async rendering

So... I had issues with evas-fb engine which was massively leaking,
one image per frame.
After investigating a bit with @cedric on IRC, the reference count
of the cache entries was always 2 before the engine dropped.
So, for each frame with an animation, we could never drop a cache
entry, leading to a trumendous amount of memory leaking.

Now for non-async rendering, we copy the behaviour of
evas_render_pipe_wakeup() which is called in async-mode,
and actually drops a reference in the cache entry.

Fixes T3763

8 years agoedje_edit: add API for set/get part item
Vyacheslav Reutskiy [Fri, 3 Jun 2016 09:26:57 +0000 (12:26 +0300)]
edje_edit: add API for set/get part item

8 years agoecore timeouts - dont crash on cancel
Carsten Haitzler (Rasterman) [Fri, 3 Jun 2016 08:57:58 +0000 (17:57 +0900)]
ecore timeouts - dont crash on cancel

this fixes a nasty double deletion on cancel of timeouts. at least for
now as long as we have promises.

8 years agofix warning in build with uninit variable in generic loaders for xcf
Carsten Haitzler (Rasterman) [Fri, 3 Jun 2016 09:07:22 +0000 (18:07 +0900)]
fix warning in build with uninit variable in generic loaders for xcf

8 years agoelm_image: fix break related with elm image error enum
Ji-Youn Park [Fri, 3 Jun 2016 08:44:37 +0000 (17:14 +0830)]
elm_image: fix break related with elm image error enum

8 years agoEfl.Pack: Replace pack_direction with Efl.Orientation
Jean-Philippe Andre [Fri, 3 Jun 2016 06:55:29 +0000 (15:55 +0900)]
Efl.Pack: Replace pack_direction with Efl.Orientation

Since I first made the pack_direction before orientation
existed, the names didn't match. This should improve API
consistency.

8 years agoFix legacy name of elm_win_efl_screen_dpi_get()
Dave Andreoli [Fri, 3 Jun 2016 06:50:58 +0000 (08:50 +0200)]
Fix legacy name of elm_win_efl_screen_dpi_get()

...spank again goes to Ji-Youn Park, that insist to not even try his work

8 years agoelm_win: remove main_menu, window_id, fake_canvas property from eo
Ji-Youn Park [Fri, 3 Jun 2016 06:36:13 +0000 (15:06 +0830)]
elm_win: remove main_menu, window_id, fake_canvas property from eo

8 years agoelm_test: Add test case for event refeed
Jean-Philippe Andre [Fri, 3 Jun 2016 02:56:57 +0000 (11:56 +0900)]
elm_test: Add test case for event refeed

Not sure if this test case is really good, but it was
necessary to prove that input event refeed can work from
application side. This is a feature that should work
but shouldn't be used :)

8 years agoelm_win: Forward events between window and evas
Jean-Philippe Andre [Thu, 2 Jun 2016 05:36:55 +0000 (14:36 +0900)]
elm_win: Forward events between window and evas

This does:
1. Forward keyboard events from evas to win
2. Allow feeding external input events

Input events can be faked by apps by simply forging
eo objects of the proper type (key or pointer evt) and
calling eo_event_callback_call().

Such events will be forwarded to the internal Evas, and
some bool flags prevent infinite refeeding loops.

efl_event_dup() returns fake events for this to work.

@feature

8 years agoelm: Partially revert "elementary: avoid random memory access."
Jean-Philippe Andre [Fri, 3 Jun 2016 03:01:35 +0000 (12:01 +0900)]
elm: Partially revert "elementary: avoid random memory access."

This reverts commit ac5a0b7e79d6b32285bd7b794f050826f38cc7c2.

I added assert(pd == sd) in the modified code and couldn't find
anything suspicious. The proper class is used in eo_data_scope_get().
I also can't find a crash or a bug currently in hover. I know there
was a problem earlier, but that was fixed in 3092e08a83f754ba8d49c.

Now, if there is still a problem, we should check it carefully.
Pinging @cedric

8 years agoEfl.Ui.Box: Fix direction set
Jean-Philippe Andre [Thu, 2 Jun 2016 09:32:47 +0000 (18:32 +0900)]
Efl.Ui.Box: Fix direction set

VERTICAL means UP but UP was ignored...

8 years agoedje_edit: add API for get part item attributes by item index
Vyacheslav Reutskiy [Thu, 2 Jun 2016 14:40:00 +0000 (17:40 +0300)]
edje_edit: add API for get part item attributes by item index

Cedric revert patch 6f7608befd006f8076d237bee5d17c9e9e1e09ac same days
ago.

<quote Cedric>
Your patch 6f7608befd006f8076d237bee5d17c9e9e1e09ac did break elemines
which does relly on the proper index to be given to it. I think
Edje_Edit should be fine and use the index if no name is provided (See
edje_load.c around L1180). In all case this was clearly an ABI break and
needed to be reverted.
</quote Cedric>

So now edje_cc not guarantee name for part items. This is bad, because
edje_edit use item name for access to item attributes. If item have not
name we cann't get it attributes, because edje_edit compare the given
name with part items name from edj-file, strcmp dislake NULL args.
For now I see one way mark all edje_edit_part_item* APIs as deprecated
and add new APIs for manage part items by index.

For clearly and history:
The eason for revert - https://phab.enlightenment.org/D3820
The proposed solution - https://phab.enlightenment.org/D3907