Hermet Park [Wed, 4 Sep 2019 10:56:57 +0000 (19:56 +0900)]
ector: fix a wrong target buffer size.
the target buffer is allocated by backend engine,
The buffer size must be specified with the stride, not the width.
It's real dimension can be different with the our request.
Change-Id: Ia17f166176ce67ea03433102f48974b76f05b40b
Yeongjong Lee [Wed, 4 Sep 2019 08:20:34 +0000 (17:20 +0900)]
efl_ui_widget: reorder constructor code to fix event callback registration issue
`callback_add` function should be called after `evas_object_callback_init` that
is called in `_efl_canvas_object_efl_object_constructor`. `callback_add` that is
called in `sub_object_add` didn't work.
This patch will fix that issue.
Note: it is needed more time to make solution that respects author's intent.
This is quick fix for only tizen which means this commit should be reverted
after fixing event callback registration issue in upstream.
@tizen_only
Change-Id: Id17bced316bb64e5bf4637f7f45ea66dc19327ab
JunsuChoi [Wed, 4 Sep 2019 03:08:56 +0000 (12:08 +0900)]
vg_common_svg : Initialize "display" attribute
Summary:
In e850e3e, the code to initialize this property is missing.
That makes the object invisible when printing svg through edje.
This is a patch to fix it.
@fix
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9833
Change-Id: I36370ab055bb89ddb201d8a4763136bfccbf9ab2
JunsuChoi [Wed, 4 Sep 2019 03:07:08 +0000 (12:07 +0900)]
freetype: Prevent lose of data when fixed point divide calculation.
Summary:
In environments that long is 4byte, fixed-point division calculations will cause data loss.
fixed-point division need to more space.
Therefore, change all long types to long long types.
Test Plan: N/A
Reviewers: Hermet, kimcinoo, smohanty
Reviewed By: Hermet
Subscribers: vtorri, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9817
Change-Id: I473aacd8461bc0f02894836998fc7f81c8f5b531
Hermet Park [Fri, 30 Aug 2019 08:13:31 +0000 (17:13 +0900)]
ector gradient: ++ optmization.
we know what size will be used for every span,
this graident buffer will be overwritten with new one,
So it doesn't need to clear every spans.
Change-Id: Ia65a442f45d87e4e1906755d8713989644ae9c98
Hermet Park [Fri, 30 Aug 2019 04:42:54 +0000 (13:42 +0900)]
ector: remove unnecessary blending processing.
gradient buffer in masking doesn't need to apply anti-aliasing
since it would be taken by masking buffer.
This also fixes memory overflow case if the tbuffer is lack of size.
Change-Id: I88de96feb0d9d11fc14c5a24e4aacaef868ccfce
Hermet Park [Thu, 29 Aug 2019 12:51:48 +0000 (21:51 +0900)]
ector: code refactoring.
just renamed internal variables, no logical changes.
Change-Id: I8c5ec644a61d5f99deca30d04c33e3b342030b6c
subhransu mohanty [Wed, 4 Sep 2019 00:51:50 +0000 (09:51 +0900)]
edje/textstyle/optimization: Optimize code as textblock style handle logic changes.
As tizen keeps a per object textblock style we don't
need to clear the file level textstyle as we never refer it. So cleanup the logic
which will be similar to opensource and performs much better than current logic.
Change-Id: I73905ee2e90a4e11496f902c04cbb7de9da38bb9
Taehyub Kim [Tue, 3 Sep 2019 10:27:05 +0000 (19:27 +0900)]
elm_popup: calculate the label min size of popup before the popup group calculation
Summary:
consider the label min width size before the popup group calculation
@fix
Test Plan: 1. run elementary_test popup
Reviewers: Jaehyun_Cho, woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9818
Change-Id: I095d0df88ad6fc0eed81bd1a0d27d58d5b4ff566
Radoslaw Cybulski [Fri, 30 Aug 2019 13:50:24 +0000 (15:50 +0200)]
atspi: fix for missing highlight signal
Fix for missing highlighted atspi signal, when scrolling
from the beginning to the end of gengrid widget.
Change-Id: I8b50d4c2afb33bc32091938953a8244548ac9573
Wonki Kim [Tue, 3 Sep 2019 02:40:00 +0000 (11:40 +0900)]
spec: enables PIE option for binary to enhance security
this patch enables PIE option for building binaries to enhance seciruty.
Change-Id: I2458c4a4e589bb161afe6b823ca1c3f497ddb93e
Pankaj Kumar [Mon, 2 Sep 2019 17:27:51 +0000 (22:57 +0530)]
evas_vg: fix alpha animation bug in case of partial update
Summary:
Prerequisite: Partial rendering ON + Evas VG content set in elm_layout + color/alpha animation of layout
It seems that expected clip rects were not merged when color change was taking place on vg object.
@fix
Change-Id: Id5fb88d4dc66f462cfd686ed5f0e603276c7e76e
Signed-off-by: Pankaj Kumar <pankaj.m1@samsung.com>
Hosang Kim [Fri, 30 Aug 2019 10:37:15 +0000 (19:37 +0900)]
evas_events: fix device information.
Change-Id: I61747558716babd234ed4e594c1d84ebb1b2a3af
Shinwoo Kim [Thu, 29 Aug 2019 09:26:16 +0000 (18:26 +0900)]
efl_ui_widget: fix crash issue
Please refer to https://phab.enlightenment.org/D9762#181662 for details.
@tizen-fix
Change-Id: I473d812553ee9bb7490b4458a02b22703a009918
subhransu mohanty [Thu, 29 Aug 2019 09:03:15 +0000 (18:03 +0900)]
edje/style/optimization: keep the color value instead of color strings in style tags.
During style_update we convert the string again back to integer and compute the final result
before converting back to string again. so just keep it as integer value for speedup.
Change-Id: I6aa986f3ab9318522a952d7763ef25bde0384fc7
Radoslaw Cybulski [Mon, 26 Aug 2019 10:45:00 +0000 (12:45 +0200)]
atspi: fix for invalid event notification handling
Say functionality's event handling was removing event notification
callback after first time the event came. Since ReadingStopped and ReadingResumed
events might come multiple times, callback must not be removed, when they come.
Change-Id: If90ad7b841a4c860d993569107b74fcf620e5fdf
subhransu mohanty [Thu, 29 Aug 2019 07:24:48 +0000 (16:24 +0900)]
edje/style: Fix issue from last migration.
Change-Id: Ib88f1d44978d722268d35713e9d6fd899743c15a
Radoslaw Cybulski [Fri, 16 Aug 2019 10:34:33 +0000 (12:34 +0200)]
atspi: fix for not working proxy objects in atspi mode
Atspi embedding doesn't seem to be working due to _socket_embedded
method failing to detect proxy object. As a result it returns fail
code, which prevents setting screen offset for embedded object.
This patch adds ___atspi_socket_proxy property, which
contains address of the proxy object.
Change-Id: I9ce291bdbe5a06b4079cf3feacdf89c9298acaba
subhransu mohanty [Thu, 29 Aug 2019 06:01:13 +0000 (15:01 +0900)]
edje/textblock: total refactoring after the upstream patches.
Change-Id: I39b1d82c6179e8cdee634d6d065e94dc6ad13ce0
subhransu mohanty [Wed, 28 Aug 2019 04:18:42 +0000 (13:18 +0900)]
edje: refactor _edje_object_file_set_internal() function
Summary:
move the file related function to edje_cache so that code
is easy to read and maintainable and we don't have to do unnecessary
stuff for each edje object creation.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9761
Marcel Hollerbach [Tue, 27 Aug 2019 11:35:33 +0000 (13:35 +0200)]
efl_ui_position_manager: refactor data access
before data access has been a property on
Efl.Ui.Position_Manager.Entity. However, we are not sure how stable all
this will be, and maybe we have the demand to change that in future, in
order to allow more high-performance item passing here.
Additionally, this patch addresses a few lectures learned from the past,
that includes:
- direct group header filling.
- direct group sizing
- difference between size for caching, and size for displaying
- Have a end_id which is the maximum of id that is filled.
ref T8179
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9754
Xavi Artigas [Tue, 27 Aug 2019 14:38:12 +0000 (16:38 +0200)]
efl_ui_range_display: Update docs
WooHyun Jung [Mon, 26 Aug 2019 11:27:18 +0000 (11:27 +0000)]
efl_ui_slider: refactor for better data flow and code readability
1. efl_ui_range_value_set only sets value
2. remove internal eo functions (such as xxx_knob, val_fetch, and val_set)
3. make access_value_and_text works correctly
@ref T7893
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9720
Shinwoo Kim [Tue, 27 Aug 2019 10:27:01 +0000 (10:27 +0000)]
efl_ui_widget: keep backward compatibility
It was possilbe to add an image with improper parent object before aa2d94f and
56752e0. This patch makes it possible. Sure there are error messages when user
adds an image object using non widget object as below but you can see image.
ERR<28822>:elementary ../src/lib/elementary/efl_ui_widget.c:4801 _efl_ui_widget_efl_object_constructor() You passed a wrong parent parameter (0x400000007ced (null)). Elementary widget's parent should be an elementary widget.
ERR<28822>:elementary ../src/lib/elementary/efl_ui_widget.c:4803 _efl_ui_widget_efl_object_constructor() No widget data for object 0x400000007ced ((null))
ERR<28822>:eina_safety ../src/lib/elementary/efl_ui_win.c:9450 efl_ui_win_shared_data_get() safety check failed: pd == NULL
ERR<28822>:eo ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in src/lib/elementary/efl_ui_widget.eo.c:256: func 'efl_ui_widget_sub_object_add' (698) could not be resolved for class 'Evas.Canvas'.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9747
subhransu mohanty [Tue, 27 Aug 2019 12:04:43 +0000 (08:04 -0400)]
edje/load: pass Edje_File instead of Edje to _edje_extract_mo_files()
Summary:
Why :
1. The function operates on the Edje_File level not on Edje object
level , so express it clearly in the function argument.
2. if its clear that this function works on file level then
this should be called when the theme file loaded for the first time
not on every Edje object creation.
Reviewers: Hermet, zmike, raster, cedric
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9753
Shinwoo Kim [Tue, 27 Aug 2019 11:49:18 +0000 (07:49 -0400)]
efl_ui_bg: make legacy bg use legacy image
Summary:
The legacy bg object has added a non-legacy image object internally.
The non-legacy image object caused an unexpected inconsistent behavior
and result in common widget logic because it is not true for the line
using elm_widget_is_legacy function in efl_ui_widget.
Reviewers: woohyun, Jaehyun_Cho, SanghyeonLee, YOhoho, Hermet, jsuya, devilhorns, zmike
Reviewed By: zmike
Subscribers: devilhorns, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9746
subhransu mohanty [Tue, 27 Aug 2019 11:42:14 +0000 (07:42 -0400)]
edje/optimization: replace eina_list with eina_array.
Summary:
We were creating 3 eina_list and destroying inside a for loop.
replace that with creating a single eina_array at start and use
eina_array_clean() function ro reuse the array.
Reviewers: Hermet, zmike, cedric, raster
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9745
Mike Blumenkrantz [Tue, 27 Aug 2019 11:40:33 +0000 (07:40 -0400)]
build: fix EXE_SUFFIX define
Summary: ensure this is an empty string when it should be instead of "."
Reviewers: bu5hm4n, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9744
Yeongjong Lee [Tue, 27 Aug 2019 10:46:03 +0000 (12:46 +0200)]
efl_pack_table: rename table_position to cell_column, cell_row
Summary:
Rename ambiguous `table_position` property. it is actually related to child
column, row.
ref T7900
Reviewers: segfaultxavi, zmike
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl_api
Maniphest Tasks: T7900
Differential Revision: https://phab.enlightenment.org/D9611
Xavi Artigas [Mon, 26 Aug 2019 15:25:10 +0000 (17:25 +0200)]
Efl.Gfx.Image docs: whitespace and wording.
Carsten Haitzler (Rasterman) [Mon, 26 Aug 2019 13:28:44 +0000 (14:28 +0100)]
thread example - add exit with parent flags
Carsten Haitzler (Rasterman) [Mon, 26 Aug 2019 12:46:32 +0000 (13:46 +0100)]
efl loops/threads - by defaylt tasks (exe and threads) exit with parent
this also defers parent exit until all children exit and will wait
around looping until those children do report back with exited status
etc. - this meay mean some hangs for badly written/blocking apps that
have efl thrrads that refuse to exit. a slight policy change also
means that by default thread objects also get auto-deleted whent hey
report back exit codes etc. which leads to less code if you don't care
about this.
Marcel Hollerbach [Tue, 20 Aug 2019 18:10:56 +0000 (20:10 +0200)]
efl_ui_collection: honor desktop vs. touch setting of elm config
with this commit we do desktop-like selection on desktop systems:
- Multiselect with CTRL pressed
- Normal single selection if no CTRL is pressed
on touch devices this is simple on/off selection:
- click to add it to multiselect
- click to remote it from mutliselect
ref T8057
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9664
Marcel Hollerbach [Tue, 20 Aug 2019 18:09:16 +0000 (20:09 +0200)]
efl_input_clickable: add a flag for showing user interaction
this flag can be used to indicate that a user activly interacted with
this widget.
ref T7893
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9663
Marcel Hollerbach [Tue, 20 Aug 2019 16:22:00 +0000 (18:22 +0200)]
efl_ui_single_selectable: add properties and events
this commit adds 2 new features, a new event and a new property
The fallback property is usefull if you want to have a selection that always falls back
to some preconfigured things.
As a usecase, think about a list of languges where you can select the
languages you want to have. When everything is deselected, the list will
simply fallback to the preconfigured element (for example the language
configured before)
The event is annoncing that there was a change to the selection. The
event is allowed to be defered, it will be emitted once for a range of
selection elements that happened during one loop iteration. This is
usefull if you are interested in a general selection where you want to
know that we changed from a specific set of selected element to another
set of elements, without monitoring every selectable in the widget.
ref T8057
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9662
Marcel Hollerbach [Tue, 20 Aug 2019 15:32:15 +0000 (17:32 +0200)]
suite_helpers: punsh some sanity into function names
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9661
Marcel Hollerbach [Tue, 20 Aug 2019 13:57:13 +0000 (15:57 +0200)]
efl_ui_multi_selectable: add APIs for selecting
this can be used to select / unselect a range or all selectables in a
container. The range selectable APIs do not have a strong ordering on a
and b, b does not have to come after a.
ref T8057
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9660
Marcel Hollerbach [Fri, 23 Aug 2019 10:03:24 +0000 (12:03 +0200)]
efl_ui_item: add keybindings for selecting changes
This started as a small commit, when pressing enter -> set the item as
selected.
However, it was a bit more complex, it seems that there was never config
update code to copy bindings into the user profile. Which lead to the
fact that you are missing a lot of keyboard related features if you
havnt wiped your config in the last 1-2 years. For me keybindings for
Efl.Ui.Scroller Tab_Bar Image_Zoomable (Item) have been missing and were
never inserted. WHich is a problem for a user just constantly updating.
For now i created a function that copies over the bindings from the
system config, and they are merged into the user config. Intentional
leaving our of keybinding structs for a user-config will result in them
beeing merged again on the next config update. If you want to get rid of
key bindings as a user you can just keep the empty struct, which is the
signal for "i know what i am doing, i do not want to have them". The
problem that the system config is partly invalidated (due to moving the
key bindings struct to the user config), is fixed due to the fact that
the config is reloaded after that.
This function should be called everytime someone updates the config in
regards of the keybindings.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9723
Marcel Hollerbach [Fri, 23 Aug 2019 08:41:44 +0000 (10:41 +0200)]
efl_ui_item: only fetch multiselection state if this is relevant
there are cases where the container does only implement single
selection, when then just asume implicitly single mode here.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9722
subhransu mohanty [Mon, 26 Aug 2019 12:08:29 +0000 (08:08 -0400)]
edje/cache: Refactor _edje_cache_file_coll_open()
Summary:
This function does lot of things
- can be called only to load the file (by passing coll as null)
- can be called to load both file and open the collection from the file.
- handles the file_cache logic
- handles fixing the collection after reading from file.
this patch is targeting to split the responsibility to
smaller function for easy maintenance and code readability.
future patch to follow for splitting the file opening and collection
opening to two different function.
Reviewers: Hermet, raster, cedric, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9715
sub.mohanty@samsung.com [Mon, 26 Aug 2019 12:06:51 +0000 (08:06 -0400)]
eina/array: added eina_array_find() api to eina_array.
Summary: updated test suite for testing the api.
Reviewers: zmike, Hermet, cedric, segfaultxavi
Reviewed By: zmike, segfaultxavi
Subscribers: segfaultxavi, ProhtMeyhet, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9734
JunsuChoi [Mon, 26 Aug 2019 07:26:08 +0000 (16:26 +0900)]
spinner_cxx_example: Fix use wrong api
Summary:
de18371 changes cause build errors. (D9707)
this is a patch to fix it.
Test Plan: N/A
Reviewers: woohyun, bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9738
Taehyub Kim [Mon, 26 Aug 2019 05:50:44 +0000 (14:50 +0900)]
efl_ui_format: add null checking codes for eina_strftime in _do_format_string function
Summary: efl_ui_format: add null checking codes for eina_strftime in _do_format_string function
Reviewers: kimcinoo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9735
subhransu mohanty [Mon, 26 Aug 2019 05:18:09 +0000 (14:18 +0900)]
edje/style: optimize style_update function.
Summary:
If the style is readonly then we know for sure it dosen't have any text_class/color_class.
If a style has text_class tag then call update only once not for each text_class tag it has.
Reviewers: ali.alzyod, Hermet, cedric, raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9641
Marcel Hollerbach [Mon, 26 Aug 2019 05:21:10 +0000 (14:21 +0900)]
efl_ui_spin_button: rename editable to direct_text_input
Summary: as suggested in T8097.
Reviewers: cedric, zmike, woohyun
Reviewed By: woohyun
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9707
Carsten Haitzler (Rasterman) [Sun, 25 Aug 2019 10:24:54 +0000 (11:24 +0100)]
efreet - make efreet launch timeout configurable by env var
also report as an ERR explicitly if its a timeout.
Carsten Haitzler (Rasterman) [Sun, 25 Aug 2019 09:28:08 +0000 (10:28 +0100)]
evas - scalecache - be a bit paranoid about images being set to null
this may address a bug, but i'm not sure as i can't reproduce it.
suffice to say it smells like a possible leak.
Carsten Haitzler (Rasterman) [Sat, 24 Aug 2019 14:21:42 +0000 (15:21 +0100)]
scalecache - handle possible use after free with sci still in list
the sci may still be in the list then we free it because sci->im is
NULL .. it may always have been null. this should guard against that
and fix it.
@fix
Lauro Moura [Fri, 23 Aug 2019 18:41:46 +0000 (14:41 -0400)]
elm: Fix Scrollable_Content namespace
Summary:
Efl.Ui.Widget is already a class.
Required by the C# bindings.
Reviewers: cedric, zmike
Reviewed By: zmike
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9733
Yeongjong Lee [Fri, 23 Aug 2019 18:03:57 +0000 (14:03 -0400)]
efl_canvas_text: remove unused Text_Style eo struct
Summary: `Efl.Canvas.Text_Style` is not used in eo world.
Reviewers: zmike, tasn
Reviewed By: tasn
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9565
Carsten Haitzler (Rasterman) [Thu, 22 Aug 2019 23:20:44 +0000 (00:20 +0100)]
edje signal matches - try number 3 to try plug all the holes
i found some more cases where the hash may change, so del and add from
the hash when this happens...
and... i found a nasty. _edje_signal_match_key_cmp compared pointers
like:
int return = ptr_a - ptr_b;
what happens if .... ptr_a and ptr_b are more than 2^31 (2gb) apart?
overflow (or underflow) and we return the wrong thing. i suspect this
is part of the problem and why my has remove/adds have not been
working because ... i suspect that maybe the hash dels have not been
finding things. i can't be sure right now, but it is an obvious
problem that i fixed by just doing if's and returning -1 or 1. also i
found a double-add or overwrite int he hash - when we shuffled with
_edje_signal_callback_move_last the matches CAN match exactly
something already in the hash thus adding it in will conflict with
what is already there as keys match. handle this cvase now and i have
seen segv's go away for now.
@fix
Carsten Haitzler (Rasterman) [Thu, 22 Aug 2019 23:10:30 +0000 (00:10 +0100)]
edje signal - let's not crash if something odd happens
better we dont just crash but err log it which can be set to abort
anyway.
@fix
Mike Blumenkrantz [Fri, 23 Aug 2019 17:37:55 +0000 (13:37 -0400)]
elm/config: always use default profile with EFL_RUN_IN_TREE
Summary:
if this env var is set, we're probably running unit tests or something
and we should ignore ELM_PROFILE
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9701
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:40 +0000 (13:22 -0400)]
tests/edje: disable efreetd and ecore system modules in unit tests
Summary: these cause tests to take up to 100x longer
Reviewers: bu5hm4n, cedric
Reviewed By: bu5hm4n, cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl_tests
Differential Revision: https://phab.enlightenment.org/D9702
Yeongjong Lee [Fri, 23 Aug 2019 17:22:33 +0000 (13:22 -0400)]
efl_ui_table: remove inlist items in EINA_INLIST_FREE macro
Summary:
Check the EINA_INLIST_FREE document
```
in eina_inlist.h
NOTE: it is the duty of the body loop to properly remove the item from the
inlist and free it. This function will turn into a infinite loop if you
don't remove all items from the list.
```
This will avoid infinite loop when Efl.Ui.Table is invalidated.
ref T8145
Test Plan: See the test file in T8145
Reviewers: brunobelo, Jaehyun_Cho, zmike
Reviewed By: zmike
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8145
Differential Revision: https://phab.enlightenment.org/D9699
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:31 +0000 (13:22 -0400)]
efl_ui/scroll_util: block scroll calc tsunamis caused by repeat signal emits
Summary:
the 'efl,action,scroll' signal should only occur (at most) one time during
each signal process loop, so restrict it for this case
furthermore, the bar pos_changed and size_changed callbacks are always
triggered sequentially, so there's no need to emit the signal in both
callbacks
this fixes infinite edje embryo errors and massively improves scroll perf
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9681
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:24 +0000 (13:22 -0400)]
theme/scroller: don't "check" bar positions randomly in other programs
Summary:
this should be correctly triggered from the widget in order to avoid
recursive program/calc loops
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl_widgets
Differential Revision: https://phab.enlightenment.org/D9680
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:17 +0000 (13:22 -0400)]
tests/eio: unlink tmpfiles after tests
Summary:
my tmpdir is full of thousands of these things
Depends on D9710
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9711
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:11 +0000 (13:22 -0400)]
tests/eio: verify that the model monitor test's file is successfully created
Summary:
if this fails then the test will hang until timeout, so catch it earlier
Depends on D9709
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9710
Mike Blumenkrantz [Fri, 23 Aug 2019 17:22:04 +0000 (13:22 -0400)]
eio/poll: avoid ever dereferencing the backend's parent in a thread
Summary:
when a monitor is destroyed, it unconditionally and immediately deletes
the monitor struct. this means that as soon as the monitor is dead, the
backend must never access the parent pointer again if its lifetime exceeds
the lifetime of the monitor (such as in threads)
the only member of the monitor data used by the fallback monitor is the
monitor path, so we can just copy it to the fallback data to avoid ever
needing to dereference this pointer
fixes reliability issues with efl sentry unit tests
@fix
Depends on D9708
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9709
Mike Blumenkrantz [Fri, 23 Aug 2019 17:21:58 +0000 (13:21 -0400)]
efl/io: fix race condition with child model deletion
Summary:
if an event is emitted for a child that is added to the model during a
call to _efl_io_model_children_list(), it's possible that this child
will never be detected by the model's monitor/sentry if it is deleted
before the monitor can detect it, which means there will never be a
corresponding eio event emitted
in this case, ensure that we manually remove this child from the model
since we know we've just deleted it
this fixes reliability issues with efl io model monitor unit test
@fix
Reviewers: cedric
Reviewed By: cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9708
Yeongjong Lee [Thu, 22 Aug 2019 12:41:58 +0000 (08:41 -0400)]
efl_ui_scrollbar_direction: replace with efl_ui_layout_orientation
Summary: ref T7924, T7884
Reviewers: segfaultxavi, bu5hm4n
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7924, T7884
Differential Revision: https://phab.enlightenment.org/D9612
Yeongjong Lee [Fri, 23 Aug 2019 17:29:04 +0000 (14:29 -0300)]
csharp: add legacy eo in mono blacklist
Summary: It is unnecessary to generate cs file of legacy class.
Test Plan: meson setup -Dbindings=mono,cxx
Reviewers: felipealmeida, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers, woohyun
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9638
Felipe Magno de Almeida [Fri, 23 Aug 2019 17:27:28 +0000 (14:27 -0300)]
eolian-mono: Add support for partial classes
Summary:
Add the -p command to eolian to create a class as a partial
class. Create a list in meson build of Eolian files that should be
built with partial classes.
This allows creating more specific method overloads for C#, manually,
by generating the class as partial and adding in manual binding the
partial class with the new methods and properties.
T8034
Reviewers: segfaultxavi, lauromoura, woohyun, Jaehyun_Cho
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9690
Lauro Moura [Fri, 23 Aug 2019 17:18:42 +0000 (14:18 -0300)]
csharp: Only build extension methods for beta
Reviewers: felipealmeida, SanghyeonLee
Reviewed By: SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9714
Lauro Moura [Fri, 23 Aug 2019 17:12:08 +0000 (14:12 -0300)]
csharp: Add bindable factory parts support
Summary:
This commit makes parts that implement `Efl.IContent` use BindFactory
instead of property binding.
```
var factory = new Efl.Ui.ItemFactory<Efl.Ui.ListDefaultItem>();
var iconFactory = new Efl.Ui.ImageFactory(null);
iconFactory.PropertyBind("filename", "modelProperty");
factory.IconPart().BindFactory(iconFactory);
```
Fixes T7628
Reviewers: cedric, felipealmeida, SanghyeonLee
Reviewed By: felipealmeida
Tags: #efl
Maniphest Tasks: T7628
Differential Revision: https://phab.enlightenment.org/D9653
Felipe Magno de Almeida [Fri, 23 Aug 2019 17:00:26 +0000 (14:00 -0300)]
eolian-mono: Add support for multi-value properties with tuples
Summary: T8133
Reviewers: woohyun, segfaultxavi, felipealmeida
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9577
JunsuChoi [Fri, 23 Aug 2019 09:08:39 +0000 (18:08 +0900)]
slider_cxx_example: Fix use wrong api
Summary:
d50fdc0,
e84ecd95 changes cause build errors.
this is a patch to fix it.
Test Plan: N/A
Reviewers: zmike, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9721
Hermet Park [Tue, 27 Aug 2019 08:22:18 +0000 (17:22 +0900)]
evas events: fix corrupted mouse events behavior on mapped object.
Summary:
This fixes an issue that inproper mapped object in/out events triggering.
The previous mouse event logic didn't care the transformed cooridates
if a child object belongs to a mapped parents in its hierarchy.
When checking the object boundary for the child on mouse moving,
it must consider if the child were belonged to the mapped parent space.
Plus, this improves the coordiates to be transformed properly for the prev cooridates,
So that user could compare cur/prev cooridnates properly in the same space
in its events callbacks.
@fix
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9751
Change-Id: Ic2ca6e1302175dffca07ccb4683c532085cbc878
Wonki Kim [Tue, 27 Aug 2019 03:54:17 +0000 (12:54 +0900)]
eina_vpath: add null checking logic on vpath_resolve api
Summary:
there is a patch that add vpath_resolve() call before eina_file_open()
because `path` arg could be NULL, the patch kills some applications.
this patch add null checking logic on vpath_resolve api
Reviewers: bu5hm4n, cedric
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9748
Change-Id: I542c99aadcd3b1be466cad9fb0d1bd79df22738d
Wonki Kim [Tue, 27 Aug 2019 04:27:54 +0000 (13:27 +0900)]
eina_list: fix to check a null argument
Summary:
data should be checked regardless of EINA_MAGIC define,
because it is dereferenced in the following logic.
Reviewers: cedric, bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9750
Change-Id: I74d97bda83dd45444bade5c0ae1066292ebadfd4
Wonki Kim [Tue, 27 Aug 2019 01:44:07 +0000 (10:44 +0900)]
extn: Fix a potentional error for fd on ecore_evas_extn
fd from _compositor_socket_get could be negative in some case.
so that this patch appends a logic to handle the case.
Change-Id: Iebd92f224faf2300c9bbac2b7a70ca05c0167cd9
Hermet Park [Mon, 26 Aug 2019 10:30:06 +0000 (19:30 +0900)]
canvas map: remove logically dead code.
the value was overflow, reduce its size.
Change-Id: If99b71109f30352d9942e8fdd326157aab172d96
Hermet Park [Mon, 26 Aug 2019 10:23:43 +0000 (19:23 +0900)]
canvas map: code refactoring.
remove dead code that unreachable looping.
Change-Id: Ic44fa880c7d880a01f77e19bb7993ab986b6f65a
JunsuChoi [Mon, 26 Aug 2019 06:43:05 +0000 (15:43 +0900)]
edje_cc_out: comment out program name(id) checker.
A patch(fdec1b5) was added long ago to supplement the logic of this checker.
But the patch caused some side effects.
Of course, this function is a checker, so we need to fix the problem code.
But it was put on hold a long time ago because it could cause another potential problem.
So that patch was reverted (2a26e53).
Since then, some patches(1247cb2, dbce6ac) have been added to the logic, but as a result,
the below logic has not worked for a long time.
Because 'if condition' is incorrectly written as always 'true' and that is why it is unreached code.
Fixing this should fix some side effects and other potential flaws that occurred in the past.
Comment out this code because it is not actually used.
If this code needs to be used again, we need a guide to fix the code in edc.
@tizen_only
Change-Id: I9df58db627faa3a9faf09ee8aeda841201e87860
Wonki Kim [Mon, 26 Aug 2019 04:30:58 +0000 (13:30 +0900)]
Revert "edje_cc: Fix always true condition."
This reverts commit
6b2803d2a55306821168d8972a58e7562eb1bf78.
Change-Id: If4d2ae18d9e2d7d0a1aadb9ebf649cc10338e2d3
Yeongjong Lee [Mon, 19 Aug 2019 09:40:22 +0000 (18:40 +0900)]
eina_debug: remove unused variable
Change-Id: Icff2a5e7bf03fd948790cd69b8f661698a516e7f
Shinwoo Kim [Mon, 26 Aug 2019 02:35:52 +0000 (11:35 +0900)]
efl_ui_widget: fix regression of legacy object creation
It was allowed to use non widget object as a parent of Efl.Ui.Image_Legacy.
Please refer to following error messages.
eo<896> ../src/lib/eo/eo.c:947 _efl_add_internal_start_do() in ../src/lib/elementary/efl_ui_image.c:2303: Object of class 'Efl.Ui.Image_Legacy' - Error while constructing object
eo<896> ../src/lib/eo/eo.c:579 _efl_object_call_resolve() in src/lib/elementary/efl_ui_widget.eo.c:268: func 'efl_ui_widget_sub_object_add' (579) could not be resolved for class 'Evas.Canvas'.
It seems that application is using Evas.Canvas to add Efl.Ui.Image_Legacy.
We could not see some images after commit aa2d94f.
aa2d94f efl_ui_widget: add a place to share data
This patch makes the commit aa2d94f work only for non legacy object.
Reason of tizen only: D9713
*tizen-fix
Change-Id: I1b96ddc6e79af3c4100f5034741b9280f17c3c6b
Shinwoo Kim [Wed, 21 Aug 2019 06:42:08 +0000 (15:42 +0900)]
evas_gl_context: fix dereference after null check
From the following commit every *_push function has used
evas_gl_common_shader_program_get which could set prog to NULL.
38ad8fd Evas GL: Implement runtime generation and load of shaders
@@ -1781,28 +1618,26 @@ evas_gl_common_context_line_push(Evas_Engine_GL_Context *gc,
int r, int g, int b, int a)
+ prog = evas_gl_common_shader_program_get(gc, SHD_LINE, NULL, 0, r, g, b, a,
+ 0, 0, 0, 0, EINA_FALSE, NULL, EINA_FALSE,
+ mtex, mask_smooth, mw, mh, NULL, NULL, &masksam);
- prog = gc->shared->shader[shader].prog;
@@ -3114,20 +2919,23 @@ shader_array_flush(Evas_Engine_GL_Context *gc)
+ Evas_GL_Program *prog;
+
if (gc->pipe[i].array.num <= 0) break;
+ prog = gc->pipe[i].shader.prog;
setclip = EINA_FALSE;
pipe_done++;
gc->flushnum++;
GLERRV("<flush err>");
- if (gc->pipe[i].shader.cur_prog != gc->state.current.cur_prog)
+ if (prog && (prog != gc->state.current.prog))
This is pretty unexpected and unusual case should not exist.
But I would like to update evas_gl_context to make system reliable.
@tizen_fix
Change-Id: Iacdb3f60d73b9fdbf44e129c74da7f034ba3ce7b
Jaehyun Cho [Fri, 23 Aug 2019 09:23:43 +0000 (18:23 +0900)]
efl_mono: update meson.build to build efl_mono_model_internal.c
To build efl_mono_model_internal.c, efl_mono_model_internal.eo and
efl_mono_model_internal_child.eo are built by eolian_gen.
Change-Id: I2bf6aaf6879925c4e3fd9131243b1995e5835942
wonki kim [Fri, 23 Aug 2019 11:22:03 +0000 (11:22 +0000)]
Revert "elm_popup: Fix text is not shown in small toast popup."
This reverts commit
f4b9fc277730914b59d29597bd07688ee7fd3313.
Change-Id: Ic7069869707a6675621aefa6991eeff581d743f4
Wonki Kim [Fri, 23 Aug 2019 10:54:53 +0000 (19:54 +0900)]
Revert "edje/style: refactor to avoid creating temporary strings."
This reverts commit
b4456107d12da288a794073b4edb962d7f224b29.
Change-Id: I73db100a08973cd09912d2b6d5da783e6cccd948
Mike Blumenkrantz [Thu, 22 Aug 2019 12:37:14 +0000 (08:37 -0400)]
efl_ui/image: explicitly mark 'drop' event @beta
this should probably be removed altogether but until dnd exists ensure
that this doesn't accidentally get released
ref T7873
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9705
Mike Blumenkrantz [Thu, 22 Aug 2019 12:35:44 +0000 (08:35 -0400)]
efl_ui/image: scalable -> efl.gfx.image::can_up/downscale
this removes the property from the image class to use the properties
from the interface
ref T7873
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9704
Mike Blumenkrantz [Thu, 22 Aug 2019 12:26:06 +0000 (08:26 -0400)]
efl/gfx.image: add can_upscale and can_downscale properties
these are more granular properties which allow blocking of image
upscaling and/or downscaling regardless of scale hint
ref T7875
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9703
Mike Blumenkrantz [Wed, 21 Aug 2019 19:27:53 +0000 (15:27 -0400)]
efl/gfx: redo image scale_type enum
this is ideally a bit more clear and flexible than the previous enum names
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9691
Mike Blumenkrantz [Wed, 21 Aug 2019 16:59:30 +0000 (12:59 -0400)]
efl_ui/image: implement efl.gfx.arrangement content_align to replace align prop
this is effectively the same thing. no uses of this functionality exist anywhere
ref T7873
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9688
Mike Blumenkrantz [Wed, 21 Aug 2019 16:53:46 +0000 (12:53 -0400)]
efl_ui/image: remove geometry from internal struct, clean up geometry methods
these methods exist only to trigger efl_canvas_group_change on geometry
change and apply image sizing policies, there's no need to duplicate existing
functionality as well
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9687
Mike Blumenkrantz [Wed, 21 Aug 2019 16:31:35 +0000 (12:31 -0400)]
efl_ui/image: add group_calc implementation, use deferred calc for sizing
this changes image internals to use the more standardized group_calc method
of sizing and causes all previous operations on the image which would have
resulted in an immediate recalc to instead defer the calc until the
group_calc function is called
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9686
Mike Blumenkrantz [Wed, 21 Aug 2019 16:22:21 +0000 (12:22 -0400)]
elm: fix macro for group_calc function naming
this should be efl_canvas_group_group_calculate to match eolian function
naming
no functional changes
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9685
Mike Blumenkrantz [Wed, 21 Aug 2019 13:38:39 +0000 (09:38 -0400)]
efl_ui/popup: remove text_alert class
this can now be done by simply calling
efl_ui_widget_scrollable_content_scrollable_text_set on an alert popup
tests have been adjusted for this
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9677
Mike Blumenkrantz [Wed, 21 Aug 2019 13:32:09 +0000 (09:32 -0400)]
efl_ui/scrollable_content: add scrollable_text property
this creates a label with a scroller and manages sizing calcs
note that efl_ui_text cannot be used here because its sizing calc model
is incompatible with efl
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9676
Mike Blumenkrantz [Tue, 20 Aug 2019 17:14:00 +0000 (13:14 -0400)]
efl_ui/popup: remove scroll_alert class
this can now be done by simply calling efl_ui_widget_scrollable_content_set
on an alert popup
tests have been adjusted for this
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9675
Mike Blumenkrantz [Tue, 20 Aug 2019 17:11:21 +0000 (13:11 -0400)]
efl_ui: add scrollable_content mixin
this allows content to be set with a scroller that automatically handles
its own sizing calcs so that widgets/apps don't have to
@feature
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9674
Jaehyun Cho [Fri, 23 Aug 2019 03:46:10 +0000 (12:46 +0900)]
efl_ui_spotlight: add null check for manager stack data
Like other functions, null check for manager stack data is added before
referencing manager stack data.
Jaehyun Cho [Fri, 23 Aug 2019 02:41:17 +0000 (11:41 +0900)]
test_ui_spotlight: remove dead default in switch
subhransu mohanty [Fri, 23 Aug 2019 02:11:05 +0000 (11:11 +0900)]
edje/style: Enable lazy computaion of styles.
Summary:
Instead of updating all the styles in an Edje_File just mark them
dirty so that subsequent call to style will recompute the new style before
returning the style.
Reviewers: ali.alzyod, Hermet, raster, cedric
Reviewed By: cedric
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9697
subhransu mohanty [Fri, 23 Aug 2019 02:09:42 +0000 (11:09 +0900)]
ecore_con/memleak: due to checking refcount using postfix decrement operator
Reviewers: Hermet, raster, cedric
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9716
Carsten Haitzler (Rasterman) [Thu, 22 Aug 2019 13:03:07 +0000 (14:03 +0100)]
emotion - webcam fix deletion of webcam still left in webcam list
we may destroy webcams but leave them in the list. this fixes that by
removing them from our global list when we do unref to 0.
@fix
Carsten Haitzler (Rasterman) [Thu, 22 Aug 2019 10:00:59 +0000 (11:00 +0100)]
edje - signal callback matches/patterns try fix number 2
so i think there was also another bug as i saw this again now. this
should hopefully plug the signal/mtach memory bugs now by removing
and adding back to hash as the hash key relies on the memory addresses
of signal/src in the matches array which change on realloc. a bit
brute-forceey but... better than crashes.
@fix