Commit Graph

14089 Commits

Author SHA1 Message Date
Oleksandr Shcherbina e3eb246e2c evas: fix typo in description of the engine functions.
Reviewers: Hermet, raster, cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 16:40:25 -07:00
Oleksandr Shcherbina 6c580faad9 evas: fix order binding attributes to gl.
Summary:
In same cases(devices) can lead to mix up attributes in shaders.
@fix

Reviewers: cedric, Hermet, raster

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 16:39:41 -07:00
Benjamin Jacobs 32fd16dfc0 evas: button_mask as unsigned, UB fixes.
Summary:
* pointer.button is DATA32 which is unsigned, so this changes the
  definition of pointer_button_down_mask accordingly.

* Avoids UB in mask generation:
lib/evas/canvas/evas_events.c:1348:37: runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 16:34:05 -07:00
Cedric BAIL 2db02da4bd ecore: make sure lifecycle of Efl.Loop.Fd is correct. 2016-06-06 16:29:16 -07:00
Cedric BAIL ef0df96da1 ecore: properly reset fd handler when parent get deleted. 2016-06-06 16:29:16 -07:00
Andy Williams da1506d4e8 elementary: Fix elm_code theme lookup and use correct naming 2016-06-06 23:59:52 +01:00
Cedric BAIL cd0b50fada ecore: add a tests that ensure we do implement lifecycle correctly. 2016-06-06 15:41:24 -07:00
Cedric BAIL d8d00bd228 ecore: migrate ecore_timer lifecycle to rely cleanly on Eo lifecycle. 2016-06-06 15:41:24 -07:00
Jean Guyomarc'h dec1d251dc eina: ensure resource destruction on failure
In case of failure within eina_lock_new() (posix), a
pthread_mutexattr_t would have been left in an initialized state,
without any deinitialization being called.

Consequences would have been implementation defined.
2016-06-06 23:45:18 +02:00
Benjamin Jacobs 109d040e3d ecore-xcb: Fix XCB to be usable again
Summary:
Well mostly, it seems there is an issue with multi-key events and
enlightenment. Let's merge this first before opening a ticket.

Reviewers: devilhorns

Subscribers: cedric, jpeg

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

@fix
2016-06-06 15:46:24 -04:00
Cedric BAIL 0554d2ef12 elementary: export symbol used by tests suite. 2016-06-06 12:11:07 -07:00
Benjamin Jacobs 731e88061a eina_thread.c: fix include guard.
DragonFlyBSD has pthread_setname_np but no pthread_setaffinity_np;
we still need to include pthread_np though.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Benjamin Jacobs 35bae18e43 eio: fix pointer comparison.
Fix a warning on dragonfly.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Benjamin Jacobs 1ad2a2bd52 ecore_audio: uncondionally include libgen.h.
Basically everyone should have it.  If not, maybe we should consider
to test the value of _POSIX_C_SOURCE before testing platform specific
defines, or adding a feature check.

Fixes the following warning on DragonFlyBSD:

lib/ecore_audio/ecore_audio_obj_out_pulse.c:282:60: warning: implicit declaration of function 'basename' [-Wimplicit-function-declaration]
        class_vars.context = pa_context_new(class_vars.api, basename(argv[0]));
	                                                            ^
lib/ecore_audio/ecore_audio_obj_out_pulse.c:282:60: warning: passing argument 2 of 'pa_context_new' makes pointer from integer without a cast [-Wint-conversion]
In file included from /usr/local/include/pulse/pulseaudio.h:29:0,
                 from lib/ecore_audio/ecore_audio_private.h:17,
                 from lib/ecore_audio/ecore_audio_obj_out_pulse.c:18:
/usr/local/include/pulse/context.h:172:13: note: expected 'const char *' but argument is of type 'int'
 pa_context *pa_context_new(pa_mainloop_api *mainloop, const char *name);
             ^

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Benjamin Jacobs d41b47f47e ecore_time.c: do not mess with the representation of clockid_t.
Clockid_t should be used as an opaque type. Some platform might want
to (and even do, e.g. DragonFlyBSD) declare clockid_t as an unsigned.

On such platform, testing the sign of clockid_t is never false, and
assigning it a negative value is an UB, which makes this code unlikely to
work as intended. Fixes black window on dragonfly!

Thanks to gcc for spotting this.

  CC       lib/ecore/lib_ecore_libecore_la-ecore_time.lo
  In file included from ../src/lib/eina/Eina.h:215:0,
                   from lib/ecore/Ecore.h:304,
                   from lib/ecore/ecore_time.c:18:
                   lib/ecore/ecore_time.c: In function 'ecore_time_get':

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Benjamin Jacobs b548a6396b ecore_signal.c: factoring out the platform test to improve readability.
Turns out there is no PRI?SIGATOMIC in the C99 standard. Work around
that by deducing the effective integer type by comparing the
SIG_ATOMIC_MAX with integers *MAX.

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-06-06 12:05:43 -07:00
Chris Michael 180e64653d elput: Fix crash whem sd_session_get_seat fails
If systemd fails to give us a valid session id, then any further calls
to get a seat from that session are going to fail. As such, check for
a valid seat return from systemd before calling any systemd functions
which require session id.

Fixes T3785

@fix

Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
2016-06-06 14:53:35 -04:00
Cedric BAIL b1f62061b9 eio: remove eio_model that should already be part of Eio.h. 2016-06-06 11:01:16 -07:00
Vitalii Vorobiov 8590abd562 edje_edit: fix map API (light, perspective, rotation)
it should be possible to set light or perspective to NULL
and return -1 when nothing is set
also ability to send NULL point to store rotation

@fix
2016-06-06 20:48:39 +03:00
Jean Guyomarc'h 129e56b64b elementary: fix definition of external symbols
Introduced by elm_code. Broke the build (link) Mac OS X.
2016-06-06 19:32:29 +02:00
Daniel Kolesa 1a0928eb14 eolian: we don't support unnamed structs/enums, so don't check 2016-06-06 16:15:14 +01:00
Daniel Kolesa 7cf7cba88e eolian: remove the c_type_named_get APIs
These have inconsistent behavior and are generally unnecessary, so I'm
removing them. Use the c_type_get funcs instead.
2016-06-06 15:50:15 +01:00
Daniel Kolesa 9752c44a48 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
2016-06-06 15:28:10 +01:00
Stefan Schmidt 614d1fad6e examples: eio: remove unused variable 2016-06-06 15:43:15 +02:00
Stefan Schmidt 68a0ec70d7 examples: eio: mark unused parameter as such
Really shutting up warnings here to see what else the compiler has to say.
2016-06-06 15:43:15 +02:00
Stefan Schmidt c840162f09 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.
2016-06-06 15:43:15 +02:00
Andy Williams 05f0134da4 elementary_code: Fix test failures post-merge
Looks like some were legitimate failures that were not being caught
in the previous setup
2016-06-06 14:28:17 +01:00
Andy Williams 80ca479916 elementary_code: Use correct theme file post-merge 2016-06-06 14:28:17 +01:00
Tom Hacohen 8809ed1629 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.
2016-06-06 14:28:16 +01:00
Stefan Schmidt 14c8ddc678 benchmark: remove unused variable
Looks like this was forgotten during some re-factoring of the code.
2016-06-06 14:17:07 +02:00
Stefan Schmidt 12b7c52323 benchmark: mark parameter as unused to ignore compile warning 2016-06-06 14:16:28 +02:00
Stefan Schmidt 2f22a634b0 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.
2016-06-06 11:45:08 +02:00
Vyacheslav Reutskiy dabdebf026 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
2016-06-06 10:48:15 +03:00
Lauro Moura f15ae07188 eio: Fix leaks in tests 2016-06-06 04:32:32 -03:00
Vitor Sousa 77a2e9744d 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);
2016-06-06 04:30:22 -03:00
Felipe Magno de Almeida b2a07ca150 eo-cxx: Remove commented headers 2016-06-06 04:09:23 -03:00
Felipe Magno de Almeida 27429cf40b eolian-cxx: Fix compilation error on clang with const UDT initialization 2016-06-06 03:49:16 -03:00
Larry Jr 6680eca359 eolian-cxx: fix compilation errors an olders gcc 2016-06-06 03:30:42 -03:00
Larry Jr c9c178f2db eio: fix free eina_promises in error_callbacks 2016-06-06 03:30:42 -03:00
Larry Jr 2e441c3f5e eina: eina_promise_all callback cast removed 2016-06-06 03:30:42 -03:00
Lauro Moura 47dea6abc1 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.
2016-06-06 03:09:40 -03:00
Felipe Magno de Almeida 2a3d7860db eolian-cxx: Rewrite to accomodate new features of the C++ binding 2016-06-06 02:54:36 -03:00
Felipe Magno de Almeida 4d1b3191d9 eina-cxx: Add placeholder for futures in C++ binding 2016-06-06 02:50:36 -03:00
Felipe Magno de Almeida 710f97580a eina-cxx: Fix wrongful operator++ for iterator and docs 2016-06-06 02:50:13 -03:00
Felipe Magno de Almeida 7e1ce2d33d eina-cxx: Add c_str() to string_view 2016-06-06 02:49:47 -03:00
Felipe Magno de Almeida fec589cbdc eina-cxx: Restrict templated constructor 2016-06-06 02:49:28 -03:00
Felipe Magno de Almeida a1f2d03ecb eina-cxx: Add optional specialization for pointer types 2016-06-06 02:49:00 -03:00
Felipe Magno de Almeida 61f52a26fb elm: Fix wrong use of char instead of string and void out parameter 2016-06-06 02:47:15 -03:00
Felipe Magno de Almeida 8b1fc67a12 edje: Fix wrongful uses of char instead of string in Eolian 2016-06-06 02:46:39 -03:00
Larry Jr b57579a295 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
2016-06-05 22:53:55 -03:00
Larry Jr 1ba06bb642 eio: Add mime_type property in Eio_Model 2016-06-05 22:08:06 -03:00
Larry Jr c33caa86ab eio: Eio_Model parent_get return parent model 2016-06-05 22:08:06 -03:00
Larry Jr e14042eabe eio: Fix Eio_Model promise accessor 2016-06-05 22:08:06 -03:00
Lauro Moura 217f3ce842 ecore: Fix ecore thread promises
Make sure we free the promise memory, set MAGIC numbers and avoid
leaking the underlying eina promise
2016-06-05 21:59:35 -03:00
Lauro Moura b28f6f2fce eina: Fix promise tests and avoid early deletion
- Progress notify refcount fixes, avoiding early deletion
- Avoid leaking memory on tests
2016-06-05 21:58:19 -03:00
Lauro Moura c6733fbbed eina: Fixes on promises benchmark
- Updated after pointer vs value change
- Updated callbacks after removal of promise argument
2016-06-05 21:57:08 -03:00
Lauro Moura 3022503aa5 eo: Fix compilation of benchmark
- Missing Eo* self in method declarations.
- Gcc complaining about variable-sized object being initialized.
2016-06-05 21:57:08 -03:00
Felipe Magno de Almeida 96f0783e04 eolian: Fix generating pointer promises for class types 2016-06-05 16:50:54 -03:00
Tom Hacohen f122437dd6 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.
2016-06-05 15:22:53 +01:00
Tom Hacohen 059a239d5e 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.
2016-06-05 13:51:18 +01:00
Davide Andreoli e073ae4fac gitignore++ 2016-06-05 12:37:08 +02:00
Jean Guyomarc'h 1f69a7cfa7 ecore_evas_cocoa: better handling of resize callback 2016-06-05 12:12:02 +02:00
Jean Guyomarc'h b2775d90b1 evas-gl_cocoa: resize the gl context before resizing the window
This order seems more right. It does not have a visible
impact though...
2016-06-05 12:12:02 +02:00
Jean Guyomarc'h 266396b1eb 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
2016-06-05 12:12:02 +02:00
Jean Guyomarc'h 7bb32abf33 ecore_audio: remove useless eo data in core audio 2016-06-05 12:12:02 +02:00
Tom Hacohen 4c3b7fb248 Eina promise: Fix broken return value.
I broke it in dc73f6644e.
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?
2016-06-05 11:00:55 +01:00
Tom Hacohen 7c187acbf2 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).
2016-06-05 10:57:07 +01:00
Tom Hacohen dc73f6644e Eina promise: Simplify code and remove shadow variable.
There was no need for the extra variable. This also fixes a shadow
warning.
2016-06-05 10:57:07 +01:00
Tom Hacohen aab8389a6f 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.
2016-06-05 10:57:07 +01:00
Jean Guyomarc'h de5f293426 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
2016-06-04 16:53:54 +02:00
Jean Guyomarc'h 088f4af9e7 elementary: remove redundant code
The same checks are performed later on.
There is no use doing it twice.

Only affects Cocoa windows.
2016-06-04 16:53:34 +02:00
Jean Guyomarc'h 29be8f2819 ecore_cocoa: fix window hiding logic 2016-06-04 16:53:26 +02:00
Jean Guyomarc'h 8a23d53c66 ecore_cocoa: remove extra whitespaces 2016-06-04 16:53:18 +02:00
Jean Guyomarc'h e33c5a85d4 edje: don't return a boolean when a pointer is expected
Fix a warning thrown by Apple-llvm.
2016-06-04 16:51:38 +02:00
Davide Andreoli 1f6a633ea6 elm_config: force icons in preview to keep aspect ratio
#SizeHintsMess... I really cannot understand why aspect_fixed is not respected :(
2016-06-04 11:42:42 +02:00
Felipe Magno de Almeida 1c269cf24a eina: Fix magic check for eina_promise_owner_buffer_get 2016-06-03 21:53:29 -03:00
Felipe Magno de Almeida 2e4765bc88 eina: Fix EINA_MAGIC and eina_promise_then NULL check 2016-06-03 21:43:57 -03:00
Cedric BAIL b7facb2f0b ecore: add a test for detecting the double free problem. 2016-06-03 17:00:12 -07:00
Cedric BAIL 58c477a30a 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.
2016-06-03 17:00:12 -07:00
Cedric BAIL 0e6d5df60c ecore: use EINA_ERROR_PROMISE_CANCEL instead of a custom Ecore one. 2016-06-03 17:00:12 -07:00
Cedric BAIL 10ee8bc844 ecore: do not generate error while rescheduling the last timer. 2016-06-03 17:00:12 -07:00
Cedric BAIL af2b0c8629 eina: protect promise death during callbacks cancel. 2016-06-03 17:00:12 -07:00
Cedric BAIL 2b12aea5e6 ecore: Ecore_Cb is used by elm_box.eo. 2016-06-03 17:00:12 -07:00
Cedric BAIL b3d56820d5 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.
2016-06-03 17:00:12 -07:00
Cedric BAIL 5cc16b1c29 ecore: remove Ecore_Animator Eo object.
This is only a legacy API.
2016-06-03 17:00:12 -07:00
Felipe Magno de Almeida f6a260e7a9 eina: Remove Eina_Promise* parameter to callbacks to promises in examples 2016-06-03 20:03:13 -03:00
Felipe Magno de Almeida cd91b02dd1 eina: Add NULL checks and EINA_MAGIC checks to promises
Add NULL checks and EINA_MAGIC checks that avoid crashing when it
shouldn't.
2016-06-03 20:02:02 -03:00
Felipe Magno de Almeida e98c57d9d4 eina: Remove more Eina_Promise* parameter in promise callback
Remove not very useful parameter to eina_promise_then callbacks.
2016-06-03 18:37:21 -03:00
Derek Foreman 3de4e31003 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.
2016-06-03 16:28:24 -05:00
Derek Foreman 34ce296cac 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.
2016-06-03 16:28:24 -05:00
Derek Foreman 6c2a3a2034 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.
2016-06-03 16:28:24 -05:00
Cedric BAIL 412071497d elementary: merge in elm_code example. 2016-06-03 14:17:27 -07:00
Felipe Magno de Almeida e79eb53e8d eina: Remove Eina_Promise* parameter in promise callback
Remove not very useful parameter to eina_promise_then callbacks.
2016-06-03 18:15:57 -03:00
Cedric BAIL f3d5ae6ec2 elementary: make elm_code a BETA API. 2016-06-03 14:04:36 -07:00
Felipe Magno de Almeida 09446ccb90 eolian-cxx: Fix C++ example compilation 2016-06-03 17:22:18 -03:00
Felipe Magno de Almeida 865b69f6ff eina: Fix examples using new Eina_Promise semantics 2016-06-03 17:22:18 -03:00
Felipe Magno de Almeida 8fec0d5139 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);
2016-06-03 17:22:12 -03:00
Cedric BAIL 2ea85a2075 ector: variable in _SOURCES do not work.
This fix the left over etc .deps during make distcheck.
2016-06-03 11:10:27 -07:00
Derek Foreman 821aada3c4 wayland_shm: Add exynos allocator for dmabuf
Allows clients on exynos hardware to allocate GEM buffer objects
to back DMAbuf buffers.
2016-06-03 11:05:28 -05:00
Derek Foreman 0f07f67b12 wayland_shm: Abstract out dmabuf management
Split out the intel specific stuff into an abstraction in preparation for
adding exynos support.
2016-06-03 11:05:16 -05:00