Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 21:44:47 +0000 (22:44 +0100)]
evas - png loader - fix leake in error case of pixels
fix CID 1403027
@fix
Carsten Haitzler (Rasterman) [Sat, 10 Aug 2019 11:16:58 +0000 (12:16 +0100)]
eet dict+ data read - move rw lock to ourside decode for speed read
on read/decode we can avoid lots of little locks and unlocked by
having the rwlock go to the outside and a single lock+unlock (read) on
the dictionary. it blocks for longer by has less atomics/fence points
as a result and thus decodes faster where changes that we are writing
while decoding is insanely low so no point worrying here.
Carsten Haitzler (Rasterman) [Fri, 9 Aug 2019 18:09:25 +0000 (19:09 +0100)]
efreet - be more patient for efreet to start - up to 2 sec now
seems people have issues with efreetd starting in 0.5 sec on some
systems... even rpi's manage that, but lets be more patient and wait
up to 2 sec
Mike Blumenkrantz [Fri, 9 Aug 2019 13:16:45 +0000 (09:16 -0400)]
elm_test: fix crashing in efl.ui.popup when closing windows
avoid double free on pointer in callback
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9540
Mike Blumenkrantz [Thu, 8 Aug 2019 18:37:39 +0000 (14:37 -0400)]
tests/popup: add (extremely) comprehensive test for anchor popups
this verifies all align settings, different anchor points, changing anchors
and aligns on-the-fly, unsetting anchors, and changing popup sizes
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9526
Mike Blumenkrantz [Wed, 7 Aug 2019 15:18:18 +0000 (11:18 -0400)]
tests/popup: add test units for all the text_alert popups in elm_test
this is mostly to verify that the internal label is sizing as expected
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9523
Mike Blumenkrantz [Wed, 7 Aug 2019 14:27:23 +0000 (10:27 -0400)]
tests/popup: add unit tests for scroll_alert expandable sizing
these correspond to the cases in elm_test
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9522
Mike Blumenkrantz [Fri, 9 Aug 2019 16:10:13 +0000 (12:10 -0400)]
efl_ui/popup: apply user min size hints during group_calc
if these hints are set, they should be used
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9539
Mike Blumenkrantz [Fri, 9 Aug 2019 16:04:43 +0000 (12:04 -0400)]
efl_ui/popup: optimize popup sizing calcs slightly
ensure that scroll-based popups don't accidentally trigger a full
recalc and (wrong) size change during group_calc by hitting the base
popup size_set() implementation and setting the needs_calc flag or
by using the base popup calc code when it should not be used
this resolves a corner case sizing issue in the text_alert 2 popup
case in elm_test which seems to have been present for a long time
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9538
Mike Blumenkrantz [Fri, 9 Aug 2019 16:22:27 +0000 (12:22 -0400)]
elm/config: clear env var hash on shutdown
env vars should not be retained when this subsystem is not "active"
fixes unit test running
ref
9149767184bfa9b64102eaea89f6733351de71e9
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9537
Daniel Kolesa [Fri, 9 Aug 2019 14:09:25 +0000 (16:09 +0200)]
eolian: add an envvar to warn about unimplemented beta funcs
This changes the behavior of the existing env var to only check
unimplemented functions in stable APIs by default. Beta checks
can be enabled with an additional environment var, so use
EOLIAN_CLASS_UNIMPLEMENTED_WARN for stable and
EOLIAN_CLASS_UNIMPLEMENTED_BETA_WARN for extra beta checks.
Cedric BAIL [Fri, 9 Aug 2019 12:43:18 +0000 (08:43 -0400)]
edje: fix warning for returning wrong type.
Reviewers: zmike
Reviewed By: zmike
Subscribers: segfaultxavi, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9530
subhransu mohanty [Fri, 9 Aug 2019 08:36:35 +0000 (17:36 +0900)]
evas/textblock: optmize textblock format parsing.
Summary:
textblock format parsing creates/delets eina_TempStr for each
token. Eina_TempStr is even worse than malloc/free because it also
takes a lock/unlock along with malloc/free each time we create it.
Just use a stack bufefr and create string in it if the string is too big
then it will fall back to heap which is anyway we are doing right now.
Tested this in Tizen List view the number of allocation reduced by 16000.
Reviewers: Hermet, ali.alzyod, woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9534
subhransu mohanty [Fri, 9 Aug 2019 05:02:24 +0000 (14:02 +0900)]
edje: optimize color_class_recursive_find_helper() function
Summary:
If the color_class is not overridden by the object level the
hash will be empty but still we do the expensive call to _edje_hash_find_helper()
find the color_class in an empty hash. by checking if the hash is empty
and returning early we save lot of unnecessary hash computaion and lookup.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9532
subhransu mohanty [Fri, 9 Aug 2019 05:00:03 +0000 (14:00 +0900)]
eina/hash: optimize eina_hash_find() when hash is empty.
Summary:
Check if hash is empty before computing the hash key and look inside the
hash to find data.
Note: could have called the eina_hash_population() api but didn't
because of extra function call.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9531
Hermet Park [Fri, 9 Aug 2019 04:43:50 +0000 (13:43 +0900)]
efl_ui_textpath: clear up path data when it's destructed.
This fixes path data memory leak.
@fix
Mike Blumenkrantz [Fri, 10 May 2019 18:14:49 +0000 (14:14 -0400)]
evas/render: size and draw proxy render surface based on proxy clipper
if a proxy is not being proxied, it's optimal to create a surface for only
the necessary dimensions and then only draw within those dimensions.
when a proxy is clipped to a size smaller than the proxy object, the required
size for the proxy render becomes smaller as the proxy has less visible area.
this enables us to draw only the clipped region and thus gives a performance
boost
this can only be enabled if the clipper is marked as static
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8881
Mike Blumenkrantz [Mon, 6 May 2019 20:12:48 +0000 (16:12 -0400)]
evas/render: clamp mask surface size to clipper size
there's no point in allocating a massive mask surface if it's going to
be clipped to a smaller size, so instead just allocate the smaller size
and position it where the clipped size would be
this can only be enabled if the clipper is known to not be changing size,
as performance would be impacted if the clipper was forcing a full mask
redraw due to regular resizing
Reviewed-by: Hermet Park <hermetpark@gmail.com>
Differential Revision: https://phab.enlightenment.org/D8841
Mike Blumenkrantz [Mon, 13 May 2019 16:14:00 +0000 (12:14 -0400)]
evas: add 'has_fixed_size' property for canvas objects
this provides a hint for rendering that the object is not going to resize
for as long as the flag is set and allows for some optimizations to
be made during rendering based on this knowledge
@feature
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8887
Carsten Haitzler (Rasterman) [Thu, 8 Aug 2019 22:55:40 +0000 (23:55 +0100)]
getenv - reduce continually calling getenv for the same vars do once
do it once and remember the result from the first one. drops overhead
for sure by a chunk i actually could see in perf reports like about 1-2%
of cpu...
Boris Faure [Thu, 8 Aug 2019 21:18:45 +0000 (17:18 -0400)]
get rid of shadow variables
Summary: gl: add some EINA_FALLTHROUGH
Reviewers: #reviewers, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9525
Hermet Park [Thu, 8 Aug 2019 14:34:02 +0000 (23:34 +0900)]
ector: ++safety.
null handling just in corner case.
Hermet Park [Thu, 8 Aug 2019 14:28:18 +0000 (23:28 +0900)]
evas vg: ++safety.
Realloc internal composite buffer if its size is invalid.
Marcel Hollerbach [Thu, 8 Aug 2019 13:12:46 +0000 (09:12 -0400)]
efl_ui_selectable: add spec test suite for this
Summary:
this brings a spec test suite for Efl.Ui.Selectable
Depends on D9517
Reviewers: zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9518
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 20:19:15 +0000 (21:19 +0100)]
eina log - we exceet 24 domains alrready out of the box, so increase
this avoids more reallocs since we already use more than 24 domains...
go up to 64.
Lauro Moura [Wed, 7 Aug 2019 18:49:36 +0000 (15:49 -0300)]
cxx: Fix funcptr c_args declaration.
Summary:
The internal wrapper was generating the argument types directly instead
of passing through the translation generator `grammar::c_type`.
This caused the type in the `caller` callback to be different from the
actual C type of the declared function pointer, like in `@out` parameters.
Reviewers: tasn, felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9524
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 17:14:06 +0000 (18:14 +0100)]
ecore evas drm - fix code that forgets to del an fd handler
also.. note the badness of the code design mixing a global singleton
with a "per struct" set of data like fd handlers for the same devices
initted only once but... anyway. it's messy.
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 15:59:43 +0000 (16:59 +0100)]
evas egl - esnure we always destroy surfaces because creating new ones
be sure we dont leak them.
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 15:17:13 +0000 (16:17 +0100)]
evas - gl_drm - delete old surfaces before creating new ones
we shouldnt go have multiple drm window surfaces per drm surface...
this is bad.
@fix
Marcel Hollerbach [Wed, 7 Aug 2019 14:24:08 +0000 (10:24 -0400)]
efl_ui_focus_layer: we should cleanup on invalidate
Summary:
otherwise there will be errors. Lets pray this did not break anything
else.
Depends on D9518
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9521
Tom Hacohen [Wed, 7 Aug 2019 13:54:45 +0000 (14:54 +0100)]
Evas: migrate Evas_BiDi_Direction -> Efl_Text_Bidirectional_Type.
Marcel Hollerbach [Tue, 6 Aug 2019 20:31:40 +0000 (22:31 +0200)]
efl_ui_item: fix event emission
with this commit events are emitted correctly, even if the container is
already on the way to deletion. Additionally, the codepath that is
triggered when the item is selected via clickable is now also going
through the selected property.
ref 7905
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9517
Marcel Hollerbach [Tue, 6 Aug 2019 17:55:40 +0000 (19:55 +0200)]
introduce efl_ui_multi_selectable and efl_ui_single_selectable
right now they are just thin wrappers from what have been in
efl_ui_collection. This is just a first effort, the interfaces have to
be equipped with more and better API, more events, and tests.
ref T8057
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9515
Mike Blumenkrantz [Mon, 5 Aug 2019 13:13:05 +0000 (09:13 -0400)]
efl_ui: use unified size hints api and be explicit about which hint is changed
unified widgets should use unified api internally and also be more explicit
about which min size hint (restricted or user) is being set in order to improve
readability of code
when unified widgets also implement legacy wrappers, legacy api should be used
for the legacy objects
no functional changes
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9495
Mike Blumenkrantz [Tue, 6 Aug 2019 19:18:01 +0000 (15:18 -0400)]
tests/popup: add sizing test for scroll_alert popup
Differential Revision: https://phab.enlightenment.org/D9516
Ali Alzyod [Wed, 7 Aug 2019 11:39:33 +0000 (20:39 +0900)]
evas_text: backward compatibility for setting text size
Summary: This is for backward compatibility for TIZEN Test cases for legacy
Reviewers: woohyun
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9519
Change-Id: Ic66e9abc5d49bf4375729a2fcea1dce6c6b1ba19
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 10:44:05 +0000 (11:44 +0100)]
emile - use newer lz4 api instead of deprecated one
Carsten Haitzler (Rasterman) [Wed, 7 Aug 2019 10:31:03 +0000 (11:31 +0100)]
lz4 - update to 1.9.1 for static lib in src tree
this updates our static zlib to 1.9.1 releases april 23, 2019.
fixes T7983
Marcel Hollerbach [Wed, 7 Aug 2019 08:38:33 +0000 (10:38 +0200)]
efl_ui_selectable: this should be beta
sorry, i forgot that ... :(
Marcel Hollerbach [Tue, 6 Aug 2019 16:47:44 +0000 (18:47 +0200)]
remove outdated readme
the docs hsould be covered in INSTALL.
(Fast! merge this before the docs guy comes back from vacation)
Mike Blumenkrantz [Tue, 6 Aug 2019 14:03:45 +0000 (10:03 -0400)]
tests/popup: add unit tests for alert_popup
this covers all cases from the elm_test example
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9512
Marcel Hollerbach [Mon, 5 Aug 2019 17:42:02 +0000 (19:42 +0200)]
efl_ui_check: migrate from own property to Efl.Ui.Selectable
this is the basic work for getting radio group as a single_selection
interface, which can be a part of mutli_selection. Which will come both
later on.
ref T8057
Differential Revision: https://phab.enlightenment.org/D9504
Marcel Hollerbach [Tue, 6 Aug 2019 15:00:16 +0000 (11:00 -0400)]
ci: disable rsvg loader on windows
Summary: deps are missing for that one
Reviewers: stefan_schmidt, zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9514
Marcel Hollerbach [Tue, 6 Aug 2019 14:57:56 +0000 (10:57 -0400)]
efl_input_clickable: int -> uint
Summary:
the ids of the structs here are never negative
ref T7976
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7976
Differential Revision: https://phab.enlightenment.org/D9497
Marcel Hollerbach [Tue, 6 Aug 2019 14:52:32 +0000 (10:52 -0400)]
efl_ui_focus_manager_root_focus: perform focus switch delayed
Summary:
Delaying the unregistering here ensures that there is not focus set call
while a object is beeing registered in the focus manager.
ref T8081
Reviewers: zmike, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8081
Differential Revision: https://phab.enlightenment.org/D9513
Marcel Hollerbach [Tue, 6 Aug 2019 13:34:42 +0000 (09:34 -0400)]
efl_ui_collection: implement initial focus behaviour
Summary:
the behaviour here is that the next item according to the direction is
getting focused. This sounds easy but is quite complex given the fact
that the items might be hidden. This is the first draft for this, to see
how good it performes.
Reviewers: zmike, stefan_schmidt, cedric
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9496
Christopher Michael [Tue, 6 Aug 2019 12:51:05 +0000 (08:51 -0400)]
ecore_wl2: Move ecore_wl2_buffer_fit function to be internal
The ecore_wl2_buffer_fit function is only used internally in EFL so
move it out of the public API header.
ref T8013
Christopher Michael [Tue, 6 Aug 2019 12:49:38 +0000 (08:49 -0400)]
ecore_wl2: Move ecore_wl2_window_false_commit to be internal
The ecore_wl2_window_false_commit function is only used internally
inside efl so there is no need for it to be a public API.
ref T8013
Christopher Michael [Tue, 6 Aug 2019 12:36:50 +0000 (08:36 -0400)]
ecore_wl2: Move ecore_wl2_window_rotation_change functions to be
internal
These functions are not used in efl wayland clients nor are they used
in Enlightenment. As such, there is no reason that they need to be
public API so this commit moves them to be Internal and updates
Ecore_Evas engine code to include the internal header.
ref T8013
Hermet Park [Tue, 6 Aug 2019 11:47:07 +0000 (20:47 +0900)]
build: Seprate same svg extension loaders between image and vector.
Currently, vector and image support svg format via different rountine.
Our vector loader implemenst on its own drawing mechanism for svg,
but in case of image loader, it depends on rsvg library.
By Comparing both, our vector svg is winner at performance wise.
we can remove rsvg routine later.
For now, these two loader names are conflicted, we should separate their names
with svg and rsvg.
Yeongjong Lee [Fri, 2 Aug 2019 04:43:14 +0000 (04:43 +0000)]
efl_input_hold: replace hold property name with input_hold
Sorry to touch stable eo classes. there is name conflict issue between class and
property when binding language is generated from eo. for example in C#, compiler
error occurs.
```
src/bindings/mono/efl_input_hold.eo.cs(166,17): error CS0542:
`Efl.Input.Hold.Hold': member names cannot be the same as their enclosing type
```
This patch changes Efl.Input.Hold.GetHold/SetHold to
Efl.Input.Hold.GetInputHold/SetInputHold and generates Efl.Input.Hold.InputHold
property.
Note that CAPI is not changed.
ref T8093
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Lauro Neto <lauromauro_>
Differential Revision: https://phab.enlightenment.org/D9484
Lauro Moura [Mon, 5 Aug 2019 20:33:52 +0000 (20:33 +0000)]
docs: Improve Efl.Input.Key docs
People without X11 background would have a hard time understanding the difference
between key, key_name, key_code, etc.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: YeongJong Lee <yj34.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9487
Marcel Hollerbach [Tue, 6 Aug 2019 07:55:54 +0000 (09:55 +0200)]
meson: remove one more header check
this header check is useless, it will never succeed.
Vincent Torri [Mon, 5 Aug 2019 11:27:16 +0000 (11:27 +0000)]
remove useless definition of the macro HAVE_MMAN_H
use HAVE_SYS_MMAN_H when including sys/mman.h and HAVE_MMAP when using mmap()
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9494
Mike Blumenkrantz [Mon, 5 Aug 2019 17:58:03 +0000 (13:58 -0400)]
tests/efl_ui_popup: add tests for this widget
these tests cover all the cases in the elm_test efl.ui.popup example
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9509
Mike Blumenkrantz [Mon, 5 Aug 2019 18:56:44 +0000 (18:56 +0000)]
efl_ui/popup_backwall: implement efl.file file and key get methods
these need to be proxied to the internal image object to return
correct values
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9508
Mike Blumenkrantz [Mon, 5 Aug 2019 18:03:08 +0000 (14:03 -0400)]
efl_ui: add popup headers to Efl_Ui.h
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9507
Mike Blumenkrantz [Mon, 5 Aug 2019 17:57:48 +0000 (13:57 -0400)]
tests/elm: add helper callback for automatically quitting main loop when triggered
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9506
Mike Blumenkrantz [Mon, 5 Aug 2019 17:53:03 +0000 (13:53 -0400)]
tests/elm: add helper function for clicking at specified coords
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9505
Mike Blumenkrantz [Mon, 5 Aug 2019 17:03:21 +0000 (13:03 -0400)]
efl_ui/text: handle disabled text
no idea what's going on here with new styling but this makes it look
like it should
ref T6649
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9502
Mike Blumenkrantz [Mon, 5 Aug 2019 17:06:07 +0000 (13:06 -0400)]
efl_ui/clock: remove unused functions
these were used for clock module functionality that has since been removed
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9501
Mike Blumenkrantz [Mon, 5 Aug 2019 16:56:03 +0000 (12:56 -0400)]
efl_ui/clock: remove legacy api/widget use internally
new widgets should use unified api internally
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9500
Mike Blumenkrantz [Mon, 5 Aug 2019 16:14:48 +0000 (12:14 -0400)]
efl_ui/clock: remove module interface
this was overly complex and never actually used
ref T7868
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9499
Vitor Sousa [Mon, 5 Aug 2019 22:06:11 +0000 (19:06 -0300)]
csharp: fix ownership of value types in arrays and lists
Summary:
`eolian_mono` now considers the implicit ownership of value types in arrays and
lists when generating ownership flags.
Also, update manual bindings for arrays and lists to no longer free elements
in the `Dispose` method when the container has ownership of the elements
but C# itself does not have ownership of the container; the elements will be
freed by whoever owns the container.
Modifying and removing elements will still free them though.
Re-enabled unit tests that required ownership of value type elements.
Reviewers: felipealmeida, q66, vitor.sousa
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9457
Vitor Sousa [Mon, 5 Aug 2019 21:47:14 +0000 (18:47 -0300)]
csharp: re-enable binbuf tests with -Dmono-beta=false
Summary:
Since the introduction of the `binbuf` keyword in eolian, `Eina_Binbuf` is no
longer a beta only type.
Hence, we enable EFL# binbuf unit tests in non-beta compilation too.
Reviewers: lauromoura, felipealmeida
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9467
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 17:51:36 +0000 (18:51 +0100)]
evas image - eina file - be paranoud about double closes
tracking some seemingly not so good asan hits on the eina file where
we're accessing an eina file already closed... so be extra paranoid
about it and set things to null after free/close...
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 17:47:20 +0000 (18:47 +0100)]
gif loader - dup eina file as we keep our own copy of it in the loader
we didnt dup the eina file handle since we kee our own handle. we
need ot do that. asan found this.
Marcel Hollerbach [Mon, 5 Aug 2019 17:07:29 +0000 (19:07 +0200)]
introduce a new interface efl_ui_selectable
this is meant to be implemented by entities that *can* be selectabled
(not to be confused with containers that can have selected contents)!
ref T8057
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9503
Marcel Hollerbach [Mon, 5 Aug 2019 16:35:13 +0000 (18:35 +0200)]
efl_ui_selectable: split this up
i dont know why, but something got badly mixed up, the selection APIs
for text and item ended up in the same interface, which seems ... weird
?
This commit splits that up into container_selectable and
text_selectable, there is no future plan on my list for text_selection.
The rest of this series is working towards removing
container_selectable, replacing it with a new interface. However, the
interface will stay until list_view is replaced.
The changes in the legacy code are removing the efl.ui.selection
interface from it, item emission is not depending on the inherited
interfaces, additionally, this interface does not provide any API, so
this should not be an issue.
ref T7766
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9498
WooHyun Jung [Fri, 2 Aug 2019 05:03:38 +0000 (05:03 +0000)]
efl_ui_action_connector: rename clickable_util to action_connector
efl_ui_clickable_util was only for efl_input_clickable interface,
but there can be more cases which want to connect object event
to specific action interfaces (such as scrolling) in the future.
For that extension, efl_ui_action_connector seems better.
ref: T7847
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9486
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 14:19:34 +0000 (15:19 +0100)]
edje cc - fix coverity warning for uninit local var
fix CID 1382208
Lauro Moura [Mon, 5 Aug 2019 14:17:52 +0000 (10:17 -0400)]
efl-mono: Add Model manual implementation to C# and MVVM factories
Summary: Depends on D9273, D9270
Test Plan: Run added testcases.
Reviewers: cedric, bu5hm4n, zmike, SanghyeonLee, felipealmeida, segfaultxavi
Reviewed By: cedric
Subscribers: cedric
Tags: #expertise_solutions, #efl_language_bindings
Differential Revision: https://phab.enlightenment.org/D8080
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 14:02:45 +0000 (15:02 +0100)]
ethumb - fix error free of static string as stringshare
in one case we try stringshare_del a static string, not stringshared,
so fix by always making it a stringshare
fix CID 1402614
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:49:58 +0000 (14:49 +0100)]
epp - fix tchnical leak for coverity
its technically a leak.. but epp will give up a nd error out anyway
here so... didn't matter.
fix CID 1402655
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:38:10 +0000 (14:38 +0100)]
ecore drm legacy - fix dbus leaks of reply handle
fix CID 1402664
Daniel Kolesa [Mon, 5 Aug 2019 13:43:39 +0000 (15:43 +0200)]
eolian: fix use after free in eolian_database
'toscan' is actually a view to 'mpath' memory, so freeing it first
would result in use-after-free. This is obviously only in the error
branch so it usually does not happen, but fix anyway.
CID1403022
Daniel Kolesa [Mon, 5 Aug 2019 13:41:28 +0000 (15:41 +0200)]
eolian: fix false positive use-after-free in parser
The catch here is that check_match results in a long jump under
that condition. The static analyzer doesn't know this, so declare
intent.
CID1402703
Daniel Kolesa [Mon, 5 Aug 2019 13:39:43 +0000 (15:39 +0200)]
eolian: silence return checking in lexer
Coverity CID1396970.
Daniel Kolesa [Mon, 5 Aug 2019 13:37:13 +0000 (15:37 +0200)]
eolian: refactor "dead" code
This has no functional change but should stop coverity from
complaining.
CID1382214
Daniel Kolesa [Mon, 5 Aug 2019 13:32:15 +0000 (15:32 +0200)]
eolian: attempt to silence coverity overlapping assignment errors
While the previous code was I believe correct, coverity still
complains about it. Split it into two statements also to declare
intent.
CID 1402603..1402724
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:28:40 +0000 (14:28 +0100)]
elm theme - fix leak in error cse in elm theme mmap set
we don't free the eina file handle on error. coverity found it. fix
fix CID 1402680
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 13:17:33 +0000 (14:17 +0100)]
ethumb - make coverity happy by including null char
doesnt cost us much to memcpy the nul byte too to keep coverity happy.
fix CID 1402690
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 12:48:14 +0000 (13:48 +0100)]
ecore evas drm - fix multi-dlopening of lib into symbol space
only load libglapi once... not multiple times by storing static ptr to
lib handle.
fix CID 1402692
Yeongjong Lee [Mon, 5 Aug 2019 12:48:04 +0000 (08:48 -0400)]
efl_input_key: replace key property name with key_sym
Summary:
Sorry to touch stable eo classes. there is name conflict issue between class and
property when binding language is generated from eo. for example in C#, compiler
error occurs.
```
src/bindings/mono/efl_input_key.eo.cs(272,26): error CS0542:
`Efl.Input.Key.Key': member names cannot be the same as their enclosing type
```
This patch changes Efl.Input.Key.GetKey/SetKey method to
Efl.Input.Key.GetKeySym/SetKeySym and generates Efl.Input.Key.KeySym
property.
Note that CAPI is not changed.
ref T8093
Test Plan: meson setup -Dbindings=mono,cxx -Dmono-beta=true
Reviewers: lauromoura, woohyun, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: bu5hm4n, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8093
Differential Revision: https://phab.enlightenment.org/D9483
zmike note: this class was not released at the point of this patch, the class
was only recently marked as stable
Vincent Torri [Mon, 5 Aug 2019 12:47:19 +0000 (08:47 -0400)]
evil: add mprotect() and fix a bit mmap(). Elm_test is working
Test Plan: compilation aand elm_test working
Reviewers: raster, cedric, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9493
Marcel Hollerbach [Mon, 5 Aug 2019 12:44:51 +0000 (08:44 -0400)]
efl_ui_spin/button: move from elm_ to efl_ prefixed functions
Summary:
this moves a bunch of api calls from elm_ to efl_. Those calls that are
called on the entry object are still elm, as well as access APIs, they
will have to be moved once efl_ui_text is usable.
Depends on D9475
Reviewers: segfaultxavi, cedric, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9488
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 12:44:25 +0000 (13:44 +0100)]
ecore drm - legacy - fix coverity leak complaint
is real - in error case. fix it to make coverity happy.
fix CID 1402696
Carsten Haitzler (Rasterman) [Mon, 5 Aug 2019 12:32:01 +0000 (13:32 +0100)]
ephysics - fix stringshare double del
fix CID 1402707
Hermet Park [Mon, 5 Aug 2019 12:09:14 +0000 (21:09 +0900)]
Hermet Park [Mon, 5 Aug 2019 11:42:26 +0000 (20:42 +0900)]
vg json: up to date internal reference.
rlottie is not officially released, still it's unstable.
JunsuChoi [Mon, 5 Aug 2019 09:08:50 +0000 (18:08 +0900)]
ector_software_rasterizer: Add default value for stroke's miter_limit
Summary:
Currently the default value of miter_limit is defined as 0.
miter_limit should be specified to a value other than 0. becuase it is affected by width.
See below for an explanation of this.
https://www.freetype.org/freetype2/docs/reference/ft2-glyph_stroker.html#ft_stroker_linejoin
There is no particular reason why the default value is 0x4.
It only refers to the standard of web svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit
Test Plan:
setenv("ECTOR_BACKEND", "default", 1);
elm_init(argc, argv);
Evas_Object *win = elm_win_util_standard_add(NULL, "test");
evas_object_smart_callback_add(win, "delete,request", win_del, 0);
elm_win_autodel_set(win, 1);
Evas_Object *bg = elm_bg_add(win);
elm_bg_color_set(bg, 255,255,255);
evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
Evas *evas = evas_object_evas_get(win);
Evas_Object *vg = evas_object_vg_add(evas);
evas_object_show(vg);
Evas_Object *container = evas_vg_container_add(vg);
Evas_Object *shape = evas_vg_shape_add(container); //Default is EFL_GFX_JOIN_MITER
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 50, 150);
shape = evas_vg_shape_add(container);
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_BEVEL);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 200, 150);
shape = evas_vg_shape_add(container);
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_ROUND);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 350, 150);
evas_object_vg_root_node_set(vg, container);
elm_object_content_set(bg, vg);
elm_win_resize_object_add(win, bg);
evas_object_resize(win, WIDTH, HEIGHT);
evas_object_show(win);
elm_run();
elm_shutdown();
Reviewers: smohanty, Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9492
Change-Id: I104e272dc58d11989dfd1cf24959c61955948f94
jeon [Fri, 9 Aug 2019 07:27:14 +0000 (16:27 +0900)]
ecore_wl2_input: attempt to surface to hash if surface is exist during keygrab
Change-Id: Icaa37e52ac19607888b42c7474cf39bd1f858c53
subhransu mohanty [Thu, 8 Aug 2019 05:42:30 +0000 (14:42 +0900)]
optimization: load font config during font init
Font config gets initialized on first call to evas_text
by initializing at the font_init time can help the startup
time with precreated window.
Change-Id: I6dd3c0b065aa19ffe32bf932049b1f2fbc8950f8
subhransu mohanty [Fri, 9 Aug 2019 04:55:29 +0000 (13:55 +0900)]
optimization: remove redundant style tag addition.
These style tags are already been added in reparse() function.
its added again here by mistake.
Change-Id: Ie5cc21b05b3deb0223b76d74bfa6be02e4aed188
subhransu mohanty [Thu, 8 Aug 2019 00:19:36 +0000 (09:19 +0900)]
efl/tracing: refactor tracing in efl to support different tracing backend.
The code will be cleaner with only the Trace call without any ifdef mess.
Easy to change the trace profilier by changing the trace backend.
if disabled won't add any code to efl.
Change-Id: I2b8a1d00f8470b904703c23ffd17aac0ab3eeaaf
WooHyun Jung [Thu, 8 Aug 2019 00:49:15 +0000 (09:49 +0900)]
eina_mempool: change default memory alignment from 2 to 4
This patch is still in review.
https://phab.enlightenment.org/D9520/
If the patch would be modified while reviewing, this patch
should be reverted and the reviewed one needs to be updated.
[Summary]
SIGBUS error occurs on ARM devices. ELM_LAYOUT_MIXIN inherited class data size
is not a multiple of 4, because sizeof(Elm_Layout_Data) is 1 and
eina_mempool_alignof return 2 with size less than 4 which means data_offset
is a * m + 2.
@tizen_fix
Change-Id: I2c25d14def886f4d2ccb0b775ea540c9d41b8c9e
Ali Alzyod [Wed, 7 Aug 2019 11:39:33 +0000 (20:39 +0900)]
evas_text: backward compatibility for setting text size
Summary: This is for backward compatibility for TIZEN Test cases for legacy
Reviewers: woohyun
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9519
Change-Id: I4a928e8f9f92c29bb5d957f0183d6e1097fbe5b0
WooHyun Jung [Tue, 6 Aug 2019 01:11:53 +0000 (10:11 +0900)]
Temporarily enabled svg as hot fix
When svg is disabled, tizen-themes are failed
to be built with the following error message"
"void LottieParserImpl::ParseNext(): Assertion `0'
failed."
This patch needs to be reverted after the error is
fixed by Hermet :)
@tizen_fix
Change-Id: I79607a797cd139180f668dc18a800277022336e2
JunsuChoi [Mon, 5 Aug 2019 09:08:50 +0000 (18:08 +0900)]
ector_software_rasterizer: Add default value for stroke's miter_limit
Summary:
Currently the default value of miter_limit is defined as 0.
miter_limit should be specified to a value other than 0. becuase it is affected by width.
See below for an explanation of this.
https://www.freetype.org/freetype2/docs/reference/ft2-glyph_stroker.html#ft_stroker_linejoin
There is no particular reason why the default value is 0x4.
It only refers to the standard of web svg.
https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit
Test Plan:
setenv("ECTOR_BACKEND", "default", 1);
elm_init(argc, argv);
Evas_Object *win = elm_win_util_standard_add(NULL, "test");
evas_object_smart_callback_add(win, "delete,request", win_del, 0);
elm_win_autodel_set(win, 1);
Evas_Object *bg = elm_bg_add(win);
elm_bg_color_set(bg, 255,255,255);
evas_object_size_hint_align_set(bg, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_show(bg);
Evas *evas = evas_object_evas_get(win);
Evas_Object *vg = evas_object_vg_add(evas);
evas_object_show(vg);
Evas_Object *container = evas_vg_container_add(vg);
Evas_Object *shape = evas_vg_shape_add(container); //Default is EFL_GFX_JOIN_MITER
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 50, 150);
shape = evas_vg_shape_add(container);
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_BEVEL);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 200, 150);
shape = evas_vg_shape_add(container);
evas_vg_shape_append_rect(shape, 0, 0, 100 , 100, 0, 0);
evas_vg_shape_stroke_join_set(shape, EFL_GFX_JOIN_ROUND);
evas_vg_shape_stroke_color_set(shape, 255, 0, 0, 255);
evas_vg_shape_stroke_width_set(shape, 10);
evas_vg_node_origin_set(shape, 350, 150);
evas_object_vg_root_node_set(vg, container);
elm_object_content_set(bg, vg);
elm_win_resize_object_add(win, bg);
evas_object_resize(win, WIDTH, HEIGHT);
evas_object_show(win);
elm_run();
elm_shutdown();
Reviewers: smohanty, Hermet, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9492
Change-Id: I42ad77c8e31d3a6ad10ce894c3c535e00d932be4
Hermet Park [Wed, 31 Jul 2019 07:30:03 +0000 (16:30 +0900)]
Revert "Revert "Backported missing svg loader from upstream""
This reverts commit
b016b078d8baa2d0d8d753415133aac0cdc1364a.
Change-Id: I038c93d2e2faae9658b82283320480849f75fdb7