Lauro Moura [Fri, 10 Feb 2017 14:55:43 +0000 (11:55 -0300)]
js: Change test eos to ptr()
Daniel Kolesa [Wed, 22 Feb 2017 17:29:07 +0000 (18:29 +0100)]
docgen: add a way to get numerical id of a function
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.
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.
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!
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!
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
Andrii Kroitor [Tue, 21 Feb 2017 17:33:51 +0000 (19:33 +0200)]
edje_edit: fix scripts compilation
@fix
Daniel Kolesa [Tue, 21 Feb 2017 15:48:16 +0000 (16:48 +0100)]
docgen: inherit overridden method/property brief descriptions on class pages
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
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
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
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
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).
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 :(
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.
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.
Jean-Philippe Andre [Tue, 21 Feb 2017 06:11:42 +0000 (15:11 +0900)]
evas: Fix compilation warning (unused variable)
Jean-Philippe Andre [Tue, 21 Feb 2017 03:24:56 +0000 (12:24 +0900)]
evas: Avoid data_scope_get in internal function
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
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
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
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
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
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
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
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.
Jean-Philippe Andre [Fri, 17 Feb 2017 09:37:03 +0000 (18:37 +0900)]
eo: Make _eo_obj_pointer_done an inline function
@optimization
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.
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
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
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
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
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
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
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>
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.
Jean-Philippe Andre [Fri, 17 Feb 2017 07:59:41 +0000 (16:59 +0900)]
elm_test: Add autobounce test for "Scroller 2"
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
Andy Williams [Sun, 19 Feb 2017 14:15:29 +0000 (14:15 +0000)]
elm_code: Another Coverity fix, better this time.
@fix CID1371322
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
Carsten Haitzler (Rasterman) [Sun, 19 Feb 2017 06:48:41 +0000 (15:48 +0900)]
elm code - fix warning about sign comparisons
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
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...
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
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>
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>
Daniel Kolesa [Thu, 16 Feb 2017 16:29:23 +0000 (17:29 +0100)]
docgen: add -p to print what exactly is being generated currently
Daniel Kolesa [Thu, 16 Feb 2017 16:20:00 +0000 (17:20 +0100)]
docgen: make sure all class retrievals are cached
Daniel Kolesa [Thu, 16 Feb 2017 16:12:43 +0000 (17:12 +0100)]
docgen: cache function instantiations
Daniel Kolesa [Thu, 16 Feb 2017 15:06:56 +0000 (16:06 +0100)]
docgen: cache class retrievals for performance
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 ''
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.
Jean-Philippe Andre [Thu, 16 Feb 2017 12:56:11 +0000 (21:56 +0900)]
evas: Silence useless WRN message on canvas del
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
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
Jean-Philippe Andre [Thu, 16 Feb 2017 12:32:39 +0000 (21:32 +0900)]
elm_test: Fix invalid API use (EO)
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 :(
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.
Jean-Philippe Andre [Thu, 16 Feb 2017 11:05:04 +0000 (20:05 +0900)]
win: Fix window icons with object set
Fixes T4981
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
Jean-Philippe Andre [Thu, 16 Feb 2017 07:47:57 +0000 (16:47 +0900)]
evas: Strengthen post-event callbacks
See T3144 that I marked as Wontfix.
Bryce in E manually feeds events from a post-event callback
resulting in Evas going insane and leading to frequent crashes.
The ideal solution (for E) would be to ensure that everything works
smoothly, the input event data is valid up until the post-event cb
is called, etc... Unfortunately, with recursive events the exact
order of operations may be messed up: the post-event
I don't want to add yet more complexity to Evas events here (it's
already spaghetti all over the place) so I'm simply blocking any
new event feed when running the post-event callback list.
It's not possible to just freeze the events (I tried, it failed).
**********************
Some more explanation:
post-event callbacks are used to implement reverse-order logic
where the on-hold flag of an input event may be set by an event
listener that does not come first.
Here's a situation to illustrate: scroller A inside scroller B.
As events are propagated from children to parents (assuming the
propagate flag is set), we'd assume the events to go first to A
and then to B, which means a mouse wheel event would make the
inner-most scroller (A) scroll, and the outer-most scroller (B)
wouldn't budge.
But as things are designed, A and B are not simple evas objects,
and the actual event-catching object is a top-most transparent
rectangle (top-most in Z stack order). Since A is inside B, B's
rectangle BR is over A's rectangle AR, thus catches the wheel
event first. But in terms of UX we still want A to scroll, not B.
The solution then is to reverse the event processing order and
post-event callbacks are the way to do that. This comes with the
consequence that the event_info needs to remain valid until the
post-event is called, and stay the same (so that the on-hold flag
set by A can be read by B).
Recursive events (by explicit feed or modifying the canvas so
that mouse,in or mouse,out are triggered) mess with this logic,
and trigger the post-events too early (event is not fully
processed) or too late (event_info is not valid anymore... and
crash!).
Thanks @raster for explaining the goal of post-event callbacks!
Jean-Philippe Andre [Thu, 16 Feb 2017 07:26:42 +0000 (16:26 +0900)]
evas: Ensure post-event cb push is called from an event cb
This rejects calls to evas_post_event_callback_push() that don't
originate from inside an input event callback.
Jean-Philippe Andre [Thu, 16 Feb 2017 07:25:50 +0000 (16:25 +0900)]
evas/doc: Add warning about post_event_callback_push
Carsten Haitzler (Rasterman) [Thu, 16 Feb 2017 01:18:54 +0000 (10:18 +0900)]
Revert "Revert "evas textblock: keep previous size when the calculation is skipped""
This reverts commit
b8beb6834b01f9688cb5e7aa177bacbc713318b9.
this now actually works... for some mysterious reason... ? :/ i am
baffled. go back in until we can find the issue then...
Myoungwoon Roy, Kim [Thu, 16 Feb 2017 00:30:18 +0000 (16:30 -0800)]
doxygen: fix typos and some wrong expressions in API reference.
Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in API reference doxygen.
Test Plan: Doxygen revision
Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg
Subscribers: conr2d
Differential Revision: https://phab.enlightenment.org/D4658
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Godly T.Alias [Thu, 16 Feb 2017 00:29:05 +0000 (16:29 -0800)]
efl: fix memory leak in edje and evas.
Summary:
Signed-off-by: Godly T.Alias <godlytalias@yahoo.co.in>
Signed-off-by: Ayush Srivastava <ayush.sriv@samsung.com>
Test Plan: EFL apps
Reviewers: cedric, raster
Subscribers: rajeshps, ayush.sriv, jpeg, prince.dubey
Differential Revision: https://phab.enlightenment.org/D4660
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Derek Foreman [Wed, 15 Feb 2017 15:51:32 +0000 (09:51 -0600)]
ecore_drm2: ERR once when page flip fails with EBUSY
On systems where this happens it'll probably happen a lot, so
we don't want to continuously log this, but since it's definitely
showing a bug somewhere (efl or kernel) it probably should be an ERR.
Jean-Philippe Andre [Wed, 15 Feb 2017 11:55:58 +0000 (20:55 +0900)]
edje: Fix object leak with Efl.Part
A call to efl_reuse was missing.
Stefan Schmidt [Wed, 15 Feb 2017 11:07:02 +0000 (12:07 +0100)]
evas_loader: add since tag to newly added task_cancelled API
Stefan Schmidt [Wed, 15 Feb 2017 10:13:36 +0000 (11:13 +0100)]
eina_strbuf / eina_ustrbuf: add since tags for newly added APIs
These six have been added in this cycle but missed the since tags.
Stefan Schmidt [Wed, 15 Feb 2017 10:07:42 +0000 (11:07 +0100)]
eina_lock: add since tag to now exposed eina_lock_debug API
This function was static inline before but form 1.19 onwards its EAPI so give
it a since tag.
Stefan Schmidt [Wed, 15 Feb 2017 09:57:11 +0000 (10:57 +0100)]
eina: binbuf: add since tags new append_slice and insert_slice APIs
Jean-Philippe Andre [Wed, 15 Feb 2017 11:07:38 +0000 (20:07 +0900)]
fileselector: Add missing call to group_del
Remove unused refcount thingy and enforce call to smart del.
Fixes T4598
Jean-Philippe Andre [Wed, 15 Feb 2017 11:07:11 +0000 (20:07 +0900)]
group: Track calls to group_del
After a long search I found that fileselector was not calling
super.group_del on deletion, leading to the use of dangling pointers.
So let's verify that group_del is properly called.
See T4598
Jean-Philippe Andre [Wed, 15 Feb 2017 07:23:44 +0000 (16:23 +0900)]
eo: Fix shadow variable warning
Amitesh Singh [Wed, 15 Feb 2017 10:18:38 +0000 (15:48 +0530)]
genlist: remove uncessary _item_cache_zero call
_item_cache_zero() is already getting called in _mirrored_set
Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
Vyacheslav Reutskiy [Fri, 10 Feb 2017 08:50:35 +0000 (10:50 +0200)]
elm_genlist_item: update docs for 'next_get'
Jean-Philippe Andre [Wed, 15 Feb 2017 06:43:20 +0000 (15:43 +0900)]
textblock: Fix dangling data ref
In this case data_scope_get is more appropriate as the data is
indeed stored on the stack (function scope) and not somewhere else.
After this last fix I see no eo_debug error logs in elementary test.
Yay! eo_debug is now usable :)
Jean-Philippe Andre [Wed, 15 Feb 2017 06:04:20 +0000 (15:04 +0900)]
evas & elm: Fix invalid uses of efl_data_ref(obj, NULL)
The data class should be specified for debug purposes.
Also, this fixes invalid uses inside the smart object
implementation where it assumed that the smart data was part
of the eo data. It may not (legacy objects).
Jean-Philippe Andre [Wed, 15 Feb 2017 06:32:04 +0000 (15:32 +0900)]
evas_render: Remove data_unref that has no data_ref
Jean-Philippe Andre [Wed, 15 Feb 2017 06:25:15 +0000 (15:25 +0900)]
eo_debug: Remove some abusive goto where not needed
goto was used for micro-optimization. There is absolutely no
need for those if we're using the slow path with eo_debug.
Simplify the code.
Jean-Philippe Andre [Wed, 15 Feb 2017 06:19:08 +0000 (15:19 +0900)]
eo_debug: Some more log improvements
Nothing fancy here...
Jean-Philippe Andre [Wed, 15 Feb 2017 05:43:35 +0000 (14:43 +0900)]
eo_debug: Improve dangling xref debug logs even more
In case of manual free, as is heavily used by Evas, we can't really
print an ERR if there are still references before free has been
called.
This may not be ideal from a pure EO point of view but considering
how Evas uses manual free this is the best solution to avoid
polluting debug logs.
Jean-Philippe Andre [Wed, 15 Feb 2017 04:42:29 +0000 (13:42 +0900)]
eo_debug: Improve one log
This changes the following message when the object is referencing
its own data. Also lowers from ERR to WRN and adds the class
name for the referenced data.
ERR<17450>:eo /home/jpeg/e/core/efl/src/lib/eo/eo_private.h:337
_efl_unref_internal() in /home/jpeg/e/core/efl/src/lib/eo/eo.c:620:
func '_efl_object_call_end' Data of object 0x400000021008db58 is
still referenced by object 0x400000021008db58
Note that evas and elm have a few calls to efl_data_ref(obj, NULL)
which are imho quite ugly: not using the return value and not
specifying the data class. I'm keeping them as-is for now.
Jean-Philippe Andre [Wed, 15 Feb 2017 04:32:15 +0000 (13:32 +0900)]
elm_widget: Fix order of operations (isa before data_get)
This fixes some of the occurences of the following error message
when using eo_debug:
ERR<23101>:eo /home/jpeg/e/core/efl/src/lib/eo/eo.c:1955
efl_data_scope_get() Tried getting data of class 'Elm.Widget'
from object of class 'Edje.Object', but the former is not a
direct inheritance of the latter.
If we're going to call efl_isa, then let's at least do it before
efl_data_scope_get.
Woochan Lee [Wed, 15 Feb 2017 04:06:49 +0000 (13:06 +0900)]
elc_multibuttonentry: input panel should be shown whenever mbe is clicked.
Summary:
When mbe got focus the input panel will be shown.
Otherwise, input panel will be hidden.
If the mbe still got focus then input panel hide by user action.
there is no way to reactivate the input panel in case.
Reviewers: woohyun, jpeg, cedric, Hermet
Reviewed By: jpeg
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4661
Shinwoo Kim [Wed, 15 Feb 2017 04:00:13 +0000 (13:00 +0900)]
ecore_input: add API to set/get deadzone of joystick event for an axis.
Summary:
The axis type joystick event could occur without user's control if joystick is too sensitive.
The deadzone prevents this unnecessary event. The default value is 200.
The event value for an axis is a signed integer between -32767 and +32767.
Test Plan: Using example
Reviewers: raster, cedric, jpeg
Reviewed By: jpeg
Subscribers: stefan_schmidt
Differential Revision: https://phab.enlightenment.org/D4654
Derek Foreman [Tue, 14 Feb 2017 23:00:34 +0000 (17:00 -0600)]
build: Add our wayland protocols to the dist
Oops, without these in the distribution tarball you can't
build wayland support.
Stefan Schmidt [Tue, 14 Feb 2017 20:42:20 +0000 (21:42 +0100)]
emotion: add since tag to new emotion_file_meta_artwork_get API
Stefan Schmidt [Tue, 14 Feb 2017 20:33:33 +0000 (21:33 +0100)]
efl: add since tag to new invalid object error type
Stefan Schmidt [Tue, 14 Feb 2017 20:31:59 +0000 (21:31 +0100)]
eo: add missing since tags for functions added during 1.19 cycle
Stefan Schmidt [Tue, 14 Feb 2017 20:16:00 +0000 (21:16 +0100)]
ecore_x: add singce tags for ecore_x_stack_* functions added during 1.19 cycle
Stefan Schmidt [Tue, 14 Feb 2017 20:06:38 +0000 (21:06 +0100)]
ecore_evas: add brief docs and since tags for new ecore_evas_shadow_geometry_*
These have been missing when introduced during the 1.19 cycle.
Chris Michael [Tue, 14 Feb 2017 16:31:57 +0000 (11:31 -0500)]
ecore-wl2: Fix setting input region on a window
Previous code here would store incorrect values into the
window->input rectangle. These values should be what is actually
getting set in the wl_region. This code also fixes an issue when
setting input region for transparent/alpha windows by clearing out
any pending input region (wl_surface_set_input_region(surface, null)).
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Chris Michael [Tue, 14 Feb 2017 14:58:49 +0000 (09:58 -0500)]
ecore-wl2: Fix setting opaque region on a window
Previous code here would store incorrect values into the
window->opaque rectangle. These values should be what is actually
getting set in the wl_region. This code also fixes an issue when
setting opaque region for transparent/alpha windows by clearing out
any pending opaque region (wl_surface_set_opaque_region(surface, null)).
Reviewed-By: Derek Foreman <derekf@osg.samsung.com>
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Carsten Haitzler (Rasterman) [Tue, 14 Feb 2017 08:32:26 +0000 (17:32 +0900)]
Revert "evas textblock: keep previous size when the calculation is skipped"
This reverts commit
c39855a8ac6f86c2dd8b1856ed70f85e0e521f3e.
This actually breaks 1 dialog in e (app exited with error exit code).
it worked everywhere else so i thought it was good. seemingly not
after i saw one of these. revert D3595
Youngbok Shin [Tue, 14 Feb 2017 07:16:45 +0000 (16:16 +0900)]
Edje calc: Fix textblock size calculation logic
Summary:
In singleline textblock, using "text.min: 1 0" and min, max width,
Edje allows to use expandable text with ellipsis. It shows ellipsis
when only text's width reach the max width.
But, Edje couldn't support same feature on multiline textblock.
Edje dose not use max height or text.max properly if ellipsis is enabled.
This feature is very useful to make a layout with dynamically aligned text.
@fix
Reviewers: cedric, tasn, woohyun, raster, herdsman
Subscribers: z-wony, eagleeye, jpeg
Differential Revision: https://phab.enlightenment.org/D3595
Youngbok Shin [Tue, 14 Feb 2017 07:16:26 +0000 (16:16 +0900)]
evas textblock: keep previous size when the calculation is skipped
Summary:
When a size calculation is skipped because of some reasons,
Evas Textblock should keep same size with the previous size.
@fix
Test Plan: N/A
Reviewers: raster, herdsman, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4659
Jean-Philippe Andre [Tue, 14 Feb 2017 06:09:36 +0000 (15:09 +0900)]
ecore_evas: Avoid safety check error log
If an engine can not be used (eg. GL inside a standard Xephyr),
some ERR logs will be printed out by ecore_evas_x. This patch
avoids extra eina_safety error logs from using a NULL pointer.