Commit Graph

11026 Commits

Author SHA1 Message Date
Taehyub Kim 3a98ee3796 ecore_wayland: fix over writing file descriptor bug for reading
Summary:
fix over writing file descriptor bug for reading.
when we paste data to entry very fast, source->fd is over wrote by latest fd.
It cause blocking of read function since the read function use invalid fd.
so I make memorizing valid fd and using it in read function.

@fix

Reviewers: Hermet, jpeg, cedric, devilhorns, ManMower, raster

Differential Revision: https://phab.enlightenment.org/D4410
2016-11-18 19:53:15 +09:00
Carsten Haitzler 470478030b evas map redraw update handling - dont trigger full redraw in e menus
this fixes T4904

dif e pops up menus it uses zoomap to zoom an existing object in and
out by forcing it to be mapped and controlling the map geom based on
smart obj geom. this will do a minimum update region for the case
where a map just got turned on or off for an obj since last frame and
cut this out.

@optimize
2016-11-18 18:59:03 +09:00
Cedric Bail e79406b5db elm/calendar: we do require explicit ptr now. 2016-11-17 17:40:12 -08:00
JEONGHYUN YUN 3f76638b37 elm/calendar: add APIs for minimum and maximum values for the date
Summary:
elm_calendar already have minimum and maximum year set/get APIs.
I've added new APIs that exapanded from the year to the date.
These APIs help us not only set min/max month but also set min/max day.
If you set the minimum date, changing the displayed month or year if needed.
Displayed day also to be disabled if it is smaller than minimum date.

Reviewers: woohyun, Hermet, jpeg, CHAN, cedric

Reviewed By: CHAN, cedric

Subscribers: CHAN, cedric, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-17 17:40:12 -08:00
Shuhrat Dehkanov ec12506a88 elm/datetime: default case for default value
Summary:
This will eliminate unnecessary initialization of local variable in case the type is not EFL_UI_CLOCK_TYPE_YEAR.
Also, ELM_DATETIME_YEAR case is merged with the default case.

Reviewers: singh.amitesh, cedric

Subscribers: minkyu, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-17 17:40:12 -08:00
Derek Foreman 38788e7787 ecore_evas: Unbreak all the engines that don't have evas_changed callbacks
repairs damage from d2b8495576

Move along, nothing to see here.
2016-11-17 11:39:25 -06:00
Derek Foreman d2b8495576 ecore_evas: send evas_changed callback when manual render is set
If manual render is set there's obviously no change.

This fixes E's wake from blank/wake to lockscreen behaviour on the drm
backends.
2016-11-17 11:23:36 -06:00
Andrii Kroitor ef55640d2a elm_spinner: apply value after pressing enter key
This was broken previously by a659fe3484

@fix
2016-11-17 15:56:14 +02:00
Stefan Schmidt b5919ae9ed elm_fileselector: fix property value name when showing hidden files
The vlaue name multi does not make any sense here and looks like a copy and
paste oversight from the multiselection property.
2016-11-17 13:50:12 +01:00
Stefan Schmidt a2d48a5df3 efl_net_ser_udp: fix vlaue name for time to live property
The loopback value name here was really just a copy and paste mistake.
2016-11-17 13:45:49 +01:00
Stefan Schmidt 242edea752 docs: ecore: add missing property doc for efl_io_file 2016-11-17 13:08:41 +01:00
Stefan Schmidt a1b46e872d docs: elm_interface: fill gaps in elm interfaces eo file documentation 2016-11-17 13:02:03 +01:00
Stefan Schmidt 17cf8dd846 docs: elm_widget: fill gaps in elm_widget eo file documentation 2016-11-17 12:54:29 +01:00
Stefan Schmidt d603ea1de0 docs: efl_ui: fill gaps in efl_ui eo file documentation 2016-11-17 12:52:44 +01:00
Stefan Schmidt 67f03b7d04 docs: atspi_interfaces: fill gaps in elm atspi interfaces eo file documentation 2016-11-17 12:19:50 +01:00
Stefan Schmidt 85ed25c682 docs: efl_interfaces: fill gaps in efl interfaces eo file documentation 2016-11-17 12:16:01 +01:00
Carsten Haitzler ce8e085d6d efl object events - track del, cb add and cb del callback counts
so hunting another callback issue i noticed some of THE most popular
callbacks are:

     1411  tick
     1961  move
     4157  pointer,move
     7524  dirty
     8090  damage
    13052  render,flush,post
    13052  render,flush,pre
    13205  render,post
    13205  render,pre
    21706  recalc
    21875  idle
    27224  resize
    27779  del
    31011  idle,enter
    31011  idle,exit
    60461  callback,del
   104546  callback,add
   126400  animator,tick

as you can see callback del, add and the general obj del cb's are
right up there... so it is very likely a good idea to CHECK to see if
anyone is listening before calling the callback for these very very
very common calls.

this is ifdef'd and turned on for now. it can be turned off. it
shouldnt use more memory due to the way memory alignment works (likely
all allocations will be multiples of 8 bytes anyway) so we're using
spare unused space. the only q is - is management of the counts AND
checking them worth it in general? it's really hard to tell given we
dont have a lot of benchmarks that cover a lot of use cases... it
doesnt seem to slow or speed anything up much in the genlist bounce
test... so i think i need something more specific.

@optimize
2016-11-17 18:41:32 +09:00
Carsten Haitzler 200490a850 eo src formatting - line up struct member 2016-11-17 18:41:32 +09:00
Carsten Haitzler 036cfc32e4 event callback call - move 0 check early before any var init
a LOT of callback calls call on objects with no cb's at all so the
earlier we check for 0 the better before we do ANYTHING.

@optimize
2016-11-17 18:41:32 +09:00
Carsten Haitzler 1ac86bb878 eo - fix ever growing callback list by actually flagging waiting dels
i found a massive slowdown that over time ended up with 10000's of
cb's in objects like the ecore loop object. this fixes that by
ACTUALLY flagging event deletions waiting to be true rather than false.
2016-11-17 18:41:32 +09:00
Carsten Haitzler f504950597 image prepares - put in some disabled code to show how to possibly use
this is how you would possibly use prepare stages for objects like
image objects by pre-rendering them to a buffer. this is not complete
and it's actually disabled right now, but it's to show how it might be
done. some more exploring is needed, but this is to share how it
might/should work.
2016-11-17 18:41:32 +09:00
Carsten Haitzler 3eb0df1022 evas engines - add more support for noscale pixel buffers esp in gl
for gl noscale buffers are texture atlases that are fbo's. the point
is never to scale or transofmr them but to render them pixel for pixel
and just store pre-rendered data where its cheaper to do this than
rebuild every time. this is the enigne infra for sw and gl with the gl
code... it SHOULD work... in theory...
2016-11-17 18:41:32 +09:00
Carsten Haitzler 6a3a4a4124 eina log - explain how to humanify the output for bts when printed 2016-11-17 18:41:32 +09:00
Carsten Haitzler 622277c82a evas - add engine api to get a specific fbo/surf that wont be scaled
this is to allow gl to specifically use an fbo as an atlas for these
kinds of buffers
2016-11-17 18:41:31 +09:00
Carsten Haitzler a479745e4f evas - add a prepare stage for objects before render
preparing an object is a good idea. especially with gl. you want to do
texture uploads BEFORE using textures all in one batch. otherwise this
may mean the gl implementation has to make a copy of your data in a
tmp location then copy it in later when texture becomes "unused" as it
may be in use at the moment, or it may have to stall and wait.

i have seen somewhere around 7-10% speedups on nvidia and intel
drivers with this on given a very special test case i brewed up (1000
32x32 images where i change 1 pixel every frame). this should have
impact really when we are modifying textures a lot. this is all i've
implemented for now, but this should/would/could do much more like
re-order map, proxy renders to render FIRST in a pre-render list
instead of inline and to pre-render fbo/buffer content for complex
objects like text or textblock etc.
2016-11-17 18:41:31 +09:00
Daniel Zaoui 7d127c1d07 Win: fix modal feature during window closing
During window deletion, decreasing modality depends on
the window visibility.
Because the visibility was set to false before treating the
modality, it was never decreased, leading to never have still
existing windows being reachable.
Now, we check window visibility before it is modified.

@fix
2016-11-17 08:00:23 +02:00
Cedric BAIL 53dd596f43 evas: reduce usage of __thread directive.
Moved rects caching into draw context to avoid the use of __thread
slot. Draw context are defined per thread anyway and should be just
fine. This doesn't really change the picture regarding glibc problem
when to many __thread are needed, but slightly improve the global
picture. Also this patch doesn't affect our performance in expedite
benchmark as far as I can tell.
2016-11-16 16:05:56 -08:00
Artem Popov 0b6e04d94f eet: add NULL-check to eet_connection_empty API to avoid segfault
@fix

Summary:
Only eet_connection_empty hasn't checking on NULL and try to read from field of object.
Add NULL-check for connection and return result of empty connection.

Reviewers: jpeg, cedric, myoungwoon

Subscribers: t.naumenko, NikaWhite

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-16 15:30:44 -08:00
Jaehyun Cho e64fa28284 efl_ui_image: guarantee user's mouse up event callback is called.
Summary:
Without propagating event by hit_rect, user's mouse up event
callback may not be called if image file is replaced in user's mouse
down event callback.

Test Plan:
1. Register mouse up event callback for elm_image by calling
evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_UP.
2. Register mouse down event callback for elm_image by calling
evas_object_event_callback_add() with EVAS_CALLBACK_MOUSE_DOWN.
3. Replace image file of elm_image by calling elm_image_file_set() in
mouse down event callback.
4. Mouse down on elm_image.
5. Mouse up on elm_image.
6. Since image file object is newly created in mouse down event
callback, mouse up event is not triggered for the newly created image
file object. As a result, mouse up event is not propagated to elm_image
and user's mouse up callback for elm_image is not called.

Reviewers: cedric, woohyun, eunue, jpeg

Reviewed By: jpeg

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-16 13:46:40 -08:00
Derek Foreman 168a127c8c ecore_drm2: Make sure something's on screen after dpms wake
Flip to the previous buffer on dpms wake to make sure we show something
2016-11-16 15:05:40 -06:00
Guilherme Iscaro 9f8e2e0d9c Ecore Wayland: Remove ECORE_WL2_SEAT_CAPABILITIES_NO_SEAT.
Summary:
It's not possible to have an Ecore_Wl2_Input without a seat.

Ecore Evas Wayland: Remove seat existence check.

At this point every seat advertised is considered new, therefore
it will not be in the devices list.

Reviewers: barbieri, jpeg, cedric, bdilly

Reviewed By: bdilly

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4408
2016-11-16 17:50:32 -02:00
Cedric BAIL 55ab71bd67 evas: make sync and async work in the same way and not trigger empty flush/clear. 2016-11-16 11:31:04 -08:00
Bruno Dilly 6f66c6e676 ecore_wl2: ref / unref evas devices on ecore events
Summary:
It should avoid issues when device is removed after the ecore
event addition but before listeners are called (so pointer
would be invalid).

Reviewers: iscaro

Reviewed By: iscaro

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4407
2016-11-16 17:01:24 -02:00
Jean-Philippe Andre f50b0fed13 elm/evas: Fix disappearance of window icons with CSD
After a few patches trying to fix clipping of frame or
non-frame objects the icon finally ended up invisible. Even
if the elm_icon was marked as is_frame, its internal evas
object image would not have the flag set, thus it would be
clipped out.

Solution: Propagate the is_frame flag to all smart children,
not only when setting it but also when adding new members.
A hack with the API indicates that the frame edje is a very
special object that does not propagate the flag.

See also:
7ce79be1a1
0f6c33eff1
9c9c8809a7
ac5ca9281c
2016-11-16 20:48:58 +09:00
Jean-Philippe Andre ac5ca9281c evas: Try to fix bad clipping of non-frame objects
Test cases (in WL or X with client-side decorations on):

1. elementary_test -to Animation
  Resize the window to a small size (eg, 100x100) and observe the
  balls overflowing outside the window content part. This tests
  unclipped normal objects.

2. elementary_test "Window Plug" (requires also Window Socket)
  Drag the handles outside the window, observe overflow in the
  framespace area. This tests mapped images ('can_map').

3. elementary_test -to "Gesture Layer"
  Drag a photo around. This tests non-image mapped objects.
  NOTE: This test is badly broken!

This patch fixes both of those issues. I'm not sure what I'm
breaking, though.
2016-11-16 20:48:37 +09:00
Vincent Torri c0d8f1cc37 ecore_con: correctly include sys/ioctl.h
I had to make distclean for this patch to work.

Differential Revision: https://phab.enlightenment.org/D4402
2016-11-16 19:50:24 +09:00
Guilherme Iscaro 9ba11c5cd0 Ecore Evas Wayland: Create the devices during Ecore_Evas setup.
Summary:
When launching an Elementary App using Wayland the elm_config will
automatically connect to the Wayland's display server and all events
regarding seats are lost, since by the time that Ecore_Evas is created
the global events were already dispatched. To fix this problem,
everytime an Ecore_Evas is created, the code must check if there
are any seat capabilities available, if so, the devices will be created.

Reviewers: bdilly, barbieri, cedric, jpeg

Subscribers: devilhorns, cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4390
2016-11-16 18:26:25 +09:00
Cedric BAIL ee16c647dc evas: make sure that the documentation match the behavior by return true only when something is rendering. 2016-11-15 15:54:29 -08:00
Subhransu Mohanty 355a4e3830 evas/vg: fix handling of stroke width in cairo and native backend
T3351

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-15 15:21:17 -08:00
Jean Guyomarc'h a1e1bb01ba
eina: don't make eina_thread_cancellable_run() inline
Seems to me there is little benefit of inlining this function, but this
also had a pervert effect on Windows and C++ with some recent mingw
versions. Mingw failed its implementation of pthread_cleanup_pop(). It
does not compile when compiled in C++. There is a type mismatch that is
caught by the compiler, and everything goes nuts...

This made the EFL build fail because some files of ecore_win32 are C++
sources, and they require Eina... so this macro appears in a C++ code
indirectly, because of its inlining.

By removing the inlining, this build issue is fixed. Will also fix
builds of other programs that would have used Eina.h in their C++
programs :)
2016-11-15 22:19:58 +01:00
Stefan Schmidt 16143b62b4 docs: evas_canvas: fill gaps in evas canvas eo file documentation 2016-11-15 17:45:32 +01:00
Stefan Schmidt 237ab9c681 docs: efl_gfx: fill gaps in efl_gfx eo file documentation 2016-11-15 17:45:32 +01:00
Stefan Schmidt dbe01dd2b9 docs: ector: fill gaps in ector eo file documentation 2016-11-15 17:45:32 +01:00
Stefan Schmidt 9638a114f0 docs: ector_software: fill gaps in ector software backend eo file documentation 2016-11-15 17:45:31 +01:00
Stefan Schmidt 9971a789a0 docs: ector_gl: fill gaps in ector gl backend eo file documentation 2016-11-15 17:45:31 +01:00
Stefan Schmidt 03176e578a docs: ector_cairo: fill gaps in ector cairo backend eo file documentation 2016-11-15 17:45:31 +01:00
Chris Michael cd0c1d9857 ecore-drm2: Symlink to drmModePageFlip function
Somehow this got missed in initial commit, so fix to symlink to
drmModePageFlip function.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 11:44:12 -05:00
Amitesh Singh 6ae0980f32 elm: Efl.Ui.clock: use efl_isa instead. 2016-11-15 19:59:06 +05:30
Chris Michael f5a5a9df44 ecore-drm2: Remove unused structure
As we don't ever use drmVersionBroken structure in this code, remove it

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 09:14:50 -05:00
Chris Michael 491c059620 ecore-drm2: Add copyright information from included headers
Small patch to reorganize defines & structures from included files,
and to add copyright information related to each file where defines &
structures were borrowed from.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 09:12:53 -05:00
Chris Michael fbc58c3424 ecore-drm2: Add API function for drmHandleEvent
As we are not compile-time linking to libdrm anymore, Ecore_Evas_Drm
needs to be able to call drmHandleEvent, so add an API function to
Ecore_Drm2 that can be used there.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Chris Michael 8421a37313 ecore-drm2: Make calls to symlink'd libdrm functions
Instead of linking to libdrm and calling drmMode functions, we will
instead symlink the functions we need during runtime and call those
symlinks.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Chris Michael 0a2c06fc58 ecore-drm2: Symlink to libdrm functions during init time
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Chris Michael b820ad3676 ecore-drm2: Add structure definitions and function symlinks for libdrm
As we are moving away from linking to libdrm during compile time, and
instead dlsym to things we need at runtime, we need to include copies
of the libdrm structures that we will be using along with function
declarations that we symlink to.

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-15 08:42:07 -05:00
Stefan Schmidt a198c2423c docs: efl_ui: fill gaps in efl_ui eo file documentation 2016-11-15 12:00:22 +01:00
Stefan Schmidt b768a365e6 docs: evas_canvas: fill gaps in evas canvas primitives eo file documentation 2016-11-15 12:00:21 +01:00
Stefan Schmidt 1abaecc481 docs: efl_vg: fill gaps in efl vector graphics eo file documentation 2016-11-15 12:00:21 +01:00
Stefan Schmidt 212fac6c37 docs: efl_input: fill gaps in efl_input eo file documentation 2016-11-15 12:00:21 +01:00
Stefan Schmidt f04d2817d2 docs: evas3d: fill gaps in evas 3D canvas eo file documentations 2016-11-15 12:00:21 +01:00
Stefan Schmidt 21e35157ec evas: fix typo in thread name setting for ecore-pipe
Thanks to Vincent Torri for pointing this out.
2016-11-15 12:00:21 +01:00
Amitesh Singh 04ebeca2b2 elm: datetime: fix the incorrect datetime field type mapping
Elm_Datetime_Field_Type enum values are not same to Efl_Ui_Clock_Type.
2016-11-15 15:08:37 +05:30
Cedric BAIL 6da2fbc9c4 efreet: make mime type evaluation way faster by using mmap. 2016-11-14 15:17:12 -08:00
Derek Foreman 8368f6e1d2 ecore_drm2: Follow direct crtc sets with a page flip
Now that the bugs generating extra ticks are fixed, we need to make sure
we can actually generate one here.
2016-11-14 16:39:03 -06:00
Derek Foreman 2480b4bb22 ecore_evas: fix evas_changed call
Don't or together all previously considered evases.  Thanks Cedric
for the catch.
2016-11-14 14:03:16 -06:00
Cedric BAIL 8215d9832c ecore: introduce adjusting main loop time on animator. 2016-11-14 11:53:01 -08:00
Cedric BAIL 9f5c37cda7 efl_ui_clock: fix use when no module is present.
T4875
2016-11-14 11:22:39 -08:00
Lukasz Stanislawski 93b509d664 elementary: implement destructor in atspi mixin
Summary:
Make atspi mixin inherit from Efl.Interface class and add Efl.Object
as it extensions class to gain acccess to destructor function.

This allow to better share code between implementations and avoid possible
mistakes during accessibilityt implementations.

Reviewers: cedric, jpeg, raster, kimcinoo

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-14 11:10:59 -08:00
Guilherme Iscaro 883d41f006 evas focus: Do not allow two objects focused by the same seat.
Summary:
Before focusing an object, the intercept focus callback
is called. This callback may ask Evas to focus another object
instead, so it's necessary to check if the seat in question still
have a focused object event after a efl_canvas_object_seat_focus_del() call.

Reviewers: cedric, bdilly, barbieri, ProhtMeyhet, netstar

Subscribers: cedric, jpeg

Maniphest Tasks: T4864, T4886

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-14 10:24:57 -08:00
Daniel Zaoui ee5a1d28f1 Eet: initialize descriptor class correctly 2016-11-14 13:24:32 +02:00
Cedric Bail 99b327598e evas: protect against wrong request to default seat.
Enlightenment kept crashing without this patch.
2016-11-12 13:56:24 -08:00
Andy Williams 202dc8c189 elm: Allow setting NULL tooltip text to remove tooltip.
As discussed on the mailing list.
2016-11-12 21:23:40 +00:00
Jean Guyomarc'h cbde2cb04b
eet: return 0 instead of NULL when the return type is int 2016-11-12 10:42:45 +01:00
Jean Guyomarc'h 2e8d6968fd
ecore_con: fix pointers type mismatches
printf() was not happy with a void* being used with the %s format.
Since the 'key' values are actually strings and let's declare them
as const char* to fully embrace the string semantics.
2016-11-12 10:39:18 +01:00
Artem Popov e6b074ad21 eet: add to basic eet_image EAPIs checking on NULL
@fix

Summary: to avoid segfaults with NULL raw data, add checking on NULL to basic eet_image APIS

Reviewers: NikaWhite, cedric, myoungwoon, jpeg

Reviewed By: jpeg

Subscribers: t.naumenko, jpeg

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

Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
2016-11-11 09:58:30 -08:00
Andy Williams cc9e9c57d4 elm_code: Fix double free on file close/free
@fix
2016-11-11 15:01:08 +00:00
Stefan Schmidt b8dfc68ee2 docs: ecore_con: add all missing docs for ecore_con
This should fill all gaps we still had in ecore_con. Please make sure all new
additions comes with docs as well.
2016-11-11 15:35:48 +01:00
Stefan Schmidt f3d1211266 docs: efl_net_server: add missing docs for efl_net_server 2016-11-11 15:35:18 +01:00
Stefan Schmidt c2754dc562 docs: efl_net_socket: add missing docs for efl_net_socket 2016-11-11 15:34:08 +01:00
Stefan Schmidt 44b3fb5ebc docs: efl_net_dialer: add missing docs for efl_net_dialer 2016-11-11 15:33:18 +01:00
Stefan Schmidt be9283c17c docs: efl_net_control*: ad missing docs in efl_net_control* 2016-11-11 15:30:55 +01:00
Stefan Schmidt 6570c26921 docs: efl_network*: add missing documentation 2016-11-11 15:28:49 +01:00
Stefan Schmidt 6a322b1b2c docs: ecore: finish up eo file docs in ecore 2016-11-11 10:58:22 +01:00
Stefan Schmidt e056e0b1d1 docs: edje: finish up eo file docs for edje 2016-11-11 10:25:33 +01:00
Stefan Schmidt acba97cd04 docs: ecore_adio: finish up eo docs for ecore_audio 2016-11-11 09:26:22 +01:00
Stefan Schmidt 124effc524 docs: eio: finish up missing eo file docs in eio 2016-11-11 09:15:24 +01:00
Stefan Schmidt c588d49caa docs: efl_net*: add docs for newly added enums 2016-11-11 08:34:11 +01:00
Cedric BAIL 8ee79d0e21 ecore_evas: first frame and animator are defined per canvas 2016-11-10 16:26:34 -08:00
Cedric BAIL 16723837e9 ecore_evas: always have a custom source set for animator if possible. 2016-11-10 15:52:38 -08:00
Felipe Magno de Almeida 45e1ccf312 eolian-cxx: Remove EOLIAN_TYPE_POINTER enumeration 2016-11-10 15:20:36 -02:00
Daniel Hirt 03856913c2 Edje containers: split logic
This splits the current Efl.Part implementation for the edje container
objects. These are now split to a edje_part.c, edje_part_helper.h and
separate sources for swallow, box and table.

It's going to make things a bit easier for porting the rest of the
logic.
2016-11-10 18:23:21 +02:00
Daniel Kolesa 8002b3b24e eolian: remove parsing of pointers and the corresponding APIs
Everything should be done via the new ptr() system now.
2016-11-10 16:20:19 +01:00
Daniel Kolesa 5c54c53975 efl_net_control: remove pointer 2016-11-10 16:02:44 +01:00
Daniel Kolesa 596a396887 efl_ui_win: temporarily use terminated_array to remove a pointer
see FIXME.
2016-11-10 15:59:47 +01:00
Daniel Kolesa 308aea3683 elm_prefs, elm_slideshow: remove pointers 2016-11-10 15:53:25 +01:00
Daniel Kolesa d47e3f3d20 efl_ui_text, efl_ui_clock: remove pointers 2016-11-10 15:50:58 +01:00
Daniel Kolesa f459e885ef elm_code_widget: remove pointers 2016-11-10 15:49:12 +01:00
Daniel Kolesa 8fe9fcf9d8 elm gengrid_item toolbar_item: remove pointers 2016-11-10 15:47:31 +01:00
Daniel Kolesa 6b156ad6c6 efl_ui_win: remove most pointers 2016-11-10 15:44:57 +01:00
Daniel Kolesa bacbb1e5bd elm radio, scroller, sys_notify: remove pointers 2016-11-10 15:43:15 +01:00
Daniel Kolesa b0c6fb9900 elm_map: remove pointers 2016-11-10 15:41:43 +01:00
Daniel Kolesa 50884a139b elm dayselector, entry, glview: remove pointers 2016-11-10 15:38:53 +01:00
Stefan Schmidt 318bf22a99 docs: emotion: add last missing docs for emotion eo file 2016-11-10 15:14:42 +01:00
Stefan Schmidt 8e88ff7487 docs: eo: finish up docs for eo
Add some mising docs, fix some typos and align with other docs.
2016-11-10 15:14:42 +01:00
Carsten Haitzler 5c8dfe9873 eina freeq - make bypass setup only on new freeq creation and changable
this will make a freeq bypass that is enabled by using valgrind or env
var not affect a freeq that has manually changed its queue count max
or mem max. these now become explicit deferred freeers.
2016-11-10 16:22:34 +09:00
Carsten Haitzler ce3685f001 evlog - reduce overhead of getting time a little by pre-checking clock
this checks for clock_gettime + CLOCK_MONOTONIC or CLOCK_REALTIME at
evlog init to avoid a cmp+brang and l1 instr cache hit every get.
slightly less overhead when this is on.
2016-11-10 16:22:34 +09:00
Carsten Haitzler 42ebfa863f evlog - no need to take lock to check if evlog is on. fix
this should reduce oerhead of evlog when on by a bit by not
taking+releasing a lock at all in this case.
2016-11-10 16:22:34 +09:00
Carsten Haitzler 2f6045abc0 ecore - add run state evlogs to know when we run (mainloop) or sleep 2016-11-10 16:22:34 +09:00
Daniel Zaoui 819c14c86f DnD: cancel drag if mouse moves too much
In the case of an entry inside a draggable gengrid, trying to select
text was always resulting in starting a DnD operation because mouse
coordinates were not checked.

Now we check that the mouse coords don't move more than a finger size.

@fix
2016-11-10 08:26:26 +02:00
Gustavo Sverzut Barbieri 1dfdb9ebd9 efl_net_session-connman: be more careful with incoming messages.
Check if calls succeed before using the values.

Fixes CID 1365677, 1365676, 1365675
2016-11-10 00:40:17 -02:00
Gustavo Sverzut Barbieri 8a2ecda4d4 efl_net_dialer_udp: remove redundant thread cancel.
it was already done lines above, likely c&p left over.
2016-11-10 00:15:36 -02:00
Shinwoo Kim e648f1e85e [elementary][atspi] change accessible description to char* from const char*
Summary:
The accessible name is char*, this could confuse API user.
If we provide user callback to get description, an user would return allocated string.
The usage of elm_interface_atspi_description_get/set should be same with elm_interface_atspi_name_get/set

Reviewers: lukasz.stanislawski, cedric, raster

Reviewed By: raster

Subscribers: stanluk, jpeg

Differential Revision: https://phab.enlightenment.org/D4378
2016-11-10 11:11:48 +09:00
Gustavo Sverzut Barbieri 7917fa4ebf efl_net_dialer_http: NULL-ify thread pointer when it's gone.
on thread cancel and end, we should nullify the pointer if it was
still set.
2016-11-10 00:10:11 -02:00
Gustavo Sverzut Barbieri 21617f83c2 efl_net_server_unix: fix invalid socket comparison.
Fixes CID 1365321.
2016-11-09 17:25:27 -02:00
Daniel Kolesa 441b303783 elm gengrid, genlist: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa 89bd7f0977 elm_calendar: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa eb9c451984 elm atspi interfaces: remove some pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa d5cbe8b9be elm_layout, elm_general: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa a7ffa599a4 elm_interface_atspi_text: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa 59b0d88447 elm_widget: remove pointers 2016-11-09 17:57:05 +01:00
Daniel Kolesa aaf6c1a8ee elm_interface_atspi_accessible: remove pointers 2016-11-09 17:57:05 +01:00
Carsten Haitzler 9f32f83d45 evlog + efl dbug - add logging of cpu freq and cpu usage per thread
this runs a 1000hz (or as best the kernel will allow) polling system
monitor thread that will logg the cpu frequencies of all cores (linux
only) as well as cpu usage per thread. this leads to much more
information able to be logged from an efl app (any efl app).

@feature
2016-11-10 01:02:22 +09:00
Guilherme Iscaro 17af933ae7 Evas: Change evas_canvas_default_device_get() to property.
Reviewers: barbieri, jpeg, bdilly

Reviewed By: bdilly

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4387
2016-11-09 11:24:07 -02:00
Bruno Dilly ed48b8d93e efl: add getter for input device's seat
Since this code will be required in many use cases
of the multiseat feature, including examples.

Reviewers: iscaro, barbieri, cedric

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4385
2016-11-09 11:02:38 -02:00
Shinwoo Kim f2295d2fef [elementary][access] check previous access object before register 2016-11-09 21:13:57 +09:00
Hermet Park 4cd8dbf7a0 efl interface: define own FILL/EXPAND values.
efl interface shouldn't rely on Evas.
2016-11-09 20:07:18 +09:00
Amitesh Singh b8903b87d8 elm: remove datetime widget internal code
datetime legacy APIs are based on Efl.Ui.Clock public APIs.
2016-11-09 16:13:38 +05:30
Hermet Park e4f9f6ef1d efl interface: fix typo.
Eeek. values are switched..
2016-11-09 19:27:44 +09:00
Hermet Park a954e9a869 efl interface: define constant in eo.
This patch consolidates previous patch code - 7894952e01.

Suggested by @jpeg.
2016-11-09 19:07:34 +09:00
Hermet Park 7894952e01 efl stack: define own LAYER_MIN/MAX values.
efl interface shouldn't rely on evas.
2016-11-09 17:23:38 +09:00
Daniel Zaoui 0c78e1eb4d Toolbar: fix icon switch during state change
When many states are set on an item, the icon is deleted when the state
is changed. This shouldn't be as it leads to an unstable state whose
icon is still considered as existing and errors displayed on the screen.

We need to check that the icon is not used inside any state to permit its
deletion. Otherwise we should just hide it.

@fix
2016-11-09 07:42:57 +02:00
Daniel Zaoui 7957041d84 Toolbar: fix retrieval of previous state
There should be no problem that the prev_state is the first state.
The last state should be returned only if there is nothing before the
current state.

@fix
2016-11-09 07:42:57 +02:00
Daniel Zaoui 4e828b4f13 Focus: add NULL check before function invocation 2016-11-09 07:42:57 +02:00
Daniel Zaoui 773c56c645 Genlist: remove callback from correct object
Edje callback was removed from genlist instead of its Edje object.
2016-11-09 07:42:57 +02:00
Jean-Philippe Andre bff8dcfe21 evas: Fix clipping of masks and masks of masks
When an object inside a genlist is masked, scrolling would
cause render issues as the mask is not redrawn on move (only
the clip geometry is marked as dirty and recalculated, the
mask pixels are assumed to be well prepared already). As a
result, masked objects in a genlist would not show up
properly once you start scrolling.

This fixes that by hacking into evas a safety test to avoid
unnecessary clipping, and by using parent masks even if they
are not the direct clipper.

Note that no_render is still quite broken (eg. a no_render
mask may cause major issues, even crashes).

This reverts 5917b49f59
2016-11-09 10:52:26 +09:00
Jean-Philippe Andre f909a6d6ea evas: Fix masks of masks and clippers of clippers in general
The root cause was simple: smart object clipped was not
calling efl_super() on clip_set.

Fixes T4813 (and probably a whole lot of other bugs)
2016-11-09 10:52:03 +09:00
Gustavo Sverzut Barbieri 98fe627ca4 efl_net_session and efl_net_control for ConnMan
These are objects to allow control of networking devices
(efl_net_control) as well as an application to request for
connectivity (efl_net_session).

They are loosely based on ConnMan.org, which we already use in
Enlightenment Window Manager via DBus access with Eldbus. However they
do not map 1:1 as the goal was to expose a viable subset of controls
but in a simple and general way, thus nome strings were converted to
enums, some arrays of strings were converted to bitwise flags, some
names were made more general, such as "service" was turned into
"access point" so it doesn't generate confusion with other "network
services" (ie: http server), or "favorite" that was renamed to
"remembered". Some behavior are slightly different (yet able to be
implemented on top), such as "Service.MoveBefore" and "MoveAfter" were
converted to a numeric "priority", calculated from service's list
index, changing the priority will reoder the list and thus generate
the MoveBefore and MoveAfter DBus commands.

ConnMan was chosen not only because we already use it, but because its
DBus API is sane and simple, with the server doing almost all that we
need. This is visible in the efl_net_session, which is completely done
in the server and do not require any extra work on our side -- aside
from talking DBus and converting to Eo, which is a major work :-D

   NOTE: ConnMan doesn't use FreeDesktop.Org DBus interfaces such as
         Properties and ObjectManager, thus we cannot use
         eldbus_model_object.

There are two examples added:

 - efl_net_session_example: monitors the connection available for an
   application and try to connect. You need a connman compiled with
   session_policy_local and a configuration file explained in
   https://github.com/aldebaran/connman/blob/master/doc/session-policy-format.txt
   to get a connection if nothing is connected. Otherwise it will just
   monitor the connectivity state.

 - efl_net_control_example: monitors, plays the agent and configure
   the network details. It can enable/disable technologies, connect to
   access points (services) and configure them. It's quite extensive
   as allows testing all of ConnMan's DBus API except P2P (Peers).
2016-11-08 22:40:34 -02:00
Guilherme Iscaro 0e53b9a8ac Evas: Add support for multiple focused objects.
Using the multi-seat support, Evas is able to handle multiple focused objects.
This implementation allows one focused object per seat.
This patch introduces new APIs and events to handle this new scenario,
while keeping compatible with the old focus APIs.
2016-11-08 17:54:34 -02:00
Guilherme Iscaro add589c1b4 Evas: Properly set the device under legacy events.
If the user did an evas_device_push(), the event will contain the
pushed device, otherwise use the default devices.
2016-11-08 17:54:34 -02:00
Guilherme Iscaro fd4f17f315 Evas Events: Properly ref the Efl_Input_Devices. 2016-11-08 17:54:34 -02:00
Guilherme Iscaro 1f64ec9d15 Ecore Evas: Set the device that originated the event.
By doing so the evas events are able to specify from which device
the event originated from.
2016-11-08 17:54:34 -02:00
Guilherme Iscaro 453770137f Evas: Add the default input devices for Evas.
This will be useful when Ecore_Evas is setting up the
EFL_POINTER/KEY_EVENT struct.
2016-11-08 17:54:34 -02:00
Guilherme Iscaro cb6b049987 Efl Input Hold: Increment/Decrement the device reference. 2016-11-08 17:54:34 -02:00
Guilherme Iscaro 6d668f011c Efl Input Key: Increment/Decrement the device reference. 2016-11-08 17:54:34 -02:00
Guilherme Iscaro 059bb53bec Efl Input Pointer: Increment/decrement the device reference. 2016-11-08 17:54:34 -02:00
Vyacheslav Reutskiy 5fc98901ec edje_edit: fix compare double values 2016-11-08 09:40:25 +02:00
Jean-Philippe Andre 04e3d40ec3 evas: Fix performance issue with move
See T4749, 11b7cf6b72 introduced an issue and
e1e28ce320 fixed it but caused a massive
performance impact.

This should fix that. Thanks @zmike for the first patch.

Fixes T4840
2016-11-08 14:15:15 +09:00
Jean-Philippe Andre 0c850f67ce evas: Fix previous pointer position in output coords
This fixes the test "Window Socket" map resize.
I broke that in 40fec5f608

Makes me wonder if the previous position should be exposed
in EO as well.
2016-11-08 14:15:14 +09:00
Guilherme Iscaro 8687a23820 Ecore Evas VNC: add client disconnected callback.
Summary:
Ecore Evas VNC: Properly unregister the region push hook callback.

This callback must be unregistered when the VNC server is deleted.

Reviewers: bdilly, barbieri, cedric

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:44:40 -08:00
Artem Popov a061f211c0 Eina: add NULL check to eina_module_symbol_global_set API @fix
Summary: Add checking on NULL like in other API in module, to avoid segmentation fault

Reviewers: NikaWhite, cedric

Reviewed By: cedric

Subscribers: myoungwoon, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:42:54 -08:00
Andrii Kroitor 595ae821ba elm_layout: add mmap support
Reviewers: cedric, Hermet, raster, NikaWhite

Subscribers: jpeg, reutskiy.v.v

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:42:07 -08:00
Marcel Hollerbach b56e508224 evas: move the error listing in dbg info to the canvas image
Summary:
the canvas image is the only one presenting the load api, in all other
implementations you would only see error messages.

Reviewers: jpeg

Subscribers: cedric, raster

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-07 14:41:06 -08:00
Cedric BAIL de131bf5d0 eina: remove Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL 144ef9dad3 eolian: remove Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL 8a471e96be elementary: fix conversion mistake from Eina_Promise to Efl_Future in file selector. 2016-11-07 11:29:23 -08:00
Cedric BAIL 08c3102dc0 ecore: remove ecore_thread_promise_run. 2016-11-07 10:49:02 -08:00
Mike Blumenkrantz e1e28ce320 evas: restore expected behavior for rejecting move with same coords
move the check to after the intercept where it was previously

ref 11b7cf6b72

fix T4749
2016-11-07 11:03:16 -05:00
Stefan Schmidt 9a10b83281 docs: ecore_con: add missing docs for new efl_net_* components 2016-11-07 15:58:54 +01:00
Stefan Schmidt a06aa07001 docs: elm_web: add missing docs for elm_web 2016-11-07 15:58:11 +01:00
Stefan Schmidt a670418431 docs: efl_io: add missing docs for efl_io_manager 2016-11-07 15:53:35 +01:00
Stefan Schmidt 095c8d2484 docs: efl_input: add missing docs for efl input pointer 2016-11-07 12:07:28 +01:00
Stefan Schmidt 55ee0d8fe8 docs: eldbus: add docs for new eldbus enum 2016-11-07 11:43:20 +01:00
Subhransu Mohanty 7c51b3de00 ector: update the render api eo signeture 2016-11-07 16:54:09 +09:00
Carsten Haitzler d6ed9e048d evas render evlog - add more evlog spots to help identify issues
this adds more logging spots to provide to evlog + efl debugd so we
can identify issues much more easily
2016-11-07 11:26:22 +09:00
Carsten Haitzler f18d9d7237 remove memcmp calls for better performance where size is known
so i have been doing some profiling on my rpi3 ... and it seems
memcmp() is like the number one top used function - especially running
e in wayland compositor mode. it uses accoring to perf top about 9-15%
of samples (samples are not adding up to 100%). no - i cant seem to
get a call graph because all that happens is the whole kernel locks up
solid if i try, so i can only get the leaf node call stats. what
function was currently active at the sample time. memcmp is the
biggest by far. 2-3 times anything else.

  13.47%  libarmmem.so                [.] memcmp
   6.43%  libevas.so.1.18.99          [.] _evas_render_phase1_object_pro
   4.74%  libevas.so.1.18.99          [.] evas_render_updates_internal.c
   2.84%  libeo.so.1.18.99            [.] _eo_obj_pointer_get
   2.49%  libevas.so.1.18.99          [.] evas_render_updates_internal_l
   2.03%  libpthread-2.24.so          [.] pthread_getspecific
   1.61%  libeo.so.1.18.99            [.] efl_data_scope_get
   1.60%  libevas.so.1.18.99          [.] _evas_event_object_list_raw_in
   1.54%  libevas.so.1.18.99          [.] evas_object_smart_changed_get
   1.32%  libgcc_s.so.1               [.] __udivsi3
   1.21%  libevas.so.1.18.99          [.] evas_object_is_active
   1.14%  libc-2.24.so                [.] malloc
   0.96%  libevas.so.1.18.99          [.] evas_render_mapped
   0.85%  libeo.so.1.18.99            [.] efl_isa

yeah. it's perf. it's sampling so not 100% accurate, but close to
"good enough" for the bigger stuff. so interestingly memcmp() is
actually in a special library/module (libarmmem.so) and is a REAL
function call. so doing memcmp's for small bits of memory ESPECIALLY
when we know their size in advance is not great. i am not sure our own
use of memcmp() is the actual culprit because even with this patch
memcmp still is right up there. we use it for stringshare which is
harder to remove as stringshare has variable sized memory blobs to
compare.

but the point remains - memcmp() is an ACTUAL function call. even on
x86 (i checked the assembly). and replacing it with a static inline
custom comparer is better. in fact i did that and benchmarked it as a
sample case for eina_tiler which has 4 ints (16 bytes) to compare
every time. i also compiled to assembly on x86 to inspect and make sure
things made sense.

the text color compare was just comparing 4 bytes as a color (an int
worth) which was silly to use memcmp on as it could just cast to an
int and do a == b. the map was a little more evil as it was 2 ptrs
plus 2 bitfields, but the way bitfields work means i can assume the
last byte is both bitfields combined. i can be a little more evil for
the rect tests as 4 ints compared is the same as comparing 2 long
longs (64bit types). yes. don't get pedantic. all platforms efl works
on work this way and this is a base assumption in efl and it's true
everywhere worth talking about.

yes - i tried __int128 too. it was not faster on x86 anyway and can't
compile on armv7. in my speed tests on x86-64, comparing 2 rects by
casting to a struct of 2 long long's and comparing just those is 70%
faster than comapring 4 ints. and the 2 long longs is 360% faster than
a memcmp. on arm (my rpi3) the long long is 12% faster than the 4 ints,
and it is 226% faster than a memcmp().

it'd be best if we didnt even have to compare at all, but with these
algorithms we do, so doing it faster is better.

we probably should nuke all the memcmp's we have that are not of large
bits of memory or variable sized bits of memory.

i set breakpoints for memcmp and found at least a chunk in efl. but
also it seems the vc4 driver was also doing it too. i have no idea how
much memory it was doing this to and it may ultimately be the biggest
culprit here, BUT we may as well reduce our overhead since i've found
this anyway. less "false positives" when hunting problems.

why am i doing this? i'm setting framerate hiccups. eg like we drop 3,
5 or 10 frames, then drop another bunch, then go back to smooth, then
this hiccup again. finding out WHAT is causing that hiccup is hard. i
can only SEE the hiccups on my rpi3 - not on x86. i am not so sure
it's cpufreq bouncing about as i've locked cpu to 600mhz and it still
happens. it's something else. maybe something we are polling? maybe
it's something in our drm/kms backend? maybe its in the vc4 drivers or
kernel parts? i have no idea. trying to hunt this is hard, but this is
important as this is something that possibly is affecting everyone but
other hw is fast enough to hide it...

in the meantime find and optimize what i find along the way.

@optimize
2016-11-06 13:13:10 +09:00
Carsten Haitzler 45771d47ab eo - use free queue for at least some eo core memory and pointers
this should help improve robusteness by keeping memory around for a
bit until the free queue flushes or is full

@feature
2016-11-06 13:13:10 +09:00
Carsten Haitzler ac861be550 eina list - use free queue to defer freeing list nodes and accting
this should help with robustness a little bit by keeping nodes in the
free queue purgatory until enteirng idle etc.

@feature
2016-11-06 13:13:10 +09:00
Carsten Haitzler 895f56aa64 ecore main loop - drive the free queue from the loops idle enterer
this will drive the free queue and make sure an idler will run through
pending frees once the loop has gone idle.
2016-11-06 13:13:10 +09:00
Carsten Haitzler 0ee33e7b4b eina - add a free queue (eina_freeq) for deferring frees of data
this adds eina_freeq api's for c land for deferring freeing of
pointers and can be used a s a simple copy & paste drop-in for free()
just to "do this later". the pointer will eveentually be freed as
eina_shutdown will free the main free queue and this will in turn free
everything in it. as long as the main lo0op keeps pumping things will
og on the queue and then be freed from it. free queues have limits so
if they get full they will clear out old pointers and free them so it
won't grow without bound. the default max is 1mb of data or 16384
items whichever limit is hit first and at that point the oldest item
will be freed to make room for the newest. the mainloop whenever it
finishes idle enterers will add an idler to spin and free while idle.
the sizes can be tuned and aruged about as to what defaults should be.

this also allows for better memory debugging too by being able to fill
freed memory with patterns if its small enough etc. etc.

@feature
2016-11-06 13:13:10 +09:00
Daniel Kolesa 0ad751cd83 edje eo: remove pointers 2016-11-04 17:19:53 +01:00
Daniel Kolesa a8f240e10d ecore_audio, eio eo: remove pointers 2016-11-04 17:14:30 +01:00
Daniel Kolesa 57792897a2 eldbus eo: remove pointers 2016-11-04 17:12:17 +01:00
Daniel Kolesa 6975b89e14 ecore con: remove pointers 2016-11-04 17:07:50 +01:00
Gustavo Sverzut Barbieri e466dd5c3b efl_model: child,{added,removed} have a payload object. 2016-11-04 13:19:57 -02:00
Gustavo Sverzut Barbieri dd628d4fad fix event name 2016-11-04 13:19:57 -02:00
Gustavo Sverzut Barbieri 7b590c126e eldbus/eo: improve API
remove setters that do not make sense, they are set in the constructor
functions and cannot be changed.

define the Eldbus_Connection_Type in .eo, properly type functions
using it.
2016-11-04 13:19:57 -02:00
Gustavo Sverzut Barbieri d8ad2507bc fix event name 2016-11-04 13:19:56 -02:00
Stefan Schmidt f742c8488c docs: efl_ui*: add docs for interfaces and events 2016-11-04 12:28:11 +01:00
Stefan Schmidt ff53608bdb docs: elm_photocam: add docs for interfaces and events 2016-11-04 12:28:11 +01:00
Stefan Schmidt e509e69db8 docs: elm_atspi: add docs for elm atspi interfaces 2016-11-04 12:28:11 +01:00
Stefan Schmidt 403dcc785e docs: harmonize AT-SPI writing in all eo files.
AT-SPI is how I find it written in most places. Align to this in our docs.
2016-11-04 12:28:11 +01:00
Stefan Schmidt 1edeb4a7c6 docs: elm_code: add missing documentation for elm code widget 2016-11-04 12:28:11 +01:00
Hermet Park 7cdc247b51 elementary transit: more optimal api call.
come to think of it, we have a size get api...
2016-11-04 20:25:24 +09:00
Hermet Park c446df487f elementary transit: support image fill area in zoom effect.
Transit zoom effect didn't care image fill area in case of manual filling.
This additional logic computes map uvs with regards to the current image fill area.

@fix
2016-11-04 20:21:59 +09:00
Mykyta Biliavskyi 132bac98c8 Evas events: fix for works with pipes on windows.
Evil implementation of pipe() function uses sockets. Windows functions
"write", "read" and "close" doesn't works with sockets. In this commit
added macros, that replace "read" with "recv", "write" with "send" and
"close" with "closesocket".

@fix
2016-11-04 11:06:11 +02:00
Cedric BAIL 832873259c ecore: fix efl_future_all/race to be setup on already fulfilled future. 2016-11-03 18:03:16 -07:00
Cedric BAIL 59a635d251 ecore: make call to future_get and value_set irrelevant as they should be. 2016-11-03 18:03:16 -07:00
Felipe Magno de Almeida 137dd4864d eina-cxx: eolian-cxx: Fix correct usage of is_eolian_object traits 2016-11-03 17:59:20 -02:00
Daniel Kolesa 4fa4be2b14 evas_textgrid: remove pointers 2016-11-03 17:13:30 +01:00
Daniel Kolesa df47f92236 evas_box: remove pointers 2016-11-03 17:13:00 +01:00
Daniel Kolesa 713df88b66 efl_canvas_output: remove pointer 2016-11-03 17:10:40 +01:00
Daniel Kolesa 01117bf898 efl_vg: remove pointer 2016-11-03 17:10:01 +01:00
Daniel Kolesa af45994679 evas_canvas3d_light: remove pointer 2016-11-03 17:09:22 +01:00
Daniel Kolesa db3bbe821f evas_canvas3d_node: remove pointers 2016-11-03 17:08:54 +01:00
Daniel Kolesa 418f68020f evas_canvas3d_primitive: remove pointer 2016-11-03 17:08:10 +01:00
Daniel Kolesa 137afa68ad evas_canvas3d_mesh: remove pointers 2016-11-03 17:07:46 +01:00
Daniel Kolesa b347c05f11 evas_canvas3d_camera: remove pointer 2016-11-03 17:07:15 +01:00
Daniel Kolesa 06e0473a79 evas_canvas: remove pointers 2016-11-03 17:06:28 +01:00
Daniel Kolesa cbe42ac34d efl_canvas_text: remove pointers 2016-11-03 17:05:00 +01:00
Daniel Kolesa d433f1e73c efl_canvas_text_cursor: remove pointers 2016-11-03 17:04:00 +01:00
Daniel Kolesa 8841f7e781 ecore_exe: remove pointers 2016-11-03 17:03:14 +01:00
Daniel Kolesa 54ad4f24d2 efl_io_copier: remove pointers 2016-11-03 17:02:24 +01:00
Daniel Kolesa d773f33612 efl_loop: remove pointers 2016-11-03 17:01:31 +01:00
Daniel Kolesa 792c1f2308 ector_renderer_gl: remove pointer 2016-11-03 17:00:28 +01:00
Daniel Kolesa 4762516beb ector_cairo_surface: remove pointer 2016-11-03 16:59:08 +01:00
Daniel Kolesa 1b4cea9b08 ector_gl_surface: remove pointers 2016-11-03 16:58:41 +01:00
Daniel Kolesa 00abb62e53 ector_renderer: remove pointers 2016-11-03 16:57:39 +01:00
Daniel Kolesa bc8601690d ector_buffer: remove pointers 2016-11-03 16:57:00 +01:00
Daniel Kolesa 61d87af9e6 efl_io_buffer: remove pointer 2016-11-03 16:53:33 +01:00
Daniel Kolesa 73ceac1f6c efl_model: remove pointer 2016-11-03 16:53:33 +01:00
Daniel Kolesa 3b2fdfcc60 efl_gfx_gradient: remove pointer 2016-11-03 16:53:33 +01:00
Daniel Kolesa 6369ccb1d8 efl_file: remove pointer 2016-11-03 16:53:33 +01:00
Daniel Kolesa 6e0e4a8fe5 efl_gfx_shape: remove pointers 2016-11-03 16:53:33 +01:00
Daniel Kolesa 0f20af41ea efl_gfx_buffer: remove pointers 2016-11-03 16:53:33 +01:00
Daniel Kolesa d00c22934f efl_config: remove pointers 2016-11-03 16:53:33 +01:00
Daniel Kolesa 3c4e0ff76e efl_input_event: remove pointer 2016-11-03 16:53:33 +01:00
Daniel Kolesa 50c9ef12df efl_gfx_types: remove pointer 2016-11-03 16:53:33 +01:00
Mike Blumenkrantz f116310757 elm scrollable: return correct values from post event callbacks
post event callbacks must return 0 to stop processing when an event is
consumed, and 1 when processing should continue. this is the only place in
all of efl which used this functionality, and it did so incorrectly.

@fix

ref 248b6beeee
ref D2393
2016-11-03 11:42:26 -04:00
Carsten Haitzler 7d654b2065 fix build for c++ after eolian api change 2016-11-03 22:48:09 +09:00
Carsten Haitzler 51b2789a35 evas lang unicode tables - reduce memory by 24k+1324 bytes
so bu5hman pointed out a compile warning from clang that

 { 0x20000, 42711, EVAS_SCRIPT_HAN },

has 42711 exceeding a signed short. true. so this should be an
unsigned short. but this drew me to the fact the whole array could be
shorter by packing this short with the style memeber after it making
them pack into a nicely aligned 4 byte chunk next to the start unicode
value before it, thus chopping 1324 bytes off this table. even worse
the 8192 entry fast table above is using a full 32bits per entry where
they data they store is not even exceeding 7bits, so move this to an
unsigned char saving another 24k. this should reduce cache misses and
memory footprint and binary footprint of the evas .so files etc.

@fix + @optimize
2016-11-03 22:22:54 +09:00
Carsten Haitzler 4ed2e01591 remove xcb support in ecore_x and evas engines as per mailing list
as per mailing list discussion about dropping xcb support now. it
hasn't been complete for a long time, thus not recommented for being
turned on. as we are moving to a wayland world xcbmakes even less
sense. as agreed, time to clean up a bit and remove a distraction as
well as not well tested code. this also updates po's too.

@feature
2016-11-03 22:22:54 +09:00
Daniel Kolesa f399e77a92 eolian: rename is_ref API to is_ptr to match syntax 2016-11-03 14:22:21 +01:00
Stefan Schmidt 4a66bd14b7 docs: document all missing type defines in our eo files
With this commit we reach 100% alias doc coverage for our eo files.
2016-11-03 11:57:40 +01:00
Stefan Schmidt 42426735e8 docs: ecore: document various type defines 2016-11-03 11:57:40 +01:00
Stefan Schmidt 7a05269d66 docs: edje: document various type defines 2016-11-03 11:57:40 +01:00
Stefan Schmidt fd886965c0 docs: elm: document various type defines 2016-11-03 11:57:40 +01:00
Stefan Schmidt 049bf0247c docs: evas: document various type defines 2016-11-03 11:57:40 +01:00
Stefan Schmidt b98a76dc37 docs: efl_clock: fill missings docs for new efl clock class 2016-11-03 11:57:40 +01:00
Stefan Schmidt 8e1dac310a docs: efl_observer: fill missing docs for new efl_observer 2016-11-03 11:57:39 +01:00
Jean-Philippe Andre b96b2aafcb evas: Fix warning with va_start in internal EAPI
Clang 3.9.0 told me:
  warning: passing an object that undergoes default argument
  promotion to 'va_start' has undefined behavior [-Wvarargs]

So I told it to shut up and changed Eina_Bool to int.

Note that edje_edit_state_external_param_set has the same issue.
2016-11-03 17:22:15 +09:00
Jean-Philippe Andre d0333561be evas: Add some safety code to evas_clip
I'm trying to fix a crash that seems to happens in some very odd
circumstances under stress testing. I have absolutely no idea
what is going wrong... So let's just add some extra safety.
2016-11-03 17:22:15 +09:00
Jean-Philippe Andre 7f25f19b47 evas: Simplify intercept code
I'm trying to fix a bug. This is not changing logic in any way,
just factorizes the use of va_args.
2016-11-03 17:22:15 +09:00
Jean-Philippe Andre 9af981469d elm: Fix usage of invalid object type (image)
This fixes a a crash on NULL and ensures the EAPI call is
done on an elm_image. Just checking NULL is not good enough
as _efl_ui_image_sizing_eval() doesn't check the type first.
2016-11-03 17:22:14 +09:00
Jean-Philippe Andre a8ff76eb0d evas: Fix debug logs with REND_DBG (typo) 2016-11-03 17:22:14 +09:00
Jean-Philippe Andre 4d1c53d916 evas: Avoid calling render() on smart objects
Smart objects do not render themselves. This can avoid a
bit of extra unnecessary work.
2016-11-03 17:22:14 +09:00
Jean-Philippe Andre eb8d9387c1 wayland: Remove support for "draw_frame"
draw_frame is a legacy feature that draws a very ugly window border
with a white rect and a black text as title bar. This could be
used in wayland when using only the ecore_evas APIs, rather than
elm_win.

Note that the API ecore_evas_draw_frame_set() can not possibly work
as the flag is checked when the ecore_evas is created, so changing
the flag has no effect on existing windows.
2016-11-03 17:22:14 +09:00
Jean-Philippe Andre dcb8e87478 ecore_evas: Replace ECORE_MAGIC_CHECK with common macro
This removes a lot of clutter in the code.
2016-11-03 17:22:14 +09:00
Jean-Philippe Andre d0196d74ce efl: Fix build break with builddir != srcdir 2016-11-03 17:22:14 +09:00
Amitesh Singh 0bcb0302fb efl_ui_clock: Merge datetime/dayselector/clock widgets into efl_ui_clock.
Summary:
Datetime widget is module based, so datetime widget is used as base for efl_ui_clock and merged dayselector/clock features into efl_ui_clock.
Added day selection and seconds support in efl_ui_clock.
 Added clock features like auto updation of time, stop timer etc in efl_ui_clock.
 Added API to enable/disable edit_mode. efl_ui_clock can be configurable to display either only day/date/time or display any two of them or display all three.
Added efl_ui_clock.c and test_ui_clock.c. Theme and Module is added in another patch by Amitesh.

Original author is Yeshwanth <r.yeshwanth@samsung.com>. I have polished this patch a bit and make it compatible with current EFL code.

Test Plan: test_ui_clock

Reviewers: bu5hm4n, tasn, yashu21985, jpeg, cedric, raster

Subscribers: CHAN, woohyun

Differential Revision: https://phab.enlightenment.org/D3938
2016-11-03 12:00:17 +05:30
Chris Michael e3f02acc93 ecore-wl2: Update cursor regardless of cursor surface
If a NULL surface gets passed into ecore_wl2_window_pointer_set that
would mean we are unsetting the cursor surface, so we should still be
calling wl_pointer_set_cursor even with a NULL surface.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-02 12:13:09 -04:00
Chris Michael 93f7639c0d elput: Add API to allow setting pointer acceleration profile
This patch adds an API that can be used to set a pointer acceleration
profile. This API should be used when addressing T4736

ref T4736

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-02 09:58:43 -04:00
Daniel Kolesa c4f64a3390 eolian: rename ref to ptr to avoid confusion with eo refs 2016-11-02 13:06:38 +01:00
Jaehyun Cho cccbad2298 naviframe: Fix to process title show/hide signal immediately 2016-11-02 19:51:47 +09:00
WooHyun Jung 9eee22cb6d elm_popup: before getting focus, all sub objs should be shown 2016-11-02 09:28:26 +09:00
Gustavo Sverzut Barbieri 54e00b5e9d unbreak build for OpenSSL < 1.0.2
not the ideal solution, but we need a decision if we're going to copy
the long code from OpenSSL into our library just to support legacy
users, given that Efl.Net targeted at the future.
2016-11-01 19:38:41 -02:00
Cedric BAIL 4a434a94aa elementary: not every call are from ecore_job infrastructure, NULL only when they are.
This is something that our tests suite detected. Please pay attention.
2016-11-01 11:48:45 -07:00
Jee-Yong Um 0fd1445508 edje.object: implement Efl.Observer interface
Summary:
To remove duplicated lines to handle edje class (color, text, size),
observer interface is implemented to Edje.Object.

Reviewers: jpeg, cedric

Reviewed By: cedric

Subscribers: bu5hm4n, cedric

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Youngbok Shin ab9f0ae3ca elementary entry: keep style user when new theme is applied
Summary:
The style user should be kept when entry's mode is changed.
@fix

Test Plan:
1. Run "elementary_test -to "entry style user"
2. Click "Singleline Mode" toggle
3. See the result

Reviewers: raster, tasn, herdsman, cedric

Reviewed By: cedric

Subscribers: jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Woochan Lee 19dcea07d1 elm_multibuttonentry: send "clicked" signal when item got hardware enter key.
Summary:
It was kind of bug state before.

There was no any action when the user gives a focus on an item. then press the enter key.
The item should be set as selected state after that should call clicked signal.

@fix

Test Plan: elementary test MBE sample.

Reviewers: woohyun, bu5hm4n, Hermet

Subscribers: cedric, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2016-11-01 11:48:44 -07:00
Gustavo Sverzut Barbieri c2630c829f efl_net_server support systemd socket activation.
It includes extensive verifications to avoid mistakes and usage of
incorrect sockets.
2016-11-01 16:37:04 -02:00
Bruno Dilly 8bf74da7bc ecore_wl2: associate evas devices to input ecore events
So users would be able to differentiate between source
seats.
2016-11-01 16:06:19 -02:00