Commit Graph

12148 Commits

Author SHA1 Message Date
Jeeyong Um 5d2a167958 doc: Fix invalid group classification for Edje_Audio
Summary: Edje_Audio group should belong to Edje group.

Reviewers: cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D4693
2017-03-02 14:59:35 +09:00
Bryce Harrington ad109b0bc4 ecore: Fix typo in error message
Reviewers: cedric, jpeg

Reviewed By: jpeg

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4689
2017-03-02 11:52:22 +09:00
Derek Foreman 16a1f8f188 ecore_wl2: Fix a wayland session recovery breaker... again
We need to bind a shell on reconnect, but dfb2af697 made sure
we only bind a single shell per wayland display for the life of
the display object - which lives longer than the connection.

That means when session recovery tries to reconnect it never bothers
to bind a shell, so the client can never post buffers.

ref https://phab.enlightenment.org/T5226
ref https://phab.enlightenment.org/T5005

@fix
2017-03-01 13:49:02 -06:00
Chris Michael cb39bd158e Revert "ecore-wl2: Send surface_commit after ack_configure"
Reverting this as apparently one source says to send a commit after
ack_configure, and another source says its wrong...

This reverts commit 1187035fe6.
2017-03-01 13:14:50 -05:00
Chris Michael 5ec4715b9d ecore-wl2: Fix efl apps crashing on close in wayland
Commit c6b59be1da ensured display cleanup after roundtrips, however we
cannot call the display_cleanup function After the display has been
disconnected ... oopsie. Essentially the call to the cleanup function
was in the wrong place here so fix.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-03-01 12:08:09 -05:00
Chris Michael b09dcc1e0e ecore: Don't use logging domains with spaces
Small patch to change the name of the ecore_animator logging domain.
Names with spaces in them make it impossible to export
EINA_LOG_LEVELS_GLOB inside a bashrc

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-03-01 10:50:52 -05:00
Chris Michael 1187035fe6 ecore-wl2: Send surface_commit after ack_configure
Small patch to ensure we send a surface commit after sending the
ack_configure. This fixes an issue where E-WL internal windows would
not maximize.

Fixes T5192

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-03-01 10:25:35 -05:00
Chris Michael c6b59be1da ecore-wl2: Ensure display cleanup after roundtrips
Commit ee52a28d04 added a roundtrip to
ensure and pending wl events were handled before we disconnected the
display. While this ensures some things like session recovery destroy
work again, it lead to an issue where the _ecore_wl2_display_cleanup
function was called BEFORE we processed pending events. This (in turn)
causes crashes due to processing of pending events that relied on
things like Ecore_Wl2_Input existing. As the display cleanup function
clears inputs & outputs, we need to defer calling that until the
display_roundtrip has dispatched and handled pending events.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-03-01 08:32:18 -05:00
Derek Foreman 7359f0be6e elm_cnp: allocate space for null terminator in _wl_targets_converter
strcat needs room for a string terminator.
2017-02-28 17:23:03 -06:00
Cedric BAIL d8edf70c32 ecore: improve debugging of animator. 2017-02-28 11:04:34 -08:00
Cedric BAIL b4381fd2d5 ecore_evas: rely as much as possible on display source for animator to reduce spurious tick. 2017-02-28 11:04:34 -08:00
Chris Michael da22b6fc66 ecore-wl2: Cleanup function for finding global
As per Mike, the iterator macro already does the casting for us, so we
can cleanup the code here and not do casting, plus we can remove an
extra variable...bonus ;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 12:36:05 -05:00
Chris Michael b0bd191f7b ecore-wl2: Use EINA_ITERATOR_FOREACH macro
Small patch to change from while (iterator) to using the
EINA_ITERATOR_FOREACH macro...that I had forgotten about...thanks Mike
;)

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 12:28:02 -05:00
Chris Michael dfb2af6974 ecore-wl2: Ensure we only bind one wayland shell
This patch adds prioritizing to our wayland shell binding code so that
we only bind One shell that the compositor advertises. During the
global_add callback, the shells get added to the 'globals' hash, and
when sync is done, we will search for shells to bind based on priority
so that we can ensure we always bind to the latest supported shell.

ref T5226

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 12:17:02 -05:00
Chris Michael 3d81843a3b Revert "ecore-wl2: Only bind one shell"
Reverting this in favor of a better approach (using a priority list)
as discussed on IRC.

This reverts commit 0e93f03636.
2017-02-28 11:37:15 -05:00
Chris Michael e725c0db95 elementary: Don't update opaque/input regions if not visible
Small patch to reduce calls to setting opaque/input regions in
wayland. Basically, if the window is not shown then there is no point
in updating these regions until such time that the window is actually
visible and the regions will get committed.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 11:29:24 -05:00
Chris Michael 5b9374583e ecore-wl2: Actually update input/opaque regions
Previous commit f8f71d05cd to avoid resetting
opaque & input regions was not totally complete as it did not update
the actual values...small patch to fix that.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 10:12:31 -05:00
Chris Michael f8f71d05cd ecore-wl2: Avoid resetting opaque & input regions if they match
Small patch to avoid setting the same opaque/input regions if they
already match what is being requested.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 08:51:21 -05:00
Chris Michael 0e93f03636 ecore-wl2: Only bind one shell
Since we only ever use One shell at a time, let's not bind all of them
as that is useless.

ref T5226

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-28 08:40:26 -05:00
Marcel Hollerbach 86fe6609c2 eina: move the _eina_main_loop set before we init anything
otherwise we could get into problems.

fix T4891

@fix
2017-02-28 11:46:56 +01:00
Jean-Philippe Andre 1974f5d511 eina_value: Fix min/max values of long for Windows
long is 32 bit on Windows (both 32, 64 bit).

I wonder why eina_value doesn't simply use LONG_MIN/MAX O_o

Fixes T5204
2017-02-28 16:25:18 +09:00
Flavio Ceolin 1cbd32aca1 eina:list: Fix resource leak
Summary:
The usage of the macro EINA_MAGIC_CHECK_LIST can
lead (in some cases) to leaks.

Signed-off-by: Flavio Ceolin <flavio.ceolin@gmail.com>

Reviewers: jpeg

Reviewed By: jpeg

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4679
2017-02-28 16:00:45 +09:00
Bryce Harrington b0ecb1fc90 evas: Drop duplicate macro definitions SETUP_LINE_*
Summary:
SETUP_LINE_SHALLOW and SETUP_LINE_STEEP are each identically defined
(except whitespace) in evas_line_main.c

Reviewers: cedric, jpeg

Subscribers: jpeg, cedric

Differential Revision: https://phab.enlightenment.org/D4681
2017-02-28 13:07:13 +09:00
Cedric BAIL 67e350361f ecore_evas: animator eo event are not a legacy event. 2017-02-27 15:12:11 -08:00
Cedric BAIL 8195e825a6 edje: reorder shutdown to match internal event emit use.
We do have event emited that rely on evas still being initialized.
If we shutdown evas and then process ecore event, we would be in trouble.
2017-02-27 15:05:35 -08:00
Cedric BAIL 2c6808e4ee ecore: forcefully flush pending event when ecore_shutdown is called.
If a component emit Ecore_Event and they aren't processed before the
call it call ecore_shutdown, there is no way to prevent this event
from being triggered after the component at shutdown itself. Which
may well lead to a use after free case. As we don't know which event
are pending and we also are not shuting down ecore completely as they
are still other component using it, we can only flush all pending event
right away.
2017-02-27 15:05:35 -08:00
Cedric BAIL 30c5225bec evas: properly disable Evas_Object event catching once we can't access Evas anymore. 2017-02-27 15:05:35 -08:00
Cedric BAIL 5420ebaf32 emile: rename emile_image_register to emile_image_callback_set.
This fix ABI report according to discussion on the mailing list.
2017-02-27 15:05:35 -08:00
Andy Williams dc08c57411 elm_code: Hide the cursor when it is off screen
This resolves cursor artifacts that could be seen @fix
2017-02-27 20:51:40 +00:00
Chris Michael cd1f986244 Revert "Revert "ecore-imf: Don't always load all modules""
Reverting the revert here...this Does actually work in a wayland
environment, however you may need to export ELM_DISPLAY=wl in order to
get the desired result...

NB: If you desire a specific ecore_imf module then you may want to
export ECORE_IMF_MODULE=xyz, else this patch will try to load them in
the order specified in the code (xim, ibus, scim, wayland).

This reverts commit 5c858b86e5.
2017-02-27 13:31:50 -05:00
Chris Michael 5c858b86e5 Revert "ecore-imf: Don't always load all modules"
Reverting this as it broke autoloading of the ecore_imf WL module.
This commit basically only loaded an X11 Ecore_Imf module even under a
wayland environment.

This reverts commit 75b4bde8d2.
2017-02-27 13:12:24 -05:00
Chris Michael 75b4bde8d2 ecore-imf: Don't always load all modules
If there is no ecore_imf_module specified in the environment, then
previous code here would load ALL the modules when we really only need
one. This patch fixes that issue...if a module is specified in the env
(export ECORE_IMF_MODULE=xyz) than that module will be loaded. If NO
module is specified in the env, then we will loop the list of built
modules and load only one.

This patch fixes an issue where running 'WAYLAND_DEBUG=1
WAYLAND_DISPLAY=wayland-0 terminology' inside an X11 environment would
cause ecore_imf to load the wayland module (as reported by Derek).

NB: If this patch breaks automatic IMF (it should not) then please feel
free to revert.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 12:57:02 -05:00
Chris Michael 0a9542e223 elementary: Fix issue of trying to init ecore_wl2 if DISPLAY is set
Small patch to fix an issue that Derek brought up ... that is
basically, if you try:

WAYLAND_DEBUG=1 WAYLAND_DISPLAY=wayland-0 terminology while inside an
X11 environment, then elm_config would try to initialize ecore_wl2
even when running under X11.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 12:35:58 -05:00
Chris Michael fd77ff0d92 elementary: Minor formatting fix
NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-27 11:33:57 -05:00
Chris Michael 59bf5476ee 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>
2017-02-27 11:33:49 -05:00
Minkyu Kang a2dd9fc99d 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
2017-02-27 20:13:06 +09:00
Myoungwoon Roy, Kim 62455a8d41 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
2017-02-27 19:48:38 +09:00
Myoungwoon Roy, Kim 8c19d9251d 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
2017-02-27 19:37:43 +09:00
Jean-Philippe Andre 726994d175 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
2017-02-27 16:26:41 +09:00
Jean-Philippe Andre 3574eb8c07 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
2017-02-27 16:26:41 +09:00
Jean-Philippe Andre 380759a89e 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
2017-02-27 16:26:32 +09:00
Jean-Philippe Andre bb38083287 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
2017-02-27 09:26:41 +09:00
Jean-Philippe Andre 519b782ff2 Revert "elm_genlist: when appending items to the parent, prepend to the parent"
This reverts commit 43d82e567a.

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
2017-02-27 09:26:41 +09:00
Jean-Philippe Andre 254ff7926b 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.
2017-02-27 09:26:41 +09:00
Mike Blumenkrantz 83f38d2b2c ecore: do not access 'timer_thread' global from animator thread
@fix
2017-02-24 14:13:11 -05:00
Mike Blumenkrantz 67d193b92c ecore-evas: use ee->prop.window in ecore_evas_input_event_register()
this allows window events to match correctly

@fix
2017-02-24 14:13:11 -05:00
Mike Blumenkrantz 4a691f79df ecore-evas: handle pointer_warp() for buffer canvas
this was missing and would do nothing when called
2017-02-24 14:13:11 -05:00
Mike Blumenkrantz a5c7108cc2 ecore-evas: handle pointer_xy_get() for buffer canvas
this was missing and would do nothing when called
2017-02-24 14:13:11 -05:00
Mike Blumenkrantz a34d2d0b85 ecore-evas: handle screen_geom_get() for buffer canvas
this was missing and would do nothing when called
2017-02-24 14:13:11 -05:00
Chris Michael 2537cd2cf7 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>
2017-02-23 12:39:02 -05:00
Jean-Philippe Andre bc31a47fd9 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.
2017-02-23 15:43:56 +09:00
Jean-Philippe Andre 6245639b9c genlist: Simplify code (remove one argument)
Parameter "qadd" is always true when calling _item_process_post(),
so simplify the code by removing it.
2017-02-22 17:05:34 +09:00
Jean-Philippe Andre 3f41cdf59b 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!
2017-02-22 17:05:34 +09:00
Jean-Philippe Andre aa5414f95d 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!
2017-02-22 17:05:08 +09:00
Jean-Philippe Andre fe6bdf30cd 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
2017-02-22 14:46:28 +09:00
Andrii Kroitor 75f772c898 edje_edit: fix scripts compilation
@fix
2017-02-21 19:33:51 +02:00
Minkyu Kang e62d78d594 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
2017-02-21 15:18:11 +05:30
Jean-Philippe Andre 629acbc545 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
2017-02-21 18:15:22 +09:00
Jean-Philippe Andre 882ad6fbf5 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
2017-02-21 17:56:31 +09:00
Jean-Philippe Andre 81fbd54c17 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).
2017-02-21 17:49:22 +09:00
Jean-Philippe Andre aac07ca6c1 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 :(
2017-02-21 16:18:15 +09:00
Jean-Philippe Andre 3cb6d55ef0 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.
2017-02-21 15:15:51 +09:00
Jean-Philippe Andre 8736af5d4a evas: Fix compilation warning (unused variable) 2017-02-21 15:15:06 +09:00
Jean-Philippe Andre 51765b8b9f evas: Avoid data_scope_get in internal function 2017-02-21 12:24:56 +09:00
Jean-Philippe Andre a55e0ced26 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
2017-02-21 11:23:07 +09:00
Jean-Philippe Andre cbb804f814 evas: Inline part of clip_recalc
This function was moved out of inline (see d7c6fca6c0) 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
2017-02-21 10:52:40 +09:00
Jean-Philippe Andre 0d555dda7f 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
2017-02-21 10:52:40 +09:00
Jean-Philippe Andre 98092224ef 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
2017-02-21 10:52:40 +09:00
Jean-Philippe Andre d150cdfd9d 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
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre 9a83113b9f 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
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre e8acf4762b 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
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre 05cc5ab940 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.
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre 9dc0a15499 eo: Make _eo_obj_pointer_done an inline function
@optimization
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre 24b5eedd6d evas: Remove useless call to evas_object_async_block
It's already called from the intercept cb.
2017-02-21 10:52:39 +09:00
Jean-Philippe Andre 60dc978857 evas: Inline checks for post-event cb call
This avoid excessive calls to a real function.

@optimization
2017-02-21 10:52:39 +09:00
Myoungwoon Roy, Kim ec71f6607a 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
2017-02-21 10:46:28 +09:00
Mykyta Biliavskyi 94eaa792c2 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
2017-02-20 11:29:56 +02:00
Wonki Kim 80e3c643d8 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
2017-02-20 11:38:02 +09:00
Marcel Hollerbach 75908799dc 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>
2017-02-20 11:38:02 +09:00
Daniel Hirt 66dd98ed6b 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
2017-02-19 19:09:16 +02:00
Andy Williams e0e2dc92f5 elm_code: Another Coverity fix, better this time.
@fix CID1371322
2017-02-19 14:15:29 +00:00
Carsten Haitzler 4bd96d29d3 elm code - fix warning about sign comparisons 2017-02-19 15:48:41 +09:00
Andy Williams 2c1aeef3d6 elm_code: Fix Coverity issues.
@fix CID1356612 CID1368335 CID1368489 CID1371123 CID1371124 CID1371126 CID1371128
2017-02-18 21:41:53 +00:00
Carsten Haitzler b8af191a20 fix entry selection by having proper cfg update and def fields
this should fix T5183
2017-02-17 17:21:20 +09:00
Marcel Hollerbach ae80040331 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>
2017-02-16 13:37:19 -08:00
Myoungwoon Roy, Kim 7760613107 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>
2017-02-16 10:16:52 -08:00
Jean-Philippe Andre af0d850a9d 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 ''
2017-02-16 22:05:58 +09:00
Jean-Philippe Andre 1166f753fb 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.
2017-02-16 22:00:19 +09:00
Jean-Philippe Andre 4fdd30bce5 evas: Silence useless WRN message on canvas del 2017-02-16 21:56:11 +09:00
Jean-Philippe Andre 29416352d7 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
2017-02-16 21:51:47 +09:00
Jean-Philippe Andre 063c3529a5 win: Avoid magic check failed in ecore with inline win
Fixes T4663
2017-02-16 21:45:12 +09:00
Jean-Philippe Andre c09b921e34 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 :(
2017-02-16 21:05:32 +09:00
Jean-Philippe Andre a014b21400 evas: Flush post-event callbacks only when needed
This avoids flushing the post-event cb queue when processing
recursive events. See 54e5841b2f.
2017-02-16 20:17:12 +09:00
Jean-Philippe Andre 8226fb2e87 win: Fix window icons with object set
Fixes T4981
2017-02-16 20:05:04 +09:00
Jean-Philippe Andre 54e5841b2f evas: Re-fix post-event cb by supporting recursion
The previous patch (b184874fa5) 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
2017-02-16 19:51:06 +09:00
Jean-Philippe Andre b184874fa5 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!
2017-02-16 18:10:18 +09:00
Jean-Philippe Andre e434653fc2 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.
2017-02-16 16:26:42 +09:00
Jean-Philippe Andre 5335352eda evas/doc: Add warning about post_event_callback_push 2017-02-16 16:25:50 +09:00
Carsten Haitzler 0a28cb97af Revert "Revert "evas textblock: keep previous size when the calculation is skipped""
This reverts commit b8beb6834b.

this now actually works... for some mysterious reason... ? :/ i am
baffled. go back in until we can find the issue then...
2017-02-16 10:31:11 +09:00
Myoungwoon Roy, Kim 5d389a1df6 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>
2017-02-15 16:30:22 -08:00
Godly T.Alias 48627996d7 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>
2017-02-15 16:29:07 -08:00
Derek Foreman ae5d002466 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.
2017-02-15 09:53:43 -06:00
Jean-Philippe Andre a9497131f7 edje: Fix object leak with Efl.Part
A call to efl_reuse was missing.
2017-02-15 20:57:31 +09:00
Stefan Schmidt 63bd03f2ed evas_loader: add since tag to newly added task_cancelled API 2017-02-15 12:31:51 +01:00
Stefan Schmidt 539bc7552b eina_strbuf / eina_ustrbuf: add since tags for newly added APIs
These six have been added in this cycle but missed the since tags.
2017-02-15 12:31:50 +01:00
Stefan Schmidt b9524b6aa5 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.
2017-02-15 12:31:50 +01:00
Stefan Schmidt b6f84653d4 eina: binbuf: add since tags new append_slice and insert_slice APIs 2017-02-15 12:31:50 +01:00
Jean-Philippe Andre abcd918946 fileselector: Add missing call to group_del
Remove unused refcount thingy and enforce call to smart del.

Fixes T4598
2017-02-15 20:11:22 +09:00
Jean-Philippe Andre d689afccae 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
2017-02-15 20:11:22 +09:00
Jean-Philippe Andre 8947caf120 eo: Fix shadow variable warning 2017-02-15 20:11:22 +09:00
Amitesh Singh b66dd0635f 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>
2017-02-15 16:00:15 +05:30
Vyacheslav Reutskiy c321e152a9 elm_genlist_item: update docs for 'next_get' 2017-02-15 10:03:09 +02:00
Jean-Philippe Andre cfd5f11410 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 :)
2017-02-15 15:58:21 +09:00
Jean-Philippe Andre a568d26f72 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).
2017-02-15 15:35:38 +09:00
Jean-Philippe Andre b7213f2d64 evas_render: Remove data_unref that has no data_ref 2017-02-15 15:35:38 +09:00
Jean-Philippe Andre 63eb9a28b3 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.
2017-02-15 15:35:38 +09:00
Jean-Philippe Andre a11836b5a1 eo_debug: Some more log improvements
Nothing fancy here...
2017-02-15 15:35:38 +09:00
Jean-Philippe Andre 2e96b5074d 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.
2017-02-15 14:50:50 +09:00
Jean-Philippe Andre a5535464bf 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.
2017-02-15 14:01:06 +09:00
Jean-Philippe Andre c23ae314a4 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.
2017-02-15 13:38:19 +09:00
Woochan Lee 2bc44b055e 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
2017-02-15 13:06:49 +09:00
Shinwoo Kim 32fbf64d28 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
2017-02-15 13:03:02 +09:00
Stefan Schmidt e93a17c8c9 emotion: add since tag to new emotion_file_meta_artwork_get API 2017-02-14 21:47:15 +01:00
Stefan Schmidt a10771605f efl: add since tag to new invalid object error type 2017-02-14 21:47:15 +01:00
Stefan Schmidt 337e8f1ab4 eo: add missing since tags for functions added during 1.19 cycle 2017-02-14 21:47:15 +01:00
Stefan Schmidt f4304615df ecore_x: add singce tags for ecore_x_stack_* functions added during 1.19 cycle 2017-02-14 21:47:15 +01:00
Stefan Schmidt ae3f7857e6 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.
2017-02-14 21:47:15 +01:00
Chris Michael 515c2d0374 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>
2017-02-14 13:36:13 -05:00
Chris Michael 559490d756 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>
2017-02-14 13:36:03 -05:00
Carsten Haitzler b8beb6834b Revert "evas textblock: keep previous size when the calculation is skipped"
This reverts commit c39855a8ac.

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
2017-02-14 18:10:05 +09:00
Youngbok Shin a6fff5bc1e 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
2017-02-14 16:17:02 +09:00
Youngbok Shin c39855a8ac 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
2017-02-14 16:17:02 +09:00
Jean-Philippe Andre 5be33ba1aa 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.
2017-02-14 15:21:50 +09:00
Jean-Philippe Andre 5d55fe0321 evas key: Add null safety to EAPIs
This avoids a crash with Bryces. This does not fix the problem
with the Bryce itself. Ping @zmike

See T5157
2017-02-14 15:21:50 +09:00
Jean-Philippe Andre 65ae1c812c evas: Fix double free in post events
A use of the post event callback in Bryce triggered a double free
as an event was being processed but not yet removed from its list,
leading to an invalid state of the Eina_List.

Also remove obj from struct as it is unused.

Fixes T5157
2017-02-14 15:21:25 +09:00
Chris Michael 0001240120 ecore-drm2: Fix debug messages to use proper type
Small patch which fixes some FB flipping messages to use the proper
type (ie: some messages were ERR when should be DBG or WRN, etc).

NB: No functional changes

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-13 09:45:20 -05:00
Stefan Schmidt 73349edc19 eina: make the ein_file_unlink symbol availbale form the ein_file header
It was only defined in the c file. Without any documentation, since tag, etc.

tests/eina/eina_test_file.c:855:4: warning: implicit declaration of function ‘eina_file_unlink’
[-Wimplicit-function-declaration]
2017-02-13 14:30:27 +01:00
Woochan Lee a503296f73 elm_index: Skip box auto fill when index size is invalid.
Summary:
_index_box_auto_fill will be called when user calling elm_index_level_go(), elm_index_omit_enabled_set().

item size re-calculated and each item style reset even index size is invalid.
It can make performance issue during index creation time.

Test Plan:
elementary_test
index sample

Reviewers: taxi2se, jpeg, cedric

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D4653
2017-02-13 20:21:52 +09:00
Jean-Philippe Andre 358f2898c5 win: Make ELM_ACCEL work with msaa, depth & stencil
This makes the env var override and the elementary config
global override on accel preference work for not only "gl"
but also advanced configs such as "gl:msaa_high:depth:stencil"
2017-02-13 19:54:29 +09:00
Myoungwoon Roy, Kim 01931c4676 doxygen: Fix typos & invalid statements in ecore
This covers ecore audio, avahi, buffer and con.

Summary: There are some typos and cacologigue statements in
doxygen of ecore_audio, ecore_avahi, ecore_buffer, and ecore_con.

Test Plan: API Doxygen Revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho

Subscribers: jpeg, conr2d

Differential Revision: https://phab.enlightenment.org/D4652
2017-02-13 19:54:29 +09:00
Myoungwoon Roy, Kim e4b37d7cb4 doxygen: Fix typos & invalid statements in Ecore_Getopt and Ecore_Legacy
Summary: There are some typos and calogique statements in doxygen
of Ecore_Getopt and Ecore_Legacy so I had fixed typos and cacologique statements.

Test Plan: Doxygen revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho

Subscribers: jpeg, conr2d

Differential Revision: https://phab.enlightenment.org/D4651
2017-02-13 19:54:29 +09:00
Carsten Haitzler 76244d89a7 vpath file - add a keey property to know if obj should be kept around
if its a file downloading (to a tmp location) or a zip/tar/whatever
file being extracted also to a tmp location and that tmp file needs to
be removed after ...you need to keep the obj around to know when to
delete the file. this makes the keeping optional and you query if the
vpath obj is meant to be kept or not. if it's not it's safe to del
immediately.

this cuts down 1 obj per image obj/edje obj when generally unused.
save some mem.
2017-02-13 16:51:49 +09:00
Carsten Haitzler d04cd6af10 eina inlist - cast container via void ptr to avoid warnings
we really can't do much here but our direct casting causes warnings in
apps or anyone using this macro so keep things silent as our pointer
tricks are actually ok but the compiler can't figure it out.
2017-02-12 14:45:04 +09:00
Marcel Hollerbach 008711b3b0 evas_table: abort when there is already the option struct
otherwise we would just reuse that struct. This results in
freeing/writing/reading the memory twice.

This error message should give the dev a tip on what went wrong, instead
of leaving cryptic valgrind messages and crashes.

This fixes the sysinfo desktop gadget in enlightenment.

ref T5173
2017-02-12 00:10:05 +01:00
Marcel Hollerbach c59a8ddebc evas: fix child position when the container is moved
when the position of the container is changed the children should also be
repositioned, so setting the changed flag.

The visual effect where you saw that was in luncher where items of the
bar did not get fully up.
2017-02-12 00:10:05 +01:00
Carsten Haitzler ba3ac16b62 evlog/log bt - fix size casting tot stop warning when printing errs 2017-02-12 00:32:22 +09:00
Carsten Haitzler c1c7ad8360 evas color copy neon asm - declare tmp as output not input for warning--
less warnings - use output not input for tmp var. much better.
2017-02-12 00:32:22 +09:00
Carsten Haitzler 6d4b85f820 eo base - fix warnings for debug logs to get format string types happy
gcc is very unhappy with these log prints - specifically on arm 32bit.
this fixes it so we can focus on real warnings/issues.
2017-02-12 00:32:16 +09:00
Carsten Haitzler f4088a1f74 evas smooth scaler - fix warning where indenting is misleading
indeed the indenting is misleading. fix.
2017-02-12 00:29:49 +09:00
Carsten Haitzler 40af2935af evas blit main - put mmx funcs in ifdefs as they are not used on arm
fixes warning
2017-02-12 00:29:49 +09:00
Carsten Haitzler 5424345c46 evas draw func get - make pixels as unused as it is in neon asm cases
also a little shitespace cleanup and correct ()ing of ops to clean
this function up a bit.
2017-02-12 00:29:41 +09:00
Carsten Haitzler f00dbd2252 evas convert color - neon asm - fix warning by casting - no side effects
it's a warning one way or another so reduce noise with a harmless case
as passing in a pit ro a 32bit type is more restrictive than the ptr
it accepts (an 8bit type)
2017-02-11 23:13:00 +09:00
Carsten Haitzler eb3f6f06f1 efl base class - fix warning about comparing differing sizes
yes - we compare a difference between 2 ptrs and an index which is a
uint. the safe thing here is to promote the unit to the ptrdiff_t
type. reality is we cant have more than 2^32 cb's on an object
anyway... so this should be ok.
2017-02-11 23:13:00 +09:00
Carsten Haitzler b3f0db816a efl io - fix using wrong type for return values pointed to
this potentially could be a bug on 32bit systems. this fixes that and
addresses the warning that pointed it out
2017-02-11 23:13:00 +09:00
Carsten Haitzler a7d7af0d21 ecore pipe - fix warning of comparing integers of differing sizes 2017-02-11 23:13:00 +09:00
Carsten Haitzler f1693ee3e2 elm code - silence possibly uninitialied compiler warnings
every time i build efl i see all these warnigns spew by about elm_code
and possibly uninited vars being used. yes - they're filled in via ptr
ref bya  func but gcc definitely seems to think they MIGHT not be
filled in in some cases... and either way tyhe cost of setting to 0 is
minimal and less noise is better so we see real warnings more
easily... :)
2017-02-11 10:39:42 +09:00
Cedric BAIL 5ac43bb26d evas: use the right structure to not over allocate memory.
Eina_Trash is designed for storing cached pointer without any memory
consumption. Please be careful with EFL memory consumption.
2017-02-10 14:27:29 -08:00
Mike Blumenkrantz ee52a28d04 ecore-wl2: roundtrip during client disconnect
ensure all pending requests are processed by the compositor and fixes
session recovery destroy

@fix
2017-02-10 17:23:33 -05:00
Andy Williams 4596d795aa elm_code: Fix syntax crash on trailing newline in multiline macro
@fix
2017-02-10 20:16:31 +00:00
Derek Foreman 44804a9579 ecore: Don't call _ecore_fd_valid() in release builds
Not sure _ecore_fd_valid() is all that useful anymore, as the
commit that introduced it said it would be removed "before release"
a long time ago - it's a debug assist that probably doesn't need
to be in release builds.

(I'm counting syscalls on rpi3 - still, calling this an optimization
seems like a bit of a stretch.)
2017-02-10 12:13:06 -06:00
Marcel Hollerbach 15b0d0dd12 efl_object: document when callbacks are called 2017-02-10 18:50:41 +01:00
Derek Foreman 3dd19f16cb ecore_wl2: Update compositor bind now that damage_buffer is released
We had to do some weird special case stuff when binding wl_compositor
because we implemented damage buffer before depending on a wayland
release that provided it.

Now our wayland dep is newer than damage buffer, so the test can be
more conventional.

Should have no functional change.
2017-02-10 10:25:53 -06:00
Daniel Kolesa d53ed9b0db eolian: silence static analyzer null check (CID 1369018) 2017-02-10 16:56:35 +01:00
Daniel Kolesa db238d606c eolian: fix memory leak in doc tokens (CID 1367505) 2017-02-10 16:54:19 +01:00
Carsten Haitzler 0356b1eb5e vpath usage - simplify to bare minimum to make gustavo happy
since these are only local path resolves, the do and wait are
technically not needed. also remove any other tmp strings
and use the vpath string resolving feature to avoid
printfs/strjoins/cats etc. etc. as well.

also remember to remove old name string from evas shm code - it worked
for me. i guess i was lucky and it happened to be NULL thus free was
fine.
2017-02-10 19:27:15 +09:00
Derek Foreman 2800038ee2 Revert "vpath usage - simplify to bare minimum to make gustavo happy"
This reverts commit 2037474dc0.

This causes the wayland_shm engine to seg fault immediately at
startup when attempting to create shm buffers.

Please make sure when committing changes to the wayland_shm engine to
test on intel, exynos, and at least one platform without dmabuf
capabilities - or using the EVAS_WAYLAND_SHM_DISABLE_DMABUF env var
to disable dmabuf on intel or exynos.

Anyone without the time or hardware to fully test changes to wayland_shm
can submit a patch to phabricator and assign it to me so I can fully
test it before landing.
2017-02-09 09:17:38 -06:00
Stefan Schmidt 09352f0a6d docs: eina: add doc for new eina value type 2017-02-09 14:47:22 +01:00
Stefan Schmidt 9635ad1225 docs: elm: document new efl UI image factory class 2017-02-09 14:47:21 +01:00
Stefan Schmidt eb0a4221de docs: efl mvc: document all new model view controller related eo files 2017-02-09 14:47:21 +01:00
Stefan Schmidt 174f86b2e8 docs: ecore: document newly added efl model composite classes 2017-02-09 14:47:21 +01:00
Stefan Schmidt baf4813d87 docs: efl filters: document all new data structures for efl filters 2017-02-09 14:47:21 +01:00
Carsten Haitzler 2037474dc0 vpath usage - simplify to bare minimum to make gustavo happy
since these are only local path resolves, the do and wait are
technically not needed. also remove any other tmp strings and use the
vpath string resolving feature to avoid printfs/strjoins/cats etc.
etc. as well.
2017-02-09 22:06:16 +09:00
Carsten Haitzler 810b17e7a4 efl vpath - for runtime dir dont fall back to tmp but instead abort
if we can't create a runtimedir maybe its best to abort. also ensure
it is created as the effective user id.
2017-02-09 20:43:59 +09:00
Carsten Haitzler 1a481cfe4d eina utils and vpath - use euid not uid if setuid for correct user
was using uid not euid for "if setuid use safe way to get location" -
ie the user that effectively owns the process, not nominally.

@fix
2017-02-09 18:50:15 +09:00
Carsten Haitzler d345b899b2 elm config - handle setuid apps correctly and dont create junk dirs in .
this fixes a bug where elm_cofnig would firstly use
~/.config/elementary which isnt what we have used before and so would
break older config. also it'd create junk if it was setuid. fix this.

@fix
2017-02-09 18:38:28 +09:00
Carsten Haitzler 5c431b14de evas fb dev env var - allow in setuid processes with sanitizing
this allows only /dev/fb[0-0] or /dev/fb/something where somthing does
not begin with a . - thus no way to break out of the fb subdir... so
it should be ok... this keeps setuid safety and allows this env var to
work now as intended in this situation.
2017-02-09 18:38:28 +09:00
Carsten Haitzler 75e1033682 efreet - use vpath to get XDG_RUNTIME_DIR so we have a single impl
having too many places that get XDG_RUNTIME_DIR makes it harder to
keep secure etc, so make it a single location for efreet too.
2017-02-09 18:38:28 +09:00
Amitesh Singh a90c3ffe80 elm widget item: add guide about when to use item_signal_emit
genlist/gengrid now uses cache for view objects of items and
re-associate edje objects to different obj items whenever needed.
problem here is if app user changes the state of view object
(by sending edje signal, elm_object_item_signal_emit()) and
forget to reset it in unrealized, the old edje object state will link to other
object item, so its application user responsibility to reset
the edje state to normal in "unrealized" callback.

Signed-off-by: Amitesh Singh <amitesh.sh@samsung.com>
2017-02-09 13:32:47 +05:30
Carsten Haitzler 8e959890e7 elput - use vpath to get xdg runtime to also be setuid safe
this time around... use a / at the end of the (:run:) virtual dir
path to make it work.
2017-02-09 09:28:47 +09:00
Myoungwoon Roy, Kim 0f446c10be doxygen: fix typos, cacologique statements in API reference doxygen of Ecore_Common
Summary: There are some typos and calogique statements in doxygen of Ecore_Common so I had fixed typos, cacologique statements.

Test Plan: doxygen revision

Reviewers: stefan, cedric, raster, Jaehyun_Cho

Subscribers: conr2d, jpeg

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

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
2017-02-08 11:09:18 -08:00
Chris Michael 4d62761759 ecore-wl2: Support sending focus for wl_shell
wl_shell does not use a surface state for activation, so we still need
to send the focus in/out for that based on keyboard enter/leave.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-08 12:30:10 -05:00
Chris Michael 4b2188103d ecore-wl2: Don't send focus in/out events based on keyboard enter/leave
We should not be sending focus events based on keyboard behaviour, but
rather send them according to xdg shell activate status. This makes
our focus behaviour more "standards" compliant.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-08 11:54:07 -05:00
Derek Foreman 62a22fd401 Revert "elput - use vpath to get xdg runtime to also be setuid safe"
This reverts commit 24e34e19a1.

This broke keyboard input for the enlightenment wayland compositor,
please test elput changes on at least one of the drm backends,
preferably with enlightenment.

The wayland compositor is hard enough to keep stable due to breakage
from core changes only tested on X - but elput's main user is our
wayland compositor, was this tested anywhere?
2017-02-08 09:47:33 -06:00
Derek Foreman 53cc1eab04 Revert "elput: Minor formatting fix"
This reverts commit 95d93cb720.

Formatting change on top of a totally untested coverity fix that
breaks input for enlightenment's wayland compositor.

 #TeamworkIsDeprecated
2017-02-08 09:47:32 -06:00
Chris Michael 95d93cb720 elput: Minor formatting fix
NB: No functional changes, just some minor formatting adjustments

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-02-08 08:29:24 -05:00
Carsten Haitzler a84370fcd8 evas yuv convert - fix unused increments
this removes useless yp1 += and yop2 += as they are SET int he loop.
this fixes 1367510 and 1367511
2017-02-08 21:19:39 +09:00
Carsten Haitzler 020535eea1 evas mask filter - remove unused increment of msk as its set in-loop
msk is set inside the loop body, so msk += is pointless.

fix CID 1367512
2017-02-08 21:19:39 +09:00
Carsten Haitzler bb9bb20000 eina debug monitor - dont use XDG_RUNTIME_DIR if setuid
avoids possible issues with debug monitor + setuid
2017-02-08 21:19:39 +09:00
Carsten Haitzler c6ff925132 ecore_con - only use XDG_RUNTIME_DIR if not setuid
this should address possible misuse of this env var in setuid apps.
keep using home and tmp to maintain socket "abi" (the filenames that
are used).
2017-02-08 21:19:39 +09:00
Carsten Haitzler 5bb34aa2ce evas cserver client - remove dead if 0'd code 2017-02-08 21:19:39 +09:00
Carsten Haitzler 24e34e19a1 elput - use vpath to get xdg runtime to also be setuid safe
this fixes CID 1357168 in the case of setuid binaries as vpath handles
setuid cases.
2017-02-08 21:19:39 +09:00
Carsten Haitzler e77f3b75d6 efl vpath - be paranoid about setuid execution and dont use env vars
if setuid, do not trust env vars for any xdg stuff at all.
2017-02-08 21:19:39 +09:00
Carsten Haitzler 93abad0a59 evas callbacks - add comment to note fallthrough is intended
swtich fallthrough oftenis not intended but in this case it is, so
documente it as such.
2017-02-08 21:19:39 +09:00
Carsten Haitzler 2cdc63024d elm config - forbid bakcslash in profile name too
/ already is forbidden but \ might be valid on windows, so forbid it
too.
2017-02-08 21:19:39 +09:00
Carsten Haitzler 944ce7ef41 elm config - handle profile name of ".." as its obviously invalid
this forbids .., as a profile name in addition to the existing "stip /
from profile name".
2017-02-08 21:19:39 +09:00
Carsten Haitzler 8094893877 eina utils - home and tmp environ - store statitcally and handle setuid
if setuod we dont want to trust HOME environ at all and get it from
passwd file... also we dont want to keep re-getting too... so store
statically as well as tmp.

this also kind of helps CID 1366469
2017-02-08 21:19:39 +09:00
Carsten Haitzler f6638432d3 eet data - fix checking return value of eina_value_pset like elsewhere
eina_value_pset() return is checked pretty much everywhere except
here. this addresses that inconsistency. this fixes CID 1367487
2017-02-08 21:19:39 +09:00
Carsten Haitzler b61e69a956 evas cache image - remove double unlock of image task locks.
this is indeed a bug and fixes coverity CID 1367492
2017-02-08 21:19:39 +09:00
Carsten Haitzler 7b736d20b8 eina share - fix spinlock release if magic check fails on share data
this fixes a potential double spinlock unrelease if magic check fails
on share data. this fixes CID 1367493
2017-02-08 21:19:39 +09:00
Carsten Haitzler 144092b2fa evas image obj - remove logically dead code
coverity is right - it's logically dead code. fix CID 1367774
2017-02-08 21:19:39 +09:00