platform/upstream/efl.git
7 years agoeo: Make error message less nebulous
Jean-Philippe Andre [Mon, 5 Dec 2016 00:46:55 +0000 (09:46 +0900)]
eo: Make error message less nebulous

When writing this ERR log I thought about "thread" (it's really
the keyword here) but eventually reworded to "context". Let's be
clearer about the possible issue here.

7 years agoelm_code: refactoring of the elm_code_line_indent to work with lines
Andy Williams [Sat, 3 Dec 2016 15:59:40 +0000 (15:59 +0000)]
elm_code: refactoring of the elm_code_line_indent to work with lines

7 years agoeina_btlog: compact output and keep non-bt information.
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 14:57:24 +0000 (12:57 -0200)]
eina_btlog: compact output and keep non-bt information.

Now we keep all non-bt prefixes as well, in conjunction with compact
mode it looks like we resolved the address to lines in the output.

Example:

```
$ cat bt-new.txt
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e401ca: libeo_dbg.so+0x91ca (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e3fb42: _efl_add_internal_start+0x1c2 (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x0000000010a85f: lt-efl_net_dialer_simple_example+0x285f (in /home/gustavo/Development/git/efl/src/examples/ecore/.libs/lt-efl_net_dialer_simple_example 0x108000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000005c7c291: __libc_start_main+0xf1 (in /usr/lib/libc.so.6 0x5c5c000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x0000000010a38a: _start+0x2a (in /home/gustavo/Development/git/efl/src/examples/ecore/.libs/lt-efl_net_dialer_simple_example 0x108000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007feb55b9 deleted obj=0x97870b0, class=0x9785850 (Efl_Net_Dialer_Simple) [0.9045s, 0.0198 ago]:
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e409aa: libeo_dbg.so+0x99aa (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e407f1: libeo_dbg.so+0x97f1 (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e3eee8: libeo_dbg.so+0x7ee8 (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e3f09e: _efl_object_call_end+0x4e (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000004e48a65: efl_del+0x105 (in src/lib/eo/.libs/libeo_dbg.so 0x4e37000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x0000000010ac2c: lt-efl_net_dialer_simple_example+0x2c2c (in /home/gustavo/Development/git/efl/src/examples/ecore/.libs/lt-efl_net_dialer_simple_example 0x108000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00000005c7c291: __libc_start_main+0xf1 (in /usr/lib/libc.so.6 0x5c5c000)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x0000000010a38a: _start+0x2a (in /home/gustavo/Development/git/efl/src/examples/ecore/.libs/lt-efl_net_dialer_simple_example 0x108000)
ERR<24641>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007c9a1109 was already deleted 0.0287 seconds ago!
```

Results in:

```
$ cat /tmp/bt-new.txt | eina_btlog -c
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _eo_log_obj_new (in eo.c:2691)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _efl_add_internal_start (in eo.c:844)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    main (in efl_net_dialer_simple_example.c:375)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    __libc_start_main (in ??:375)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _start (in ??:375)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007feb55b9 deleted obj=0x97870b0, class=0x9785850 (Efl_Net_Dialer_Simple) [0.9045s, 0.0198 ago]:
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _eo_log_obj_free (in eo.c:2714)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _eo_free (in eo.c:974)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _efl_unref_internal (in eo_private.h:342)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _efl_object_call_end (in eo.c:620)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    efl_del (in efl_object.eo.c:78)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    main (in efl_net_dialer_simple_example.c:447)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    __libc_start_main (in ??:447)
ERR<23314>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    _start (in ??:447)
ERR<24641>:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007c9a1109 was already deleted 0.0287 seconds ago!
```

which is similar to valgrind's log and is MUCH nicer to read :-)

This commit also simplifies alignment and color display by using a single printf().

7 years agoeina_btlog: show comments (non-bt lines)
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 14:15:06 +0000 (12:15 -0200)]
eina_btlog: show comments (non-bt lines)

If the user paste the backtrace he may include some non-backtrace
line, such as Eo logs that includes the message saying what's the
backtrace is about.

These lines will be printed as is, unless "-C" is used to discard
them.

7 years agoeina_btlog: understand new backtrace format used by eo.
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 13:59:48 +0000 (11:59 -0200)]
eina_btlog: understand new backtrace format used by eo.

The output of eo backtrace is much more readable than eina's default,
but still misses addr2line translation done by eina_btlog, so make
eina_btlog understand the new format.

7 years agoeina_btlog: improve help.
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 13:06:05 +0000 (11:06 -0200)]
eina_btlog: improve help.

7 years agoelm_code: ooops, fix test from previous refactor
Andy Williams [Sat, 3 Dec 2016 06:08:10 +0000 (06:08 +0000)]
elm_code: ooops, fix test from previous refactor

7 years agoeo: do not use eina_trash when running on valgrind.
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 12:35:27 +0000 (10:35 -0200)]
eo: do not use eina_trash when running on valgrind.

This allows valgrind to show when the object was created and deleted.

7 years agoeo: fix compilation without HAVE_BACKTRACE.
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 11:44:44 +0000 (09:44 -0200)]
eo: fix compilation without HAVE_BACKTRACE.

time_get() function was used even in that case to log when objects
were created or deleted.

thanks @vtorri.

7 years agoeo: fix missing Evil.h include
Gustavo Sverzut Barbieri [Sat, 3 Dec 2016 11:41:09 +0000 (09:41 -0200)]
eo: fix missing Evil.h include

7 years agoeo: fix build on macOS
Jean Guyomarc'h [Sat, 3 Dec 2016 11:10:04 +0000 (12:10 +0100)]
eo: fix build on macOS

Commit 227463bd introduces macOS-specific code, but without including the
header that provides the used declarations.

7 years agoeio - have a smaller mempool as i can see 270k of stuff hanging about
Carsten Haitzler (Rasterman) [Sat, 3 Dec 2016 09:01:53 +0000 (18:01 +0900)]
eio - have a smaller mempool as i can see 270k of stuff hanging about

eio seems to consume memory even when not in active use. this saves
most of 270k even when no longer needed. the mempool just keeps stuff
around pretty much forever. also the memory size limit doesn't work at
asll if yous set it to something other than -1. it just locks eio up.

@optimize

7 years agoevas - fix out events broken by recent multiseat work
Carsten Haitzler (Rasterman) [Sat, 3 Dec 2016 05:46:21 +0000 (14:46 +0900)]
evas - fix out events broken by recent multiseat work

this fixes e's poitners to be "sensible" again.

7 years agoevas - more render cache cleanups
Carsten Haitzler (Rasterman) [Sat, 3 Dec 2016 03:44:57 +0000 (12:44 +0900)]
evas - more render cache cleanups

i forgot to save this file before git committing... so also delete
update rect del array from render cache.

7 years agoevas render cache - clean up memory in all cases
Carsten Haitzler (Rasterman) [Sat, 3 Dec 2016 03:43:11 +0000 (12:43 +0900)]
evas render cache - clean up memory in all cases

this cleans up memory for the rect del array in render cache and when
smart objects are deleted that hold render caches

7 years agoelm_code: Add indentation for matching braces
Andy Williams [Sat, 3 Dec 2016 00:55:02 +0000 (00:55 +0000)]
elm_code: Add indentation for matching braces

Summary: when type closing brace, it find matching braces and then indent.

Test Plan:
1. run elementry_test - Code Editor or Edi.
2. Type some code with braces.
3. Check that closing braces have correct indent.

Reviewers: ajwillia.ms

Subscribers: cedric, jpeg

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

7 years agoeo: more information when we cannot resolve method.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 23:35:18 +0000 (21:35 -0200)]
eo: more information when we cannot resolve method.

_efl_object_api_op_id_get() will query a hash for the given pointer,
however if it wasn't populated, it will return "NOOP" and we're
hopeless while debugging on what happened.

Common case is to use the incorrect method, like:

        obj = efl_add(CLS1, ...);
        cls2_method(obj);

Since we did not create CLS2, it won't populate its methods on the
hash, thus the lookup will return NOOP.

With this change the function now gets the target object and function
name so reports an insightful message such as:

        ERR:eo file.c:123 cls2_method() Unable to resolve op for api func 0x7ff492ddea00 for obj=0x400000007e8ee1df (CLS1)

7 years agoeo: allow valgrind-like tracking of object lifecycle.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 22:48:37 +0000 (20:48 -0200)]
eo: allow valgrind-like tracking of object lifecycle.

Eo pointer indirection is super nice as it avoids you to access
invalid memory, but this extra checks inhibits valgrind's own tracking
of memory lifecycle, usually it would report when the object was
created and when the object is deleted, both as stack traces.

This commits introduces logging of object creation and destruction
under its own eina_log_domain and controlled by EO_LIFECYCLE_DEBUG and
EO_LIFECYCLE_NO_DEBUG envvars. These will only be available if
compiled with EO_DEBUG, thus shouldn't cause any performance hits on
production code.

Running a bogus app with invalid efl_class_name_get() and double
efl_del() will report as below:

```sh
$ export EO_LIFECYCLE_NO_DEBUG=Efl_Loop_Timer,Efl_Promise,Efl_Future
$ export EO_LIFECYCLE_DEBUG=1
$ export EINA_LOG_LEVELS=eo_lifecycle:4
$ /tmp/bogus_app
DBG:eo_lifecycle lib/eo/eo.c:2712 _eo_log_obj_init() will log all object allocation and free
DBG:eo_lifecycle lib/eo/eo.c:2788 _eo_log_obj_init() will NOT log class 'Efl_Future'
DBG:eo_lifecycle lib/eo/eo.c:2788 _eo_log_obj_init() will NOT log class 'Efl_Promise'
DBG:eo_lifecycle lib/eo/eo.c:2788 _eo_log_obj_init() will NOT log class 'Efl_Loop_Timer'
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35a1aa0 obj_id=0x4000000002cf38ef class=0x563fa35a1450 (Efl_Vpath_Core) [0.0004]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35af8d0 obj_id=0x4000000006cf38f0 class=0x563fa35aecf0 (Efl_Loop) [0.0005]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35d61a0 obj_id=0x400000007ecf390e class=0x563fa35d48f0 (Efl_Net_Dialer_Simple) [0.0054]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35d6470 obj_id=0x4000000082cf390f class=0x563fa35d0d60 (Efl_Net_Dialer_Tcp) [0.0055]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35d75b0 obj_id=0x4000000086cf3910 class=0x563fa35d66b0 (Efl_Io_Queue) [0.0056]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35d8f70 obj_id=0x400000008acf3911 class=0x563fa35d7860 (Efl_Io_Copier) [0.0057]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35df980 obj_id=0x40000000a6cf3918 class=0x563fa35d66b0 (Efl_Io_Queue) [0.0058]
DBG:eo_lifecycle lib/eo/eo.c:2665 _eo_log_obj_new() new obj=0x563fa35dfc30 obj_id=0x40000000aacf3919 class=0x563fa35d7860 (Efl_Io_Copier) [0.0058]

will efl_class_name_get() with invalid handle:

ERR:eo lib/eo/eo.c:1013 efl_class_name_get() Class (0x2000000000000029) is an invalid ref.
ERR:eo_lifecycle lib/eo/eo.c:1013 efl_class_name_get() obj_id=0x2000000000000029 was neither created or deleted (EO_LIFECYCLE_NO_DEBUG='Efl_Loop_Timer,Efl_Promise,Efl_Future').
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35df980 obj_id=0x40000000a6cf3918 class=0x563fa35d66b0 (Efl_Io_Queue) [0.0061]
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35dfc30 obj_id=0x40000000aacf3919 class=0x563fa35d7860 (Efl_Io_Copier) [0.0061]
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35d75b0 obj_id=0x4000000086cf3910 class=0x563fa35d66b0 (Efl_Io_Queue) [0.0061]
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35d8f70 obj_id=0x400000008acf3911 class=0x563fa35d7860 (Efl_Io_Copier) [0.0061]
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35d6470 obj_id=0x4000000082cf390f class=0x563fa35d0d60 (Efl_Net_Dialer_Tcp) [0.0063]
DBG:eo_lifecycle lib/eo/eo.c:2688 _eo_log_obj_free() free obj=0x563fa35d61a0 obj_id=0x400000007ecf390e class=0x563fa35d48f0 (Efl_Net_Dialer_Simple) [0.0063]

will double free:

ERR:eo ../src/lib/eo/efl_object.eo.c:78 efl_del() EOID 0x400000007ecf390e is not a valid object. EOID domain=0, current_domain=0, local_domain=0. EOID generation=2cf390e, id=1f, ref=1, super=0. Thread self=main. Available domains [0 1    ]. Maybe it has been deleted or does not belong to your thread?
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007ecf390e created obj=0x563fa35d61a0, class=0x563fa35d48f0 (Efl_Net_Dialer_Simple) [0.0054s, 0.0009 ago]:
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6d0ea: libeo_dbg.so+0x90ea (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6ca62: _efl_add_internal_start+0x1c2 (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00563fa15dc95f: bogus_app+0x295f (in /tmp/bogus_app 0x563fa15da000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0ace7291: __libc_start_main+0xf1 (in /usr/lib/libc.so.6 0x7f2c0acc7000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00563fa15dc48a: _start+0x2a (in /tmp/bogus_app 0x563fa15da000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007ecf390e deleted obj=0x563fa35d61a0, class=0x563fa35d48f0 (Efl_Net_Dialer_Simple) [0.0063s, 0.0000 ago]:
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6d8ba: libeo_dbg.so+0x98ba (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6d711: libeo_dbg.so+0x9711 (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6beb8: libeo_dbg.so+0x7eb8 (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc6c06e: _efl_object_call_end+0x4e (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0bc75725: efl_del+0x105 (in src/lib/eo/.libs/libeo_dbg.so 0x7f2c0bc64000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00563fa15dcd54: lt-efl_net_dialer_simple_example+0x2d54 (in /tmp/bogus_app 0x563fa15da000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x007f2c0ace7291: __libc_start_main+0xf1 (in /usr/lib/libc.so.6 0x7f2c0acc7000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del()    0x00563fa15dc48a: _start+0x2a (in /tmp/bogus_app 0x563fa15da000)
ERR:eo_lifecycle ../src/lib/eo/efl_object.eo.c:78 efl_del() obj_id=0x400000007ecf390e was already deleted 0.0000 seconds ago!
```

7 years agoeo: check for empty vtable and failed extensions.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 18:30:11 +0000 (16:30 -0200)]
eo: check for empty vtable and failed extensions.

if for some reason we fail to validate a class, then we should skip
that extension. This may result in an empty vtable, then check for
that and avoid a crash.

This is very unlike to happen in practice, but I've forced some
validation errors and could get to that.

7 years agoeo: improve logs by always showing event source, minor refactor.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 18:26:46 +0000 (16:26 -0200)]
eo: improve logs by always showing event source, minor refactor.

Instead of 2 sets of macro, one for HAVE_EO_ID and another without,
use a single set of macros and have the implementation of
_eo_class_pointer_get() and _eo_obj_pointer_get() to do the actual

These functions now take the source information so the logs reflect
that and not always the same function.

7 years agoThis series of patches merges in better support for hiding of surfaces
Chris Michael [Fri, 2 Dec 2016 19:25:23 +0000 (14:25 -0500)]
This series of patches merges in better support for hiding of surfaces

Essentially, this series modifies ecore_evas and evas engine code in
order that we do not need to destroy surfaces when hiding a canvas.
Previous code would destroy the wl_surface on ecore_evas_hide and have
to recreate it on ecore_evas_show. These patches eliminate the need to
do that by setting an engine field ('hidden'). When the evas engines
go to post a surface update, if it is 'hidden' then the code will just
attach a NULL buffer to the surface.

Merge branch 'devs/devilhorns/surface_hide'

7 years agoecore-evas-wayland: Remove unused includes
Chris Michael [Fri, 2 Dec 2016 19:00:23 +0000 (14:00 -0500)]
ecore-evas-wayland: Remove unused includes

As most of the "hard work" has been moved into
ecore_evas_wayland_common file, these includes are no longer needed
here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Minor formatting fix
Chris Michael [Fri, 2 Dec 2016 19:00:04 +0000 (14:00 -0500)]
ecore-evas-wayland: Minor formatting fix

NB: No functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Set all evas engine info fields before updating
Chris Michael [Fri, 2 Dec 2016 18:58:09 +0000 (13:58 -0500)]
ecore-evas-wayland: Set all evas engine info fields before updating

Small patch to set all fields of the Evas Engine Info structure before
calling evas_engine_info_set function

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Use engine 'hidden' field for ecore_evas_hide operations
Chris Michael [Fri, 2 Dec 2016 18:26:50 +0000 (13:26 -0500)]
ecore-evas-wayland: Use engine 'hidden' field for ecore_evas_hide operations

This patch allows us to set a 'hidden' flag in the Evas Engine
information structure instead of setting a NULL surface. Setting this
flag allows us to hide/show a canvas without having to
destroy/recreate a wl_surface every time.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoevas-wayland-shm: Fix issue of destroying & recreating wl_surfaces on hide
Chris Michael [Fri, 2 Dec 2016 18:24:42 +0000 (13:24 -0500)]
evas-wayland-shm: Fix issue of destroying & recreating wl_surfaces on hide

When a canvas gets hidden, we don't need to destroy & recreate the
wl_surface. We can simply attach a NULL wl_buffer to the surface which
achieves the same result. This saves us from having to always destroy
& recreate surfaces when we hide/show.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-evas-wayland: Add a 'hidden' field to engine structure
Chris Michael [Fri, 2 Dec 2016 18:04:33 +0000 (13:04 -0500)]
ecore-evas-wayland: Add a 'hidden' field to engine structure

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelementary: Don't set pointer surface to NULL
Chris Michael [Fri, 2 Dec 2016 18:03:20 +0000 (13:03 -0500)]
elementary: Don't set pointer surface to NULL

As we no longer destroy a window's wl_surface during hide requests, we
should not be setting pointer surface to NULL here.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore-wl2: Don't destroy surfaces on window hide
Chris Michael [Fri, 2 Dec 2016 18:02:00 +0000 (13:02 -0500)]
ecore-wl2: Don't destroy surfaces on window hide

In order to hide a window (via wayland) we can actually assign a NULL
buffer to the surface, so there is no need to destroy the window's
wl_surface during a hide request.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoedje_cc: add FOCUS_OBJECT reference on doc
Bruno Dilly [Fri, 2 Dec 2016 18:41:01 +0000 (16:41 -0200)]
edje_cc: add FOCUS_OBJECT reference on doc

It was missing on actions list.

7 years agoeo: fix oops on efl_replace() documentation
Bruno Dilly [Fri, 2 Dec 2016 17:41:48 +0000 (15:41 -0200)]
eo: fix oops on efl_replace() documentation

7 years agoMerge branch 'devs/iscaro/devices'
Bruno Dilly [Fri, 2 Dec 2016 17:27:05 +0000 (15:27 -0200)]
Merge branch 'devs/iscaro/devices'

Series of fixes regarding Efl.Input.Device references.
There were some issues on Evas and on its own interface.

Also adds efl_replace() to replace referenced objects
(using it for devices for now). It follows
eina_stringshare_replace() approach.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>
Differential Revision: https://phab.enlightenment.org/D4445

7 years agoEfl.Input.Device: Do not ref/unref devices children devices.
Guilherme Iscaro [Thu, 1 Dec 2016 18:14:11 +0000 (16:14 -0200)]
Efl.Input.Device: Do not ref/unref devices children devices.

When a mouse/keyboard is removed from its seat under the Wayland backend,
it was not immediately deleted from EFL, because its parent was keeping
a reference to it. Since the mouse/keyboard is no longer present in the system
there's no reason the keep them around. To prevent this delayed deletion do
not ref/unref them when the parent is set.

7 years agoEfl.Input: Properly unref the device if a new device is set.
Guilherme Iscaro [Thu, 1 Dec 2016 18:13:11 +0000 (16:13 -0200)]
Efl.Input: Properly unref the device if a new device is set.

The old device must be unrefed, otherwise it will leak.

7 years agoEo: Add efl_replace() function.
Guilherme Iscaro [Fri, 2 Dec 2016 13:16:33 +0000 (11:16 -0200)]
Eo: Add efl_replace() function.

This new function adds a new way to safely replace Eo pointer values.

7 years agoEfl.Input: Reset the Efl.Input object as soon as possible.
Guilherme Iscaro [Thu, 1 Dec 2016 18:12:37 +0000 (16:12 -0200)]
Efl.Input: Reset the Efl.Input object as soon as possible.

By doing this the pd->device reference is unrefed and deleted
if no one else is holding a reference to it.

7 years agoeo: if EO_DEBUG, check if efl_super() object 'isa' the given class.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 16:49:06 +0000 (14:49 -0200)]
eo: if EO_DEBUG, check if efl_super() object 'isa' the given class.

A common error is to copy & paste efl_super() calls and forget to fix
the class. If usin EO_DEBUG, then use efl_isa() to error.

7 years agoeo: better error reporting, always provide caller/source when available.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 16:15:21 +0000 (14:15 -0200)]
eo: better error reporting, always provide caller/source when available.

_eo_pointer_error() was kinda a bitch to debug as it provided a nice
breakpoint location, but did not provide a good output since the file,
line and function were always the same.

Change that to be a thin wrapper on top of eina_log_vprint(), then we
keep the breakpoint location yet provide useful information.

In that sense, change other error messages so they carry as much
information as possible.

7 years agoeo: use log domain as soon as it's available.
Gustavo Sverzut Barbieri [Fri, 2 Dec 2016 16:09:07 +0000 (14:09 -0200)]
eo: use log domain as soon as it's available.

7 years agoelementary: Remove useless #ifdef
Chris Michael [Fri, 2 Dec 2016 16:15:57 +0000 (11:15 -0500)]
elementary: Remove useless #ifdef

This block is already wrapped around an #ifdef directly above, so this

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeeze_scanner: server was not always initialized here
Stefan Schmidt [Fri, 2 Dec 2016 15:13:02 +0000 (16:13 +0100)]
eeze_scanner: server was not always initialized here

The initial assignment is behind and ifdef so make sure we actually start with
a sane NULL here.

7 years agoefl_ui_win: fix warning about unused parameter
Stefan Schmidt [Fri, 2 Dec 2016 14:54:16 +0000 (15:54 +0100)]
efl_ui_win: fix warning about unused parameter

If the ifdef is not hit this is never being used.

7 years agoecore_ipc: silence a maybe unitialized warning
Stefan Schmidt [Fri, 2 Dec 2016 13:47:43 +0000 (14:47 +0100)]
ecore_ipc: silence a maybe unitialized warning

I always got this during the build:
lib/ecore_ipc/ecore_ipc.c:537:6: warning: â€˜old_mask’ may be used uninitialized in this function
[-Wmaybe-uninitialized]

Looking at the code it really is a false positive. Gettign the mask is behind
an if it is the same if condistion used before writing it. Anyway, silencing the
warning here.

7 years agoelementary: Re-enable wayland_egl mouse pointers
Chris Michael [Fri, 2 Dec 2016 14:50:48 +0000 (09:50 -0500)]
elementary: Re-enable wayland_egl mouse pointers

It appears that the 'black square' issue when using wayland_egl canvas
for mouse pointers is gone now, so re-enable the usage of gl pointers
for elementary windows.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoeo event callback frame make them single linked to save a bit of overhead
Carsten Haitzler (Rasterman) [Fri, 2 Dec 2016 12:26:07 +0000 (21:26 +0900)]
eo event callback frame make them single linked to save a bit of overhead

this makes the callback event frame single linked with a little less
inlist overhead asa result.

7 years agoMerge branch 'devs/iscaro/locks_and_mods'
Bruno Dilly [Fri, 2 Dec 2016 11:58:18 +0000 (09:58 -0200)]
Merge branch 'devs/iscaro/locks_and_mods'

This series add support to setting mode and properties
of mouse pointer, enabling key locks and modifiers per device
on Evas.

Also it fixes Ecore Input Evas keeping an evas device
on Ecore_Input_Last struct to separate event sources and
add support to lock / modifiers per seat.

With that, multiseat support should be complete up
to Evas layer.

Patches by Guilherme Iscaro <iscaro@profusion.mobi>
Differential Revision: https://phab.enlightenment.org/D4415

@feature

7 years agoEcore Input Evas: Add ecore_event_evas_seat_modifier_lock_update().
Guilherme Iscaro [Wed, 9 Nov 2016 13:44:18 +0000 (11:44 -0200)]
Ecore Input Evas: Add ecore_event_evas_seat_modifier_lock_update().

This function will set the modifiers/lock per seat in Evas.
Some places will still use ecore_event_evas_modifier_lock_update(),
since multi-seat is not supported.

7 years agoEvas: Add support for per seat modifiers and locks.
Guilherme Iscaro [Mon, 7 Nov 2016 18:44:46 +0000 (16:44 -0200)]
Evas: Add support for per seat modifiers and locks.

This patch introduces possibility to enable key locks and modifers by seat.
It's very useful when the user has two keyboards attached to different seats.

7 years agoEcore Evas VNC: Properly set/unset the key locks.
Guilherme Iscaro [Wed, 9 Nov 2016 13:40:57 +0000 (11:40 -0200)]
Ecore Evas VNC: Properly set/unset the key locks.

Key locks must be unset only another they down is received,
otherwise they must remain active.

7 years agoEvas: Add support for per mouse pointer mode/properties.
Guilherme Iscaro [Fri, 21 Oct 2016 12:25:41 +0000 (10:25 -0200)]
Evas: Add support for per mouse pointer mode/properties.

This patch introduces the possibility to set the pointer mode and
query other properties like current position per pointer device.
The old API will still works, however it will only act on the default seat.

7 years agoEcore Input Evas: Ecore_Input_Last should contain the Evas device.
Guilherme Iscaro [Thu, 1 Dec 2016 14:29:54 +0000 (12:29 -0200)]
Ecore Input Evas: Ecore_Input_Last should contain the Evas device.

This struct should contain the Evas device that originated the event,
otherwise events from different devices may mix up and lead to undifined
behaviour.

7 years agoeo: adjust generation count
Marcel Hollerbach [Fri, 2 Dec 2016 10:39:57 +0000 (11:39 +0100)]
eo: adjust generation count

raster suggested a few optimizations

7 years agoeo: optimize generation increase
Marcel Hollerbach [Fri, 2 Dec 2016 10:31:45 +0000 (11:31 +0100)]
eo: optimize generation increase

doing it by hand here saves a function call which showed up pretty happy
on perf.

7 years agoeo: add new test case to check event emission while emitting
Marcel Hollerbach [Thu, 1 Dec 2016 19:34:46 +0000 (20:34 +0100)]
eo: add new test case to check event emission while emitting

7 years agoeo: use the event stack to define behaviour
Marcel Hollerbach [Thu, 1 Dec 2016 11:40:36 +0000 (12:40 +0100)]
eo: use the event stack to define behaviour

subscriptions are only executed if they were already subscriped at the
start of the event emission.

7 years agoeo: fix event emission for subscription while emission
Marcel Hollerbach [Wed, 30 Nov 2016 12:07:51 +0000 (13:07 +0100)]
eo: fix event emission for subscription while emission

This fixes T4907

The problem was that in efl_event_callback_add the internal array was
changed. If this was happening while a efl_event_callback_call was
happening the for loop got confused and skipped one event subscription.
Which led to a bug in e where the idler ufnction was not executed
probebly and so the canvas stayed frozen.

7 years agoeo: add testcase to check emission of events
Marcel Hollerbach [Tue, 29 Nov 2016 19:18:44 +0000 (20:18 +0100)]
eo: add testcase to check emission of events

7 years agoecore_exe_win32: fix ecore_exe_send
Vyacheslav Reutskiy [Fri, 2 Dec 2016 09:48:14 +0000 (11:48 +0200)]
ecore_exe_win32: fix ecore_exe_send

Write to the child pipe corect data size.
@fix

7 years agoecore_evas/x: Fix window size when framespace != 0
Jean-Philippe Andre [Fri, 2 Dec 2016 08:01:44 +0000 (17:01 +0900)]
ecore_evas/x: Fix window size when framespace != 0

This fixes the sizing of EDI. And elm_test "States 2"

The sizes stored in ecore_evas are the "window content" sizes,
excluding the framespace which thus must be added to all calls
to ecore_x / Xlib.

7 years agoeo: Improve debug for efl_isa errors from threads
Jean-Philippe Andre [Fri, 2 Dec 2016 06:52:43 +0000 (15:52 +0900)]
eo: Improve debug for efl_isa errors from threads

7 years agowin: Fix layout issue in E internal windows (WL)
Jean-Philippe Andre [Fri, 2 Dec 2016 05:09:02 +0000 (14:09 +0900)]
win: Fix layout issue in E internal windows (WL)

This is an attempt at fixing internal windows in E Wayland,
where the framespace geometry was not taken into account at
render time. Tested in a VM.

Thanks @derekf for the report.

See https://www.enlightenment.org/ss/e-584083fb03f617.08713956.jpg

7 years agoelm_toolbar: remove wrong focus highlight checking
WooHyun Jung [Fri, 2 Dec 2016 07:56:43 +0000 (16:56 +0900)]
elm_toolbar: remove wrong focus highlight checking

Because of this focus_highlight checking, focus never goes
to the first item when toolbar gets focus at the first time.

@fix

7 years agogl drm/x11: Fix compilation for EGL < 1.5
Jean-Philippe Andre [Fri, 2 Dec 2016 05:24:57 +0000 (14:24 +0900)]
gl drm/x11: Fix compilation for EGL < 1.5

This is an attempt at fixing compilation for systems with old
EGL headers (version < 1.5).

Thanks Roy for the report!

7 years agoelm: use eina_rectangle to check intersection
Lukasz Stanislawski [Thu, 1 Dec 2016 11:56:32 +0000 (20:56 +0900)]
elm: use eina_rectangle to check intersection

Summary:
Some conditions seems redundant if assume that height and width
can never be < 0.

Change-Id: I63c297cc8cabbb69fbf7e014596f354e811b8d8e

Reviewers: cedric, kimcinoo, jpeg

Subscribers: cedric, jpeg

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

7 years agogl_drm: Fix eglCreateImage for 32-bit systems
Derek Foreman [Thu, 1 Dec 2016 21:05:35 +0000 (15:05 -0600)]
gl_drm: Fix eglCreateImage for 32-bit systems

eglCreateImageKHR and eglCreateImage have different prototypes, but we
treated them the same.  Fix that so 32-bit users can have them too.

7 years agogl_drm: Don't query gl functions that don't exist anywhere
Derek Foreman [Thu, 1 Dec 2016 21:00:21 +0000 (15:00 -0600)]
gl_drm: Don't query gl functions that don't exist anywhere

We're just making stuff up now and hoping they magically match existing
prototypes, I guess.

Hardly the weirdest thing in this file.

7 years agowayland_shm: enable dmabuf by default
Derek Foreman [Thu, 1 Dec 2016 19:24:40 +0000 (13:24 -0600)]
wayland_shm: enable dmabuf by default

Software rendered wayland clients will now attempt
to use dmabuf on some platforms.  This results in a window
that a compositor may be able to drop into a plane without a copy.

Disable it with the env var EVAS_WAYLAND_SHM_DISABLE_DMABUF
but if you need to disable it, please ping me or file a bug report.

7 years agoefl_debugd: check for fwrite() return.
Gustavo Sverzut Barbieri [Thu, 1 Dec 2016 18:23:23 +0000 (16:23 -0200)]
efl_debugd: check for fwrite() return.

if it fail, close the file and turn off logging for that client.

Fixes CID 1366465

7 years agoeeze_scanner_monitor: fix error handling.
Gustavo Sverzut Barbieri [Thu, 1 Dec 2016 17:38:40 +0000 (15:38 -0200)]
eeze_scanner_monitor: fix error handling.

dialer would be uninitialized if we fail to create a path, so use a
new label to handle that.

Fixes CID 1366471.

7 years agoLuncher theme: Make sure to check the geometry of the opposite coordinate to ensure...
Stephen okra Houston [Thu, 1 Dec 2016 18:12:24 +0000 (12:12 -0600)]
Luncher theme: Make sure to check the geometry of the opposite coordinate to ensure the cursor is inside of the icon.

7 years agoeolian: remove handling of short refs in tokenizer
Daniel Kolesa [Thu, 1 Dec 2016 16:22:19 +0000 (17:22 +0100)]
eolian: remove handling of short refs in tokenizer

Already expanded in the main lexer.

7 years agoeolian: add documentation tokenizer
Daniel Kolesa [Thu, 1 Dec 2016 15:37:01 +0000 (16:37 +0100)]
eolian: add documentation tokenizer

This provides an API to tokenize Eolian docstrings. It does not
yet switch the rest of the infra to it, but it does have tests.
It doesn't verify correctness of references, as that's Eolian's
job. Therefore it's also your job to provide it with strings that
do not contain invalid references. Lua bindings are to come and
a complete switch will be done later.

@feature

7 years agoevas common: disable thread_queue feature on win32.
Hermet Park [Thu, 1 Dec 2016 10:49:30 +0000 (19:49 +0900)]
evas common: disable thread_queue feature on win32.

We have an issue that eina_thread_queue msg isn't delivered properly on win32.
That occurs broken image drawing in case of non-smooth scaling.

I disabled this feature on win32 because scale_sample_draw is gonna be rarely used
since async rendering introduced.

7 years agoevas: Fix infinite recursion on smart object resize
Jean-Philippe Andre [Thu, 1 Dec 2016 07:55:20 +0000 (16:55 +0900)]
evas: Fix infinite recursion on smart object resize

In some situations smart object resize could fall in an
infinite loop even though the size was stable.

Thanks @vtorri for the report!

7 years agowin: Update min & max size hints simultaneously
Jean-Philippe Andre [Thu, 1 Dec 2016 07:35:58 +0000 (16:35 +0900)]
win: Update min & max size hints simultaneously

Avoid calling the engine's size_min_set/size_max_set functions
while setting the hints on the window object itself (it would
cause min != max even though we intended min == max).

7 years agowin: Fix main menu visibility with non-default themes
Jean-Philippe Andre [Thu, 1 Dec 2016 07:26:52 +0000 (16:26 +0900)]
win: Fix main menu visibility with non-default themes

7 years agoevas common: fix a typo.
Hermet Park [Thu, 1 Dec 2016 08:12:42 +0000 (17:12 +0900)]
evas common: fix a typo.

7 years agomenu: Remove extra debug log
Jean-Philippe Andre [Thu, 1 Dec 2016 06:42:06 +0000 (15:42 +0900)]
menu: Remove extra debug log

See 1f9dfe2ed374bd54dd84aaf70abb496b021269cb
Note that this patch causes problems on some systems...

7 years agoevas/x11: Fix EGL engine for recent nvidia binary
Jean-Philippe Andre [Thu, 1 Dec 2016 06:26:11 +0000 (15:26 +0900)]
evas/x11: Fix EGL engine for recent nvidia binary

Thank you NVIDIA for breaking your drivers regularly!
eglGetDisplay(x11_display) should work but was consistently
returning 0 instead.

Apparently EGL 1.5 introduced "eglGetPlatformDisplay" that
is more advanced to open a display. So, prefer that over
eglGetDisplay if it's available.

@fix

7 years agowin: Improve bug compatibility for E
Jean-Philippe Andre [Thu, 1 Dec 2016 05:41:06 +0000 (14:41 +0900)]
win: Improve bug compatibility for E

E has a habit of creating windows with a single content
that has no weight and/or no min size, but still expecting
those windows to size properly and be resizable. This amends
a previous sizing hack (but really it's the same) for logout
dialogs, and adds another hack for EFM windows (single edje
object with no weight, but window should be resizable).

7 years agowin: Force opaque region updates on alpha change
Jean-Philippe Andre [Thu, 1 Dec 2016 04:21:49 +0000 (13:21 +0900)]
win: Force opaque region updates on alpha change

What happens is that ecore_wl2 ignores calls to opaque_region_set
if the window has alpha. As a consequence the opaque_region is not
updated server-side and the previous window geometry is kept as
opaque region, even though the window should have alpha.

Thanks @raster for the report.

7 years agoctxpopup: Fix shadow variable warning
Jean-Philippe Andre [Thu, 1 Dec 2016 02:28:04 +0000 (11:28 +0900)]
ctxpopup: Fix shadow variable warning

7 years agoEet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix
Artem Popov [Thu, 1 Dec 2016 02:05:50 +0000 (11:05 +0900)]
Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix

Summary: Eet_data_text_undump/undump_cipher: add EINA_ARG_NONNULL for mandatory pointer on size(int)

Reviewers: cedric, NikaWhite, myoungwoon, jpeg

Reviewed By: jpeg

Subscribers: jpeg, t.naumenko

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

7 years agoelm_calendar: Changed the calendar focus highlight concept.
Woochan Lee [Thu, 1 Dec 2016 01:41:48 +0000 (10:41 +0900)]
elm_calendar: Changed the calendar focus highlight concept.

Summary:
The highlight image enable when calendar got a focus.

We enable the highlight image when the user sent a key event to calendar before.
The above concept seems to be incorrect when focus highlight activated already.

Test Plan:
elementary_test
calendar sample.

Reviewers: woohyun, cedric, jpeg

Subscribers: cedric, jpeg

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

7 years agoEcore Evas VNC: Increase keytable size.
Guilherme Iscaro [Thu, 1 Dec 2016 01:39:47 +0000 (10:39 +0900)]
Ecore Evas VNC: Increase keytable size.

Summary:
New keys were added to the keytable, however since VNC will not
notify the VNC server about these new key types we will simple
increase the array size and keep the compiler happy.

Reviewers: cedric, barbieri, bdilly, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agoconform: Remove getpid() from debug
Jean-Philippe Andre [Thu, 1 Dec 2016 01:33:36 +0000 (10:33 +0900)]
conform: Remove getpid() from debug

The PID is already printed out by default with eina_log.

7 years agomenu: Fix visibility flag of menu (missing efl_super)
Jean-Philippe Andre [Wed, 30 Nov 2016 11:58:27 +0000 (20:58 +0900)]
menu: Fix visibility flag of menu (missing efl_super)

7 years agomenu: Keep opening submenus when hovering over main bar
Jean-Philippe Andre [Wed, 30 Nov 2016 11:01:48 +0000 (20:01 +0900)]
menu: Keep opening submenus when hovering over main bar

The previous situation was that you could hover over a main
menu bar item, and see it become hilighted. Click to open the
submenu. Classic. Now move over to a second main menu item
and the submenu would close, but the second submenu would not
open.

This behaviour was contrary to pretty much every desktop UI
I've used, and really annoyed me. Should we get an elm_config
option for that?

This is a UI behaviour change.

7 years agoecore exe - handle scope data get null returns when ppl do bad things
Carsten Haitzler (Rasterman) [Wed, 30 Nov 2016 23:48:25 +0000 (08:48 +0900)]
ecore exe - handle scope data get null returns when ppl do bad things

peolpe using ecore_exe in threads... for example.

7 years agoeina: remove tests, examples and docs for eina_model
Bruno Dilly [Wed, 30 Nov 2016 20:37:34 +0000 (18:37 -0200)]
eina: remove tests, examples and docs for eina_model

Summary:
Since eina_model was dropped some years ago.
Also a few other points where related stuff is just commented out.

Reviewers: iscaro, barbieri

Reviewed By: barbieri

Subscribers: cedric, jpeg

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

7 years agoevas: add example for multiseat events
Bruno Dilly [Tue, 29 Nov 2016 20:23:49 +0000 (18:23 -0200)]
evas: add example for multiseat events

Also useful to make some tests / debugging.

7 years agoexamples/evas: sort gitignore
Bruno Dilly [Tue, 29 Nov 2016 21:21:49 +0000 (19:21 -0200)]
examples/evas: sort gitignore

7 years agoefl_input_focus: fix typo and code style
Bruno Dilly [Mon, 28 Nov 2016 18:14:39 +0000 (16:14 -0200)]
efl_input_focus: fix typo and code style

7 years agoecore-wl2: Add warning if a wl_surface_frame callback failes to get created
Chris Michael [Wed, 30 Nov 2016 17:12:38 +0000 (12:12 -0500)]
ecore-wl2: Add warning if a wl_surface_frame callback failes to get created

There could be situations where wl_surface_frame fails to create a
callback. In those cases, we should not be trying to add a wl_callback
listener for a non-existant callback.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelm: fix compliation warnings in dbus menu & toolbar
Amitesh Singh [Wed, 30 Nov 2016 13:03:59 +0000 (18:33 +0530)]
elm: fix compliation warnings in dbus menu & toolbar

These warnings were serious problems.
Thanks to stefan for reporting.

7 years agoRevert "ecore_file: use win api for delete folder"
Vyacheslav Reutskiy [Wed, 30 Nov 2016 12:02:45 +0000 (14:02 +0200)]
Revert "ecore_file: use win api for delete folder"

It was mistake, rmdir work correct, problem was fixed in commit
56c202614b73f0e4c34d7a5cd070fe2b24d9217f

This reverts commit 5e25b8037ca8858412627d76b6fe72e9c7279021.

7 years agobuild: ector: make sure the triangular header files end up in dist
Stefan Schmidt [Wed, 30 Nov 2016 10:10:11 +0000 (11:10 +0100)]
build: ector: make sure the triangular header files end up in dist

In commit 98b0408a4eed5c2beafd4f396b64ca54fb00270f the new triangulator
static_lib was introduced with ector as user. The ector Makefiles missed to
also include the header files as deps so they never ended up in the dist
failing distcheck.

7 years agodocs: efl_ui: fill gaps in newly introduced eo files
Stefan Schmidt [Wed, 30 Nov 2016 10:01:39 +0000 (11:01 +0100)]
docs: efl_ui: fill gaps in newly introduced eo files

These two eo files have been introduced by commit
a58e2e1a790732428fa09d479fec63d433931f06

Sadly three items have been left undocumented. With this patch we are back to
100% doc coverage.

7 years agobuild: eeze: remove non existing header file from SOURCES
Stefan Schmidt [Wed, 30 Nov 2016 09:57:12 +0000 (10:57 +0100)]
build: eeze: remove non existing header file from SOURCES

This header file does simply not exist in tree. Removing it from the SOURCES
allows to pass distcheck.

7 years agomenu: Fix crash in main menu and eo files
Jean-Philippe Andre [Wed, 30 Nov 2016 08:12:43 +0000 (17:12 +0900)]
menu: Fix crash in main menu and eo files

This amends the previous commit to avoid a crash in the main
menu, and adjust the eo files formatting.