Commit Graph

16465 Commits

Author SHA1 Message Date
Guilherme Iscaro 059bb53bec Efl Input Pointer: Increment/decrement the device reference. 2016-11-08 17:54:34 -02:00
Chris Michael 11ef74c962 ecore-evas-wayland: Fix case of potential double-free
This patch addresses the case where we failed to allocate 'wdata' and
were calling free(ee) before going to an error handler. For the fix,
just don't free(ee) here and let the error handling do it's job.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 12:16:06 -05:00
Chris Michael 7a74a2e176 ecore-evas-wayland: Fix typo
Fix small typo which lead to undefined error statement.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 11:22:23 -05:00
Chris Michael b7406df4cf ecore-evas-wayland: Add warning if we fail to set engine info
Coverity reports an error handling issue here as we are not checking
the return value of evas_engine_info_set, so check that return and
issue a warning if it fails.

Fixes Coverity CID1365651

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 11:13:07 -05:00
Chris Michael 781a5089e5 ecore-evas-wayland: Fix NULL pointer dereference
Coverity reports that accessing 'einfo' here is a NULL pointer
dereference. evas_engine_info_get can return NULL, so we should be
checking for a valid return before trying to use it.

Fixes Coverity CID1365654

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 11:10:53 -05:00
Chris Michael 8a24d64030 ecore_evas_wayland: Fix null pointer dereference
Coverity reports a null pointer dereference here because
evas_engine_info_get can return NULL. Check for a valid return before
trying to use it.

Fixes Coverity CID1365655

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 11:09:00 -05:00
Chris Michael 90dabc831f ecore-evas-wayland: Fix use after free
Coverity reports illegal access here as we are trying to pass a freed
pointer to ecore_evas_free. Rework error handling to avoid this.

Fixes Coverity CID1365657

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2016-11-08 11:06:36 -05:00
Vyacheslav Reutskiy 867cf1564a elementary_test: rework a 'Genlist Tree, Insert Sorted' test
This test was reworked for better show how sorted insert work.
Currently sorted insert work bad. The new inserted items does not
check the subitems of prev item.

TODO: fix the elm_genlist_item_sorted_insert.
2016-11-08 09:40:25 +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 6d7c6445f8 ecore: simplify suite name as I try to spot an intermitent failure.
While running ecore_suite, I, some times, see a failure in the thread queue test,
sadly I can't reproduce it while just executing :
CK_RUN_CASE=Eina_Thread_Queue  ./tests/ecore/ecore_suite
2016-11-07 14:05:55 -08:00
Cedric BAIL de131bf5d0 eina: remove Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL 50402592bf eio: fix conversion mistake from Eina_Promise to Efl_Future. 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 8a3e745e1a eolian: remove test for generated Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL e03c8957cd eolian_js: remove Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL 997249e6c2 eolian: remove generation of Eina_Promise. 2016-11-07 13:43:11 -08:00
Cedric BAIL 90c7a8a680 bindings: remove Eina_Promise reference from JS binding. 2016-11-07 13:43:11 -08:00
Cedric BAIL 6ee17d8f2d bindings: remove Eina_Promise from C++ bindings. 2016-11-07 12:03:55 -08:00
Cedric BAIL d45e3abdba eolian_cxx: do not test Eina_Promise anymore. 2016-11-07 12:03:55 -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 e842c79ff3 eina: remove Eina_Promise tests. 2016-11-07 11:23:59 -08:00
Cedric BAIL 1f7d96e167 ecore: remove Eina_Promise tests. 2016-11-07 11:18:37 -08:00
Cedric BAIL 5db949196e eina: remove benchmark for Eina_Promise. 2016-11-07 11:12:33 -08:00
Cedric BAIL 5038f2551a elementary: update example to use Efl_Future. 2016-11-07 11:10:49 -08:00
Cedric BAIL 9413b260b6 elementary: remove old comment and update code accordingly. 2016-11-07 11:02:25 -08:00
Cedric BAIL 08c3102dc0 ecore: remove ecore_thread_promise_run. 2016-11-07 10:49:02 -08:00
Cedric BAIL af3788439b ecore: remove tests for ecore_thread_promise_run. 2016-11-07 10:47:31 -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 b1e5539005 swap mode - add evlog logging for querying surface age
more debugging to hunt down possible blocks in getting buffer age if
it happens
2016-11-07 11:47:46 +09:00
Carsten Haitzler ad9cc1676e egl engines (wl, x11, drm) - add buffer age events for debugging
this adds evlog events that give buffer age details for event log
debugging to help hunt down issues.
2016-11-07 11:45:08 +09:00
Carsten Haitzler d762f74962 wl_drm and eayland_egl buffer age fix for gl when age changes
so i was just about to add buffer age debugging evlogs to everywhere
doing buffer age and i found... drm gl and wayland gl engines DONT
HANDLE age change like gl_x11! they dont reset to a "full render" for
that frame. well well. this explains bugs i am seeing for sure. very
very bag! i thought this was handled properly. this does lend some
credence to my thoughts about somehow having a single universal buffer
swapping/update calculating and "applying" api inside efl somewhere...

anyway - this fixes this issue for these 2 engines which is a real
necessary fix to be correct.

@fix
2016-11-07 11:40:02 +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
Daniel Zaoui 38a069e1e4 ElmTests: modify flip test to fit Exactness limitations.
Animations are not supported by Exactness. The test screenshots were not
giving any kind of information as they were taken only when the front
was displayed on the screen.
With this change, animations set on the back of the flip can be replaced by
a background, meaning that flip switches can be checked.
2016-11-06 10:38:41 +02: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
Bruno Dilly 613167333c elementary/test_entry: resize window on test without it
test_efl_ui_text was creating a very small window,
with cropped components, etc.
So let's create it with a mininum size to be able to
properly see this test.
2016-11-04 19:51:28 -02:00
Guilherme Iscaro fc2a3052b4 VNC Example: Add support to Ecore_Evas FB engine. 2016-11-04 18:29:42 -02:00
Guilherme Iscaro 70b83ad455 Ecore_Evas VNC: Add frame buffer support. 2016-11-04 18:29:42 -02:00
Guilherme Iscaro 0fa8dc48cd Evas FB: Add support for region push hook.
This will be useful to support the Ecore_Evas VNC server
under FB backend.
2016-11-04 18:29:42 -02:00
Bruno Dilly 96995032ea examples/edje: add example of entry - editable text
Not trivial to be done imo, so it deserves an example.
2016-11-04 18:01:57 -02:00
Bruno Dilly 24f4d14004 examples/edje: Fix build instructions and titles
Fix a few c&p errors
2016-11-04 18:01:57 -02:00
Bruno Dilly f8a0515b71 examples/edje: sort makefile lists 2016-11-04 18:01:57 -02: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 218403dc19 examples/eldbus/dbusmodel.c improve situation, far from correct.
it was using old API, updated, but still doesn't work as expected,
lots of warnings from children being left alive, all proxies are
reporting no properties...

when model dies, all children proxies should die as well, otherwise we
get on console:

```
CRI:eldbus lib/eldbus/eldbus_core.c:215 eldbus_shutdown() Alive TYPE_SYSTEM connection
ERR:eldbus lib/eldbus/eldbus_core.c:175 print_live_connection() conn=0x8219230 alive object=0x8276d50 net.connman of bus=net.connman
...
```

Also, all proxies are reporting no properties "(no properties yet)",
likely they are missing to fetch such... even if "--wait" to let it
run, no asynchronous properties are delivered, at least not triggering
EFL_MODEL_EVENT_PROPERTIES_CHANGED.
2016-11-04 13:19:57 -02: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 93fd5caa8a efl_ui_clock: make sure the headers are disted in to the final tarball
Fixes make distcheck after the new efl_ui_clock was introduced.
2016-11-04 12:28:11 +01:00
Stefan Schmidt a69506db44 tests: ecore_promise: removed unused variable
Looks like a copy and paste bug form the other tests.
2016-11-04 12:28:11 +01: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
Jean-Philippe Andre b8a76e20af evas: Fix masking with window rotation, take 2
The first patch did not work for maps. This explains why the
original code was so weird. But it actually made sense.

After struggling a bit I realized that we really just need
to shuffle around the pixel position on the window to map that
of the position in the canvas (unrotate it).

Note that compatibility with GLSL-ES (for OpenGL ES) implies
we can not use an array initializer like:
  vec2 pos[4] = vec2[4](a,b,c,d);
So the code could probably be optimized. But at least this works.

This patch also avoids calling glGetUniformLocation again and
again.
2016-11-04 15:28:56 +09:00
Jean-Philippe Andre 4071af438a Revert "evas: Simplify GL masking and fix window rotation"
This reverts commit 562528d28c.

This patch did not work with mapped images.
2016-11-04 15:26:41 +09: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
Cedric BAIL a7ff7ceebb ecore: cleanup test 2016-11-03 18:03:16 -07:00
Cedric BAIL a614303fb6 ecore: add check to make sure that the order of future_get and value_set can be switched. 2016-11-03 18:03:16 -07:00
Vitor Sousa 10e4e65250 ecore: add test for efl_future_then after value_set 2016-11-03 18:03:16 -07:00
Bruno Dilly fcf9f55150 examples/edje: cosmetic fixes in a couple examples
Fix usage messages, remove unused defines
2016-11-03 18:47:32 -02: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
Amitesh Singh 23b1c2af56 elm: fix build break
"/usr/local/include/elementary-1/Elementary.h:266:30: fatal error:
efl_ui_clock.eo.h: No such file or directory"
2016-11-03 14:54:50 +05:30
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 7f57e23670 ecore_evas/x: Minor code simplification 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 562528d28c evas: Simplify GL masking and fix window rotation
The original solution was really complex and relied on
transforming the current gl_Position into the screen
coordinate in pixels, and map that to the pixel position
in the mask.

This new solution simply pushes the required vertices for
the mask, based on its geometry. This fixes masks when used
in a rotated window.

Why was it so hard to get right? :(

@fix
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
Amitesh Singh b0d2e987f3 Efl.Ui.Clock: Add elm module & theme
Summary: depends on D3938

Reviewers: yashu21985, bu5hm4n, woohyun, Hermet, raster, jpeg

Subscribers: gohwoon.jeong, cedric, seoz, jpeg

Differential Revision: https://phab.enlightenment.org/D3939
2016-11-03 11:59:32 +05:30
Derek Foreman c425140a67 ecore_evas_wayland: Minimize differences between shm and egl
Finally bring these together as much as possible to avoid future
diversions when bugs are only fixed in one or the other.

There are functional changes - state tracking for client side effects is
now added to the shm engine, some bug fixes for the egl engine have been
brought to the shm engine.
2016-11-02 13:37:02 -05:00
Derek Foreman 4260d5d3a2 ecore_evas_wayland: Make resize code common
Brings resize code into the common implementation - there is a functional
change.  There appears to have been a bug in the egl resize where it
used the same w, h order for portrait evases as for landscape.  This was
fixed in shm.  I've used the shm variant for the common code.
2016-11-02 13:37:02 -05:00
Derek Foreman b23797c55a ecore_evas_wayland: Make rotation_set common
Rotation set can be moved into common now - should be no functional
change.
2016-11-02 13:37:01 -05:00
Derek Foreman 5d2a25a01d ecore_evas_wayland: Make transparent_set common
Moves transparent set into the common implementation - there is a
functional change here - the egl engine now calls transparent_set in
render_updates like the shm engine.

It is probable the this was the intended behaviour all along.
2016-11-02 13:37:01 -05:00
Derek Foreman 9ca6e274a4 ecore_evas_wayland: Make alpha set common
Moves alpha set into the common implementation - there is a functional
change here - the egl engine now calls alpha_do in render_updates like
the shm engine.

It is probable that this was the intended behaviour all along.
2016-11-02 13:37:01 -05:00
Derek Foreman 82277ae6b3 ecore_evas_wayland: Move more functions into the common implementation
Show and hide can be made common with almost no functional changes.
2016-11-02 13:37:01 -05:00
Derek Foreman af4a71bcf0 wayland evas engines: share engine info structure
These engines are incredibly similar - by sharing the same engine info
structure we'll be able to simplify the wayland ecore_evas bits and
make them much more maintainable.
2016-11-02 13:37:01 -05:00
Derek Foreman 55de5c61cd ecore_evas_wayland: Don't include Evas_Engine_Wayland_Egl.h
There doesn't seem to be any need for this.
2016-11-02 13:37:01 -05:00
Derek Foreman 0b9f77ac96 wayland_egl: Remove unused wl_egl_window variables 2016-11-02 13:37:01 -05:00
Derek Foreman 54cf6dac4a wayland evas engines: rename wayland display to wl_display
Continuing to make the shm and egl engines closer to eachother.
2016-11-02 13:37:00 -05:00