platform/upstream/efl.git
7 years agoecore-evas-wayland: Don't register animators until window gets shown
Chris Michael [Mon, 27 Feb 2017 16:08:43 +0000 (11:08 -0500)]
ecore-evas-wayland: Don't register animators until window gets shown

Small patch to not call _ecore_evas_register unless we are showing the
window. This stops creation of rogue animators on cursors until the
window is actually going to be shown.

Fixes T5209

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelementary: Minor formatting fix
Chris Michael [Mon, 27 Feb 2017 15:44:36 +0000 (10:44 -0500)]
elementary: Minor formatting fix

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoelementary: Don't set pointer object theme on start
Chris Michael [Mon, 27 Feb 2017 15:09:34 +0000 (10:09 -0500)]
elementary: Don't set pointer object theme on start

As we are already resetting the pointer object theme when we make a
call to set the cursor, don't set it on window creation. This should
address the issue of animators getting created on window creation.

ref T5209

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agoecore_imf/ibus: Fix memory leak
Jihoon Kim [Mon, 27 Feb 2017 12:32:07 +0000 (21:32 +0900)]
ecore_imf/ibus: Fix memory leak

7 years agoecore_imf/wayland: Fix memory leak in immodule
Jihoon Kim [Mon, 27 Feb 2017 11:28:37 +0000 (20:28 +0900)]
ecore_imf/wayland: Fix memory leak in immodule

==1321== 156 bytes in 1 blocks are definitely lost in loss record 7,687 of 9,703
==1321==    at 0x4847E64: calloc (vg_replace_malloc.c:623)
==1321==    by 0x92EA7E9: wayland_im_context_new (wayland_imcontext.c:1094)
==1321==    by 0x92E66DD: im_module_create (wayland_module.c:132)
==1321==    by 0x4D521E7: ecore_imf_module_context_create (ecore_imf_module.c:152)
==1321==    by 0x4D51EF7: ecore_imf_context_add (ecore_imf_context.c:141)

7 years agoelementary tooltip: adjust arrow if tooltip was moved
Minkyu Kang [Mon, 27 Feb 2017 11:13:06 +0000 (20:13 +0900)]
elementary tooltip: adjust arrow if tooltip was moved

Summary:
If orientation is TOP, BOTTOM, LEFT and RIGHT and
tooltip was moved due to located out of screen,
adjust location of arrow so that can indicate right position.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Test Plan: elementary_test -to tooltip4

Reviewers: cedric, Hermet, jpeg

Subscribers: jpeg

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

7 years agodocs: Fix typos and some wrong expressions in Ecore and Edje API reference doxygen.
Myoungwoon Roy, Kim [Mon, 27 Feb 2017 10:48:38 +0000 (19:48 +0900)]
docs: Fix typos and some wrong expressions in Ecore and Edje API reference doxygen.

Summary: I had fixed some typos and wrong expressions, euch as capital letters, singular Etc. in Ecore and Edje API reference doxygen.

Test Plan: Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg

Subscribers: conr2d

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

7 years agodocs: Fix typos and some wrong expressions
Myoungwoon Roy, Kim [Mon, 27 Feb 2017 10:35:52 +0000 (19:35 +0900)]
docs: Fix typos and some wrong expressions

Covers: Ecore_Drm, Ecore_Evas, Ecore_File, Ecore_IMF, and
Ecore_IMF_Evas API reference doxygen.

Summary: I had fixed some typos and wrong expressions, such
as capital letters, singular Etc. in Ecore_Drm, Ecore_Evas,
Ecore_File, Ecore_IMF, and Ecore_IMF_Evas API reference doxygen.

Test Plan: Doxygen Revision

Reviewers: stefan, cedric, raster, jpeg, Jaehyun_Cho

Subscribers: conr2d

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

7 years agogenlist: Final fix for odd/even styles issue
Jean-Philippe Andre [Mon, 27 Feb 2017 05:27:24 +0000 (14:27 +0900)]
genlist: Final fix for odd/even styles issue

The key was to emit & process the signal to the edje objects
(item views) at the same time as we move them, ie. from the
loop in _item_block_position().

Also the proper counting must be used at all times. Hidden
items should not be counted.

Tree effect may still have issues but otherwise there is no
more blinking, double odd or even rows, etc... It all looks
good (as long as there is no tree effect!).

Fixes T3086

@fix

7 years agogenlist: Fix fileselector crazy behaviour
Jean-Philippe Andre [Fri, 24 Feb 2017 06:34:42 +0000 (15:34 +0900)]
genlist: Fix fileselector crazy behaviour

When using the fileselector in tree view mode (ie. expandable),
expanding any folder with a lot of files in it would cause the
genlist view to jump somewhere to the bottom. This is because
the mechanism preventing the view from moving was assuming that
all "prepend" operations meant prepending before the selected
item. This is not the case in case of expansion like in the
fileselector.

@fix

7 years agogenlist: Fix rare jump in prepend insert
Jean-Philippe Andre [Fri, 24 Feb 2017 06:16:45 +0000 (15:16 +0900)]
genlist: Fix rare jump in prepend insert

If an item is selected, and another item is insert before
the selected item, then we try to lock the genlist view (pan)
around the selected item (if it's visible). Unfortunately,
every 16 inserts cause a jump by one line in the scroller.
That's because the scroll math assumes the block position is
known, but since it's a new block it wasn't known.

This patch fixes this issue by precalculating the block position.

Test scenario:
 elementary_test -to "Genlist Tree, Insert Relative"

Select an item, clikck 50 times on "+ before".
The view should not jump.

This does not fix fileselector's craziness.

@fix

7 years agogenlist: (Mostly) fix item index odd/even styles
Jean-Philippe Andre [Thu, 23 Feb 2017 08:10:16 +0000 (17:10 +0900)]
genlist: (Mostly) fix item index odd/even styles

This fixes the internal item order index.

Note that groups don't reset the odd/even styles. The
original code wasn't very clear on the intent (setting
to 0 in one case, not increasing the counter in another,
but that was not consistent all over the place). I believe
resetting the odd/even styles at a group boundary would
look great, but this might be for another patch :)

This amends part of another commit, but keeps its feature:
 b40a6eb85bf44a genlist: implement list position signals.

See T3086

PS: I've discovered more odd/even issues with the
    fileselector in particular. Still working on it...

@fix

7 years agoRevert "elm_genlist: when appending items to the parent, prepend to the parent"
Jean-Philippe Andre [Thu, 23 Feb 2017 07:45:29 +0000 (16:45 +0900)]
Revert "elm_genlist: when appending items to the parent, prepend to the parent"

This reverts commit 43d82e567a2d655a089b6ca3f2d913e6ec52f1dc.

I don't understand this commit. It broke the logical order of
items, as the internal list wouldn't match the order on screen.
Other places in the code didn't seem to make this assumption
that parents come after their children. And for sure my recent
fixes require the parent to come before.

This commit was one of the many reasons why odd/even styles
look often wrong.

See T3086

7 years agogenlist: Remove macro GL_IT()
Jean-Philippe Andre [Thu, 23 Feb 2017 06:52:31 +0000 (15:52 +0900)]
genlist: Remove macro GL_IT()

It was used to hide "it->item"... but was used less than it->item
itself. Explicit code here is not longer, and just as readable.
This macro I think was harmful to readability.

Simple sed, no real change at all.

7 years agoevas gl common - fix nv12 text upload with upack row length
Carsten Haitzler (Rasterman) [Sun, 26 Feb 2017 02:43:21 +0000 (11:43 +0900)]
evas gl common - fix nv12 text upload with upack row length

we segv'd because our testure width was wrong... i was row span
length in bytes and we use luminance+alpha texture... this fixes it.

@fix

7 years agoecore: do not access 'timer_thread' global from animator thread
Mike Blumenkrantz [Fri, 24 Feb 2017 19:13:13 +0000 (14:13 -0500)]
ecore: do not access 'timer_thread' global from animator thread

@fix

7 years agoecore-evas: use ee->prop.window in ecore_evas_input_event_register()
Mike Blumenkrantz [Fri, 24 Feb 2017 19:13:13 +0000 (14:13 -0500)]
ecore-evas: use ee->prop.window in ecore_evas_input_event_register()

this allows window events to match correctly

@fix

7 years agoecore-evas: handle pointer_warp() for buffer canvas
Mike Blumenkrantz [Fri, 24 Feb 2017 19:13:13 +0000 (14:13 -0500)]
ecore-evas: handle pointer_warp() for buffer canvas

this was missing and would do nothing when called

7 years agoecore-evas: handle pointer_xy_get() for buffer canvas
Mike Blumenkrantz [Fri, 24 Feb 2017 19:13:13 +0000 (14:13 -0500)]
ecore-evas: handle pointer_xy_get() for buffer canvas

this was missing and would do nothing when called

7 years agoecore-evas: handle screen_geom_get() for buffer canvas
Mike Blumenkrantz [Fri, 24 Feb 2017 19:13:13 +0000 (14:13 -0500)]
ecore-evas: handle screen_geom_get() for buffer canvas

this was missing and would do nothing when called

7 years agodocgen: fix broken inheritance graphs
Daniel Kolesa [Fri, 24 Feb 2017 16:17:52 +0000 (17:17 +0100)]
docgen: fix broken inheritance graphs

7 years agodocgen: more useful event listing
Daniel Kolesa [Fri, 24 Feb 2017 16:12:28 +0000 (17:12 +0100)]
docgen: more useful event listing

7 years agodocgen: disregard override info for displaying property get/set
Daniel Kolesa [Fri, 24 Feb 2017 15:24:36 +0000 (16:24 +0100)]
docgen: disregard override info for displaying property get/set

7 years agodocgen: minor speed optimizations and cleanups
Daniel Kolesa [Fri, 24 Feb 2017 15:10:00 +0000 (16:10 +0100)]
docgen: minor speed optimizations and cleanups

7 years agodocgen: merge overridden and other categories for methods/properties
Daniel Kolesa [Fri, 24 Feb 2017 14:47:25 +0000 (15:47 +0100)]
docgen: merge overridden and other categories for methods/properties

7 years agoelementary: Fix compilation for SDL
Chris Michael [Thu, 23 Feb 2017 17:39:02 +0000 (12:39 -0500)]
elementary: Fix compilation for SDL

Not sure how long this has been broken, but the variable name changed
in this routine to "is_gl_accel"..."is_hw_accel" is no longer used, so
change variable name here to fix compilation with SDL.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
7 years agodocgen: initial support for inherited events listing
Daniel Kolesa [Thu, 23 Feb 2017 17:17:22 +0000 (18:17 +0100)]
docgen: initial support for inherited events listing

7 years agodocgen: add "Others" section with all remaining callables to class pages
Daniel Kolesa [Thu, 23 Feb 2017 16:09:12 +0000 (17:09 +0100)]
docgen: add "Others" section with all remaining callables to class pages

7 years agodocgen: merge methods and properties in listing
Daniel Kolesa [Thu, 23 Feb 2017 15:41:43 +0000 (16:41 +0100)]
docgen: merge methods and properties in listing

7 years agodocgen: properly handle overridden property docs
Daniel Kolesa [Thu, 23 Feb 2017 15:30:57 +0000 (16:30 +0100)]
docgen: properly handle overridden property docs

7 years agoelm: Restore ABI compatibility (elm_pan_gravity)
Jean-Philippe Andre [Thu, 23 Feb 2017 06:32:17 +0000 (15:32 +0900)]
elm: Restore ABI compatibility (elm_pan_gravity)

elm_pan_gravity_{set,get} are functions that were generated as
legacy APIs (in other words EAPI), but were never actually exposed
to applications as they were protected behind EFL_EO_API_SUPPORT
(see elm_interfaces.h).

This patch restores the ABI compatibility with elementary 1.18.

7 years agoemotion XXX - make nv12 709 streams work even with slightly off colors
Carsten Haitzler (Rasterman) [Thu, 23 Feb 2017 02:43:43 +0000 (11:43 +0900)]
emotion XXX - make nv12 709 streams work even with slightly off colors

ther eis no 709 nv12 support support in evas but there is 601, so use
that for now until we add the feature of 709 nv12 support.

7 years agoefl-js: Fix deprecated Set feature of setting non-primitive value
Felipe Magno de Almeida [Wed, 22 Feb 2017 21:41:32 +0000 (18:41 -0300)]
efl-js: Fix deprecated Set feature of setting non-primitive value

7 years agoefl_js: Export efl.Loop
Lauro Moura [Thu, 16 Feb 2017 21:22:13 +0000 (18:22 -0300)]
efl_js: Export efl.Loop

7 years agoefl_js: Use efl_add_ref for saner refcount.
Lauro Moura [Thu, 16 Feb 2017 21:21:08 +0000 (18:21 -0300)]
efl_js: Use efl_add_ref for saner refcount.

efl_add was messing up the refcount in objects with parents on the JS
side.

7 years agojs: Update examples, including window api changes.
Lauro Moura [Wed, 7 Dec 2016 17:49:43 +0000 (14:49 -0300)]
js: Update examples, including window api changes.

Window now inherits from Container instead of Pack.

Also removed some deprecated stuff.

7 years agojs: Raise exception to js instead of crashing
Lauro Moura [Wed, 7 Dec 2016 21:00:36 +0000 (18:00 -0300)]
js: Raise exception to js instead of crashing

7 years agoeolian_js: Avoid errors when getting function scope
Lauro Moura [Mon, 13 Feb 2017 22:24:53 +0000 (19:24 -0300)]
eolian_js: Avoid errors when getting function scope

7 years agoefl_js: Update register functions.
Lauro Moura [Mon, 13 Feb 2017 21:04:56 +0000 (18:04 -0300)]
efl_js: Update register functions.

7 years agojs: Change test eos to ptr()
Lauro Moura [Fri, 10 Feb 2017 14:55:43 +0000 (11:55 -0300)]
js: Change test eos to ptr()

7 years agodocgen: add a way to get numerical id of a function
Daniel Kolesa [Wed, 22 Feb 2017 17:29:07 +0000 (18:29 +0100)]
docgen: add a way to get numerical id of a function

7 years agodocgen: more useful function listings in class pages
Daniel Kolesa [Wed, 22 Feb 2017 14:54:36 +0000 (15:54 +0100)]
docgen: more useful function listings in class pages

Now there are C signatures visible.

7 years agogenlist: Simplify code (remove one argument)
Jean-Philippe Andre [Wed, 22 Feb 2017 06:34:34 +0000 (15:34 +0900)]
genlist: Simplify code (remove one argument)

Parameter "qadd" is always true when calling _item_process_post(),
so simplify the code by removing it.

7 years agogenlist: Fix more tree issues (expanded state)
Jean-Philippe Andre [Wed, 22 Feb 2017 04:53:03 +0000 (13:53 +0900)]
genlist: Fix more tree issues (expanded state)

This fixes a lot of cases where a genlist node (of any type)
with children may have appeared in the invalid expanded or
contracted state.

Before this patch, the test case "Genlist tree, Relative insert"
looked like below (all items are programmatically added):

> A
  > 1
  > 2
> B
  > 3
  > 4

The problem above is that A and B have visible children but
still believe they are in contracted state. This patch ensures
that A and B will be marked as expanded, but will do so without
firing an "expanded" signal and definitely without the
"expand,request" signal.

After this patch, the test case will look like this:

v A
  > 1
  > 2
v B
  > 3
  > 4

Which is more correct. Note that this test case does not handle
any expand/contract signal.

NOTE: This is a behaviour break!

7 years agogenlist: Fix insert after with a tree
Jean-Philippe Andre [Tue, 21 Feb 2017 13:04:10 +0000 (22:04 +0900)]
genlist: Fix insert after with a tree

This fixes a case where inserting item "C" after item "B" in this
tree would go wrong:

A
B
- 1
- 2

Before this patch, 1 and 2 lose their parent:

A
B
C
- 1
- 2

After this patch, 1 and 2 retain their parent:

A
B
- 1
- 2
C

Insert before worked by luck, no need to fix it.
Note that this patch may require the next one to actually
work (ensuring expanded state flag).

NOTE: This is a behaviour break!

7 years agogenlist: Fix sorted_insert with tree
Jean-Philippe Andre [Tue, 21 Feb 2017 12:48:11 +0000 (21:48 +0900)]
genlist: Fix sorted_insert with tree

This fixes the test case "Genlist Tree, Insert Sorted".
This is a pretty ugly patch... but the genlist code is already
pretty ugly, as it keeps a flat inlist of items (sd->items)
as well as a tree structure in parallel.

Before this patch, the following configuration led to issues:

 1
 3
 - A
 - B

Adding item "2" led to a crash. Adding item 4 led to this:

 1
 3
 4
 - A
 - B

Items A and B lost their parent "3". Subsequent sorted inserts
would lead to insane bahaviour, where for instance "8" would
appear before "3".

This patch fixes all sorted inserts, at the cost of performance
(an optimized code path is avoided). Subsequent patches will
increase the robustness of the tree structure.

NOTE: This is a behaviour break!

Fixes T4850

7 years agoedje_edit: fix scripts compilation
Andrii Kroitor [Tue, 21 Feb 2017 17:33:51 +0000 (19:33 +0200)]
edje_edit: fix scripts compilation

@fix

7 years agodocgen: inherit overridden method/property brief descriptions on class pages
Daniel Kolesa [Tue, 21 Feb 2017 15:48:16 +0000 (16:48 +0100)]
docgen: inherit overridden method/property brief descriptions on class pages

7 years agoslider: theme - fix warnings
Amitesh Singh [Tue, 21 Feb 2017 15:23:51 +0000 (20:53 +0530)]
slider: theme - fix warnings

Fixes warnings related to  "disabled_visible" states
not present in "limits" part.

fixes T5123

7 years agoelementary gengrid: fix for working item reorder mode correctly
Minkyu Kang [Tue, 21 Feb 2017 09:32:30 +0000 (15:02 +0530)]
elementary gengrid: fix for working item reorder mode correctly

Summary:
Change the item indexing to start 1 after reordering animation.
Change the logic of edge checking to get the row or col correctly.

Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Test Plan:
elementary_test -to gengrid2
append 6 items
enable the reorder mode
check reordering is working properly (4 to 1)

@fix

Reviewers: singh.amitesh, cedric

Subscribers: jehun.lim, jpeg

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

7 years agodayselector: Fix DaySelector widget
Jean-Philippe Andre [Tue, 21 Feb 2017 09:14:36 +0000 (18:14 +0900)]
dayselector: Fix DaySelector widget

An invalid strcmp() led to always reject the swallowed
widgets, which were Elm.Check instead of Elm_Check.
Use efl_isa() instead.

Fixes T5034

7 years agoedje: Fix a major issue with recalc loop
Jean-Philippe Andre [Tue, 21 Feb 2017 08:49:44 +0000 (17:49 +0900)]
edje: Fix a major issue with recalc loop

With the new Efl.Ui.Clock widget, which implements Datetime,
most parts are relative to each other, and trigger a near-inifinite
recalc of all the parts. Indeed edje was recalculating a part even
if it had already calculated it (flag is set).

This seemingly simple patch fixes Datetime and probably a lot
of other edje widgets.

Fixes T4909

@fix

7 years agoevas: Optimize out some nop calls to evas text
Jean-Philippe Andre [Tue, 21 Feb 2017 08:48:08 +0000 (17:48 +0900)]
evas: Optimize out some nop calls to evas text

Some property set calls to Evas Text are NOPs if the property was
already set to the same value. Avoid doing any work then.

This adds a missing intercept call (size_set as it's overriden
by Evas.Text).

7 years agoelm: Make clock widget more resilient to invalid config
Jean-Philippe Andre [Tue, 21 Feb 2017 07:14:20 +0000 (16:14 +0900)]
elm: Make clock widget more resilient to invalid config

I was in a situation where my elm_config had the proper version
but did not contain a proper module name for the clock widget.
This resulted in not being able to create any field object in
the clock widget... in other words it made for a very useless
clock :)

Ideally the config should be updated at this point. I'm not
sure how to proceed exactly, though :(

7 years agoevas: Fix module memleak during evas_shutdown
Jean-Philippe Andre [Tue, 21 Feb 2017 05:46:02 +0000 (14:46 +0900)]
evas: Fix module memleak during evas_shutdown

This fixes a minor memory leak during shutdown.

Note: This does NOT perform the dlclose (and still leaks the
Eina_Module descriptor). Calling dlclose leads to a whole lot
of other issues, so we avoid it.

7 years agoevas: Fix make check (evas_suite compilation)
Jean-Philippe Andre [Tue, 21 Feb 2017 06:11:32 +0000 (15:11 +0900)]
evas: Fix make check (evas_suite compilation)

This fixes issues where Evas_Object_Intercept_Cb_Type was not
defined, as this is defined in Evas_Legacy.h (unfortunately...
as it's used by elementary), but the private headers defining
EFL_CANVAS_OBJECT_PROTECTED were included after Evas_Legacy.h.

7 years agoevas: Fix compilation warning (unused variable)
Jean-Philippe Andre [Tue, 21 Feb 2017 06:11:42 +0000 (15:11 +0900)]
evas: Fix compilation warning (unused variable)

7 years agoevas: Avoid data_scope_get in internal function
Jean-Philippe Andre [Tue, 21 Feb 2017 03:24:56 +0000 (12:24 +0900)]
evas: Avoid data_scope_get in internal function

7 years agoevas: Inline part of clip_dirty
Jean-Philippe Andre [Mon, 20 Feb 2017 14:14:38 +0000 (23:14 +0900)]
evas: Inline part of clip_dirty

clip_dirty is called A LOT. Unfortunately this patch does not
result in very measurable improvements.

**********************
Note about this merge:

After this series of patches, the CPU usage for a certain test
case has significantly gone down:

Based on c0e6a8d698c17fc16f9b67fc9 (upstream before git push):
NS since frame 2 = 28910806786 , 2937 frames = 9843652 / frame

After this patch:
NS since frame 2 = 19218592951 , 2928 frames = 6563727 / frame

1.18:
NS since 2 = 13105584220 , 2961 frames = 4426066 / frame

As we can see, 1.18 remains *much* better than 1.19. I'm still
struggling trying to figure out why (clip_recalc is called more,
but the call tree is hard to decypher).

The test case is:
EINA_FREEQ_BYPASS=1 ELM_TEST_AUTOBOUNCE=100 \
  elementary_test -to "Scroller 2"

EFL was compiled with GCC 6.3.1 with -O3 -g

@optimization

7 years agoevas: Inline part of clip_recalc
Jean-Philippe Andre [Mon, 20 Feb 2017 11:24:21 +0000 (20:24 +0900)]
evas: Inline part of clip_recalc

This function was moved out of inline (see d7c6fca6c00a0bfb05) but
unfortunately the early checks at its beginning are likely
to result in an early return. Inline this part so we get back a
better performance. Inlining the whole function does not improve
the performance, as GCC simply gives up with inlining.

Note: Between 1.18 and master the number of calls to clip_recalc
has simply blown out. It is thus crucial to find out where those
calls come from but also micro-optimize the function itself. This
patch does the latter only.

@optimize

7 years agoevas: Optimize out some calls to data_scope_get
Jean-Philippe Andre [Mon, 20 Feb 2017 10:34:58 +0000 (19:34 +0900)]
evas: Optimize out some calls to data_scope_get

Within evas when we know an object is marked as is_smart, then
we know it's a smart object. :)

@optimize

7 years agoevas: Avoid more calls to efl_isa in clip_set
Jean-Philippe Andre [Mon, 20 Feb 2017 09:26:40 +0000 (18:26 +0900)]
evas: Avoid more calls to efl_isa in clip_set

No need to verify that the clip is an evas object unless we're
actually going to change said clipper. This has a minor effect,
removing ~10% of all calls to efl_isa (0.1% of everything).

After all those efl_isa patches the number of calls has dropped
from 1.9M (~3.05%) to ~570k (0.76%). More can still be done,
surely. Now efl_isa accounts for ~0.05% of my CPU usage according
to perf top (down from ~0.7%).

If edje uses EO APIs instead of legacy image APIs, then many of
the remaining calls will vanish.

@optimization

7 years agoevas: Assume object is valid and avoid call to efl_isa
Jean-Philippe Andre [Mon, 20 Feb 2017 09:07:00 +0000 (18:07 +0900)]
evas: Assume object is valid and avoid call to efl_isa

In an internal function we should be able to safely assume an
object is indeed a smart object.

@optimization

7 years agoevas: Optimize out more calls to efl_isa
Jean-Philippe Andre [Mon, 20 Feb 2017 08:59:50 +0000 (17:59 +0900)]
evas: Optimize out more calls to efl_isa

In relative smart move, we only need to check once that the object
is indeed a valid smart object. This drops the call count from ~1.02M
to ~785k.

@optimization

7 years agoevas: Avoid call to EAPI inside internal code
Jean-Philippe Andre [Mon, 20 Feb 2017 08:25:29 +0000 (17:25 +0900)]
evas: Avoid call to EAPI inside internal code

This avoids calling efl_isa and locking the async mutex.

In callgrind analysis, this reduces the count of calls to
efl_isa from 1.96M to 1.02M.

@optimization

7 years agoevas: Avoid useless calls to eo_data_scope_get
Jean-Philippe Andre [Fri, 17 Feb 2017 09:46:09 +0000 (18:46 +0900)]
evas: Avoid useless calls to eo_data_scope_get

Use an internal variant of the function for evas when we already
have the protected data pointer.

7 years agoeo: Make _eo_obj_pointer_done an inline function
Jean-Philippe Andre [Fri, 17 Feb 2017 09:37:03 +0000 (18:37 +0900)]
eo: Make _eo_obj_pointer_done an inline function

@optimization

7 years agoevas: Remove useless call to evas_object_async_block
Jean-Philippe Andre [Fri, 17 Feb 2017 09:15:57 +0000 (18:15 +0900)]
evas: Remove useless call to evas_object_async_block

It's already called from the intercept cb.

7 years agoevas: Inline checks for post-event cb call
Jean-Philippe Andre [Fri, 17 Feb 2017 09:06:10 +0000 (18:06 +0900)]
evas: Inline checks for post-event cb call

This avoid excessive calls to a real function.

@optimization

7 years agodocs: Fix typos and some wrong expressions in Eina API reference doxygen.
Myoungwoon Roy, Kim [Mon, 20 Feb 2017 06:18:21 +0000 (15:18 +0900)]
docs: Fix typos and some wrong expressions in Eina API reference doxygen.

Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in Eina API reference doxygen.

Test Plan: Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg

Reviewed By: jpeg

Subscribers: conr2d

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

7 years agoexamples: Use printf instead of fprintf(stdout, ...)
Bryce Harrington [Mon, 20 Feb 2017 05:33:04 +0000 (14:33 +0900)]
examples: Use printf instead of fprintf(stdout, ...)

Summary:
Also fix warning about lack of a format string:

    warning: format not a string literal and no format arguments [-Wformat-security]
         fprintf(stdout, commands);

Signed-off-by: Bryce Harrington <bryce@osg.samsung.com>
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

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

7 years agorelease: Update NEWS and bump version for 1.19.0-beta2 release
Stefan Schmidt [Mon, 20 Feb 2017 21:45:31 +0000 (22:45 +0100)]
release: Update NEWS and bump version for 1.19.0-beta2 release

7 years agoeina utils: fix build without getpwent.
Mykyta Biliavskyi [Mon, 20 Feb 2017 09:29:56 +0000 (11:29 +0200)]
eina utils: fix build without getpwent.

If HAVE_GETPWENT isn't defined - the closing brace was missed.
Also prevent situation when strdup() tried to duplicate NULL
pointer, because that could cause segfault.

@fix

7 years agointerface_scrollable: Improve gravity_set api to support pan changing
Wonki Kim [Mon, 20 Feb 2017 02:31:12 +0000 (11:31 +0900)]
interface_scrollable: Improve gravity_set api to support pan changing

Summary:
When you set gravity 1 on scroller, scroller sticks to the bottom
even content is changed.
however, scroller don't work like above, if size of pan is changed.

this commit uses pan_pos_max rather than w/h of content_info
because pan_pos_max is related with both content_size and pan size.

gravity_set will work properly even if both size of content and pan are
changed simultaneously.

Test Plan:
1. Select 'scroll3' in the elementary_test
2. Append enough items so that scroll bar appears (about 30 items)
3. Go to the bottom and Set gravity 1.0
4. Check that scroller sticks to the bottom once you append another item
   (it works)
5. Check that scroller sticks to to bottom once you resize window(pan)
   (it doesn't work without this patch)

Reviewers: eagleeye, jpeg, cedric, woohyun, z-wony, herdsman

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

7 years agoevas: do not error for smart class objects
Marcel Hollerbach [Mon, 20 Feb 2017 02:11:34 +0000 (11:11 +0900)]
evas: do not error for smart class objects

Summary: this should fix some spamming in e

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric

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

Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
7 years agoecore_evas_wayland_common: fix bug that window is not rotated when app request rotate.
Jiyoun Park [Mon, 20 Feb 2017 01:28:27 +0000 (10:28 +0900)]
ecore_evas_wayland_common: fix bug that window is not rotated when app request rotate.

In landscape mode, width & height of evas are different with ecore's.
so diff is checked differently according to the  portrait & landscape mode.

7 years agoelm_test: Add autobounce test for "Scroller 2"
Jean-Philippe Andre [Fri, 17 Feb 2017 07:59:41 +0000 (16:59 +0900)]
elm_test: Add autobounce test for "Scroller 2"

7 years agoCanvas text: fix clearing existing style
Daniel Hirt [Sun, 19 Feb 2017 16:10:24 +0000 (18:10 +0200)]
Canvas text: fix clearing existing style

Fixes T5187.
This fixes a leak in evas_textblock_style_user_pop, that made use of the
new key-based efl_canvas_text_style_set api.

@fix

7 years agoelm_code: Another Coverity fix, better this time.
Andy Williams [Sun, 19 Feb 2017 14:15:29 +0000 (14:15 +0000)]
elm_code: Another Coverity fix, better this time.

@fix CID1371322

7 years agoreadme - systemd is default on now... --disable if you dont want it
Carsten Haitzler (Rasterman) [Sun, 19 Feb 2017 12:11:57 +0000 (21:11 +0900)]
readme - systemd is default on now... --disable if you dont want it

7 years agoelm code - fix warning about sign comparisons
Carsten Haitzler (Rasterman) [Sun, 19 Feb 2017 06:48:41 +0000 (15:48 +0900)]
elm code - fix warning about sign comparisons

7 years agoelm_code: Fix Coverity issues.
Andy Williams [Sat, 18 Feb 2017 21:41:53 +0000 (21:41 +0000)]
elm_code: Fix Coverity issues.

@fix CID1356612 CID1368335 CID1368489 CID1371123 CID1371124 CID1371126 CID1371128

7 years agoelm config base profiles - fixselect allow to be orrectly iniitted
Carsten Haitzler (Rasterman) [Fri, 17 Feb 2017 08:34:44 +0000 (17:34 +0900)]
elm config base profiles - fixselect allow to be orrectly iniitted

fixes previous commit...

7 years agofix entry selection by having proper cfg update and def fields
Carsten Haitzler (Rasterman) [Fri, 17 Feb 2017 08:21:20 +0000 (17:21 +0900)]
fix entry selection by having proper cfg update and def fields

this should fix T5183

7 years agoeo: ensure the generation is correctly clamped
Marcel Hollerbach [Thu, 16 Feb 2017 21:37:16 +0000 (13:37 -0800)]
eo: ensure the generation is correctly clamped

Summary:
when a few recursive event emissions are happening, and in some deep
recursive level a subscription to the same object is happening, the
subscription would just be executed when the complete recursion is done.
that is wrong. The subscription needs to be executed when the event is
called after the subscription is added, undepended from any recursive
level. That fixes that and adds a regression test for it.

This was discovered in e, since e gives a lot of error messages about a eo object
that is already freed. It turned out this object is returned from evas, and exactly
the above happened to the EFL_EVENT_DEL subscription of that object.

Test Plan: make check

Reviewers: tasn, cedric, stefan_schmidt

Subscribers: stefan_schmidt, netstar, zmike, raster, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agodoxygen: fix typos and some wrong expressions in Edje and Eet API reference documenta...
Myoungwoon Roy, Kim [Thu, 16 Feb 2017 18:16:49 +0000 (10:16 -0800)]
doxygen: fix typos and some wrong expressions in Edje and Eet API reference documentation.

Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in Edje and Eet API reference doxygen.

Test Plan: Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg

Subscribers: conr2d

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
7 years agodocgen: add -p to print what exactly is being generated currently
Daniel Kolesa [Thu, 16 Feb 2017 16:29:23 +0000 (17:29 +0100)]
docgen: add -p to print what exactly is being generated currently

7 years agodocgen: make sure all class retrievals are cached
Daniel Kolesa [Thu, 16 Feb 2017 16:20:00 +0000 (17:20 +0100)]
docgen: make sure all class retrievals are cached

7 years agodocgen: cache function instantiations
Daniel Kolesa [Thu, 16 Feb 2017 16:12:43 +0000 (17:12 +0100)]
docgen: cache function instantiations

7 years agodocgen: cache class retrievals for performance
Daniel Kolesa [Thu, 16 Feb 2017 15:06:56 +0000 (16:06 +0100)]
docgen: cache class retrievals for performance

7 years agogengrid: Remove duplicated smart callbacks
Jean-Philippe Andre [Thu, 16 Feb 2017 13:05:58 +0000 (22:05 +0900)]
gengrid: Remove duplicated smart callbacks

WRN... evas_smart.c:219 evas_smart_cb_descriptions_fix() duplicated
  smart callback description with name 'item,focused' and type ''

7 years agowidget: Reduce WRN to DBG for on_focus_region message
Jean-Philippe Andre [Thu, 16 Feb 2017 13:00:19 +0000 (22:00 +0900)]
widget: Reduce WRN to DBG for on_focus_region message

Many widgets don't implement this function, and this case is
perfectly well handled by the caller. No need to WRN here.

7 years agoevas: Silence useless WRN message on canvas del
Jean-Philippe Andre [Thu, 16 Feb 2017 12:56:11 +0000 (21:56 +0900)]
evas: Silence useless WRN message on canvas del

7 years agoecore_evas: Fix mouse event in inlined windows
Jean-Philippe Andre [Thu, 16 Feb 2017 12:51:47 +0000 (21:51 +0900)]
ecore_evas: Fix mouse event in inlined windows

This fixes the following ERR message:
ERR<10589>:eina_safety /home/jpeg/e/core/efl/src/lib/ecore_evas/ecore_evas.c:3149
  _ecore_evas_mouse_move_process_internal() safety check failed: cursor == NULL

7 years agowin: Avoid magic check failed in ecore with inline win
Jean-Philippe Andre [Thu, 16 Feb 2017 12:45:12 +0000 (21:45 +0900)]
win: Avoid magic check failed in ecore with inline win

Fixes T4663

7 years agoelm_test: Fix invalid API use (EO)
Jean-Philippe Andre [Thu, 16 Feb 2017 12:32:39 +0000 (21:32 +0900)]
elm_test: Fix invalid API use (EO)

7 years agowin: Avoid malloc in icon_object_set
Jean-Philippe Andre [Thu, 16 Feb 2017 11:40:22 +0000 (20:40 +0900)]
win: Avoid malloc in icon_object_set

Also support both Evas.Image and EO Efl.Canvas.Image classes.
Add a test case in elm_test (under "Icon").

I'm not so happy about this patch... it shows that the API
barrier between legacy and EO implemented for images may not
be such a great idea after all :(

7 years agoevas: Flush post-event callbacks only when needed
Jean-Philippe Andre [Thu, 16 Feb 2017 11:17:12 +0000 (20:17 +0900)]
evas: Flush post-event callbacks only when needed

This avoids flushing the post-event cb queue when processing
recursive events. See 54e5841b2f6386765dd5e2831aa3481b952e5.

7 years agowin: Fix window icons with object set
Jean-Philippe Andre [Thu, 16 Feb 2017 11:05:04 +0000 (20:05 +0900)]
win: Fix window icons with object set

Fixes T4981

7 years agoevas: Re-fix post-event cb by supporting recursion
Jean-Philippe Andre [Thu, 16 Feb 2017 10:34:08 +0000 (19:34 +0900)]
evas: Re-fix post-event cb by supporting recursion

The previous patch (b184874fa5a0c3177c) was preventing
post-event callbacks from triggering any form of input event,
including side-effects due to mouse,in. In fact by tracking
which exact events we want to post-process we can support
proper recursion. This fixes crashes in Bryce.

I'm not changing the documentation as this is still a dubious
code design.

Fixes T3144
Fixes T5157