subhransu mohanty [Thu, 29 Aug 2019 18:31:52 +0000 (14:31 -0400)]
edje/optimization: refactor edje_color_class_set() api.
Summary:
During _elm_config_color_overlay_apply() application can call this api
100's of time depending on how many overlay it wants add . As each color_class
set triggers the global color class apply chain 3 times (for color , outline and shadow)
just club them once and emit single color_class,set event.
Reviewers: Hermet, ali.alzyod, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9784
subhransu mohanty [Thu, 29 Aug 2019 14:07:25 +0000 (10:07 -0400)]
edje/style: append file prefix to textblock_style api that affects on file level
Summary:
All those api's are working on the Edje_file level so by appending the file prefix
and changing the argument to Edje_File leads to easy maintainability.
Depends on D9776
Reviewers: Hermet, ali.alzyod, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9777
Marcel Hollerbach [Thu, 29 Aug 2019 14:06:42 +0000 (10:06 -0400)]
elm_systray: add back beta constructor
Summary:
1/2 year ago we have removed the automatic generation of legacy
headers. In this go we also removed the installation of legacy eo beta
APIs, as they definitly should not be used. However, there is the legacy
systray API which does not depend directly on eo. Apps could use this
before due to specifying the BETA define, now they only can call the
API, but cannot construct the object they need. This adds this back
under the beta tag, so those apps can continue working.
I am not sure myself if i like the commit or not, its a beta thing, why
should we fix it. However, Its quite a easy thing to add such a
constructor method for us, and enables app to continue working.
Reviewers: zmike, segfaultxavi
Reviewed By: zmike
Subscribers: jf_simon, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9757
Carsten Haitzler (Rasterman) [Thu, 29 Aug 2019 16:29:38 +0000 (17:29 +0100)]
elm config -> allow people to set desktop entry and magnifier config
Carsten Haitzler (Rasterman) [Thu, 29 Aug 2019 16:15:32 +0000 (17:15 +0100)]
elm config - add config api's to set desktop style entry flag/mode
Carsten Haitzler (Rasterman) [Tue, 27 Aug 2019 22:05:18 +0000 (23:05 +0100)]
evas -gl engines - buffer age - bring back fix for changing buffer age
so we USED to... if buffer age changed between frames, force a full
redraw and add that to the pipeline... somehow someone removed that.
this brings that back as it's really needed to deal with updating
correctly.
@fix
Xavi Artigas [Thu, 29 Aug 2019 15:44:16 +0000 (17:44 +0200)]
mono-docs: Update DocFX version and use online symbol lookup
Version 2.45 of DocFX seems much much faster than previous 2.40, but could just
be a matter of stale caches. Anyway, no breakages have been detected.
Using an online symbol resolution server (https://xref.docs.microsoft.com)
adds some more links for .NET symbols (and no noticeable slowdown).
Mike Blumenkrantz [Thu, 29 Aug 2019 13:26:15 +0000 (09:26 -0400)]
efl: implement efl.file::unload for classes that implement load
unload is a crucial method for classes that implement load, as this is
the method which is called during e.g., efl_file_simple_load() when
a new file is specified in order to destroy the previous object data
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9786
Mike Blumenkrantz [Wed, 28 Aug 2019 13:47:25 +0000 (09:47 -0400)]
efl_ui/alert_popup: always create button layout
this can be safely done in the constructor without issues now
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9785
Lauro Moura [Tue, 27 Aug 2019 23:58:06 +0000 (23:58 +0000)]
mvvm: Fix Layout_Factory property bound event
We should keep the key alive at least until the `property,bound` event
is emmitted.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9759
Marcel Hollerbach [Thu, 29 Aug 2019 13:27:07 +0000 (15:27 +0200)]
fix build: remove deleted header file
- sorry.
Daniel Kolesa [Thu, 29 Aug 2019 13:05:24 +0000 (15:05 +0200)]
eolian: disallow legacy keyword in enums in stable api
This also marks a bunch of users of that as beta, as they were
effectively beta.
Daniel Kolesa [Thu, 29 Aug 2019 12:43:41 +0000 (14:43 +0200)]
eolian: reverse keywords '@transfer' and '@by_ref'
The '@transfer' keyword is a clearer replacement for '@owned'.
It will be specified on params/returns/... to specify that
ownership will be transferred between caller/callee.
Ali Alzyod [Thu, 29 Aug 2019 07:44:22 +0000 (07:44 +0000)]
eina_test: resolve build warning
Differential Revision: https://phab.enlightenment.org/D9781
Marcel Hollerbach [Fri, 23 Aug 2019 17:34:53 +0000 (19:34 +0200)]
efl_ui_tab_pager: make this compatible with Efl.Pack_Linear test suite
the testsuite now is happy with the behaviour in there. Additionally,
the internals are cleaned up, fields that are not used anymore are
deleted, and the logic maintaining them as well.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9732
Marcel Hollerbach [Fri, 23 Aug 2019 17:16:56 +0000 (19:16 +0200)]
efl_ui_tab_pager: remove the setter for tab_bar
the setter of the tab_bar here is quite useless. If you set it after
something else was set, the item situation is not clear anymore, there
is more in the spotlight than in the bar. You cannot use the widget
without tab bar. So the logical consequence for me was that the pager
create the tab bar by itself, and you can just access it via a getter.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9731
Marcel Hollerbach [Fri, 23 Aug 2019 16:20:32 +0000 (18:20 +0200)]
efl_ui_tab_bar: migrate to Efl.Pack_Linear
with pack linear it is a lot more convinient and error prover to add
items to this widget, this also comes with the pack test suite, which
verifies that this behaviour is not broken. Additionally we have fewer
APIs that a user has to learn.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9730
Marcel Hollerbach [Fri, 23 Aug 2019 15:51:49 +0000 (17:51 +0200)]
efl_ui_tab_bar: implement efl.ui.single_selectable
this is for now the simples way IMO, the one or another implementation
thing in efl_ui_tab_pager is a little bit clumsy, but that should be
able to be improved once Efl.Pack_Linear is implemented.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9729
Marcel Hollerbach [Fri, 23 Aug 2019 15:33:50 +0000 (17:33 +0200)]
efl_ui_tab_page: remove part
I introduced the property for item a few patches earlier. I do not want
to use a part for this, as i would have to implement the class twice
(Once in the part, once as a selfstanding object).
It would also be kind of weird to have code like:
efl_content_set(efl_part(efl_part("item"), "tab"),bla).
The purpose of this part also got a little bit replaced when the item
was introduced, as this is the central point of data for the tab bar
icon. So need for an additional editition part.
Reviewed-by: WooHyun Jung <woohyun0705@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9728
Marcel Hollerbach [Thu, 29 Aug 2019 12:31:24 +0000 (21:31 +0900)]
efl_ui_tab_bar: remove update event
Summary:
before the previous commit this was used to update the tab_bar icon.
However, this is not needed anymore, as the item stuff can directly be
updated. So I do not see a reason for this event anymore.
Reviewers: zmike, segfaultxavi, cedric, woohyun, bowonryu
Reviewed By: woohyun
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9727
Marcel Hollerbach [Thu, 29 Aug 2019 12:13:46 +0000 (14:13 +0200)]
efl_ui_*_default_item: improve docs
Summary:
ref T7717
Depends on D9782
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7717
Differential Revision: https://phab.enlightenment.org/D9783
Marcel Hollerbach [Thu, 29 Aug 2019 12:13:42 +0000 (14:13 +0200)]
efl_ui_grid/list: update single class doc
Summary:
its not much more, but a little bit. All other information about the
features in this widget can be found via the implemented interfaces.
ref T7881
ref T7870
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7881, T7870
Differential Revision: https://phab.enlightenment.org/D9782
Marcel Hollerbach [Thu, 29 Aug 2019 12:07:47 +0000 (21:07 +0900)]
introduce efl_ui_tab_bar_default_item
Summary:
Tab bar used a direct layout to implement all this functionality by its
own. However, it seems that we can reuse a lot of object functionality
that is already part of efl.ui.item. With this commit the features that
are not part of Efl.Ui.Item are moved to Efl.Ui.Tab_Bar_Default_Item.
The tab bar is changed in a way that you do not need to pass the icon
and label by hand anymore, you can rather just pass the tab_bar default
item. Additionally, the item for a tab_page can now directly be
generated from a page.
This is the first commit in order to cleanup efl_ui_tab_bar, tab_page &
tab_pager. The goal is also to implement our interfaces for inserting
elements on those objects. So our common test suites can also be used.
Reviewers: zmike, segfaultxavi, cedric, woohyun, bowonryu
Reviewed By: woohyun
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9726
Daniel Kolesa [Thu, 29 Aug 2019 11:46:35 +0000 (13:46 +0200)]
eolian: drop @cref
In the end this was just a failed experiment that didn't turn
out to be practical. For now, revert back to ptr(const(T)) until
a proper replacement for pointer syntax is added.
Ali Alzyod [Thu, 29 Aug 2019 09:43:00 +0000 (18:43 +0900)]
evas_textblock: allocator use same heap if it is large enough
Summary:
allocator use same heap if it is large enough
I am also think to move this struct/functionality into common place, I think we can use it in other parts too
Reviewers: smohanty, Hermet, bowonryu, SanghyeonLee
Reviewed By: smohanty, SanghyeonLee
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9770
Stefan Schmidt [Thu, 22 Aug 2019 09:56:11 +0000 (11:56 +0200)]
tests: eldbus: fix heap use after free error detected by address sanitizer
Using the just unref'ed message in the call next line is not going to
end well.
==26321==ERROR: AddressSanitizer: heap-use-after-free on address 0x603000001210 at pc 0x7fc456fd37f5 bp 0x7fff37a00a50 sp 0x7fff37a00a40
READ of size 4 at 0x603000001210 thread T0
#0 0x7fc456fd37f4 in eldbus_message_path_get ../src/lib/eldbus/eldbus_message.c:193
#1 0x42f6ab in utc_eldbus_message_ref_unref_p ../src/tests/eldbus/eldbus_test_eldbus_message.c:877
#2 0x7fc456a27744 in srunner_run_tagged (/lib64/libcheck.so.0+0x6744)
#3 0x406a01 in _efl_suite_run_end ../src/tests/eldbus/../efl_check.h:282
#4 0x407357 in _efl_suite_build_and_run ../src/tests/eldbus/../efl_check.h:403
#5 0x407925 in main ../src/tests/eldbus/eldbus_suite.c:49
#6 0x7fc45685df32 in __libc_start_main (/lib64/libc.so.6+0x23f32)
#7 0x405d8d in _start (/home/stefan/EFL/efl/build/src/tests/eldbus/eldbus_suite+0x405d8d)
ref T8142
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9755
Marcel Hollerbach [Thu, 22 Aug 2019 13:06:22 +0000 (15:06 +0200)]
efl_ui_radio_group: migrate to Efl.Ui.Single_Selectable
with this the whole thing is migrated to single_selectable. The group is
added to the spec test suite. The elm_test case of radio_group now also has
a fallback option to demonstrate the usage of it.
This also fixes a broken testcase, where a flag was forgotten to be
checked.
ref T8024
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9706
Marcel Hollerbach [Wed, 28 Aug 2019 16:05:14 +0000 (18:05 +0200)]
efl_ui_layout: remove efl.end
someone decided it should be named efl.extra, the previous commits are
ensuring that.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9773
Marcel Hollerbach [Wed, 28 Aug 2019 16:04:34 +0000 (18:04 +0200)]
efl_ui_text: theme rename efl.end -> efl.extra
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D9772
Hermet Park [Thu, 29 Aug 2019 05:34:43 +0000 (14:34 +0900)]
Edje: ease the warning level.
We already take care the case, it's not so serious as to error.
SangHyeon Jade Lee [Thu, 29 Aug 2019 01:18:35 +0000 (10:18 +0900)]
efl_ui : add efl.extra part as layout swallow part list.
Summary:
efl.extra part is extra part of the layout swallow,
which can be generally used on overall layout object.
To be supported layout part infrastructures,
add efl.extra on layout_swallow_part[] list.
Depends on D9233
Reviewers: cedric, bu5hm4n, zmike, segfaultxavi
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9316
WooHyun Jung [Wed, 28 Aug 2019 12:23:00 +0000 (12:23 +0000)]
efl_object: set @beta to name_find
This property should not be used by application developers
with current status.
There is no way to trace child objects from parents, because
many codes are internally calling efl_parent_set.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9768
Christopher Michael [Wed, 28 Aug 2019 11:59:13 +0000 (07:59 -0400)]
tests/ecore_wl2: Skip aux_hints_supported test if not run in Enlightenment
This test will fail when run in all situations (weston, command line,
etc) except when run under Enlightenment, so add a small env check so
that it can be skipped if we are not running E.
ref T8016
Xavi Artigas [Wed, 28 Aug 2019 11:42:28 +0000 (13:42 +0200)]
mono-docs: Remove useless semicolon from doc comments
Xavi Artigas [Wed, 28 Aug 2019 09:18:06 +0000 (11:18 +0200)]
Efl.Pack.Layout docs: remove refs to protected methods from public methods
Lauro Moura [Wed, 28 Aug 2019 08:21:18 +0000 (10:21 +0200)]
pyolian: Update after event and binbuf keywords
Reviewers: q66, DaveMDS
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9626
Marcel Hollerbach [Wed, 28 Aug 2019 08:20:48 +0000 (10:20 +0200)]
eolian_aux: this must be recursive
Summary:
in order to get all callables, this must be recursive, otherwise deeper
callables are forgotten.
Reviewers: q66
Reviewed By: q66
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9421
subhransu mohanty [Wed, 28 Aug 2019 07:23:55 +0000 (16:23 +0900)]
edje: refactor _edje_object_file_set_internal() part 2.
Summary:
- split functionality into smaller helper class
_edje_process_colorclass() , _edje_process_sizeclass() and
_edje_process_physics() for easy redability and maintenance.
Reviewers: Hermet, zmike
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9764
JunsuChoi [Wed, 28 Aug 2019 05:09:13 +0000 (14:09 +0900)]
efl_canvas_vg_object/evas_object_vg: Change to legacy naming rule.
Summary:
Enum and object decleared in efl_canvas_vg_object_eo.legacy.*
use Efl_Canvas_Vg_* nameing rule.
This skips the definition of type declared in Efl.Canvas.Vg.Object class.
So change these to legacy names.
Test Plan: N/A
Reviewers: Hermet, smohanty, kimcinoo
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9718
Yeongjong Lee [Wed, 11 Sep 2019 06:56:29 +0000 (15:56 +0900)]
efl_ui_layout: restore sizing_eval logic to keep backward compatibility
Since sizing eval refactoring patch(
627eb17f1 ~
a25d8642b),
sizing_eval(group_calculate) is called during `main_loop_iterate` which means
if you call finction related to `size_get` before main_loop_iterate, it return
wrong value.
Test Plan:
```
#include <Elementary.h>
EAPI_MAIN int
elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Evas_Object *win = NULL;
Evas_Object *btn = NULL;
Evas_Object *label = NULL;
Evas_Object *scroller = NULL;
Evas_Coord vw = 0;
Evas_Coord vh = 0;
elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);
win = elm_win_util_standard_add("Greetings", "Hello, World!");
elm_win_autodel_set(win, EINA_TRUE);
evas_object_show(win);
scroller = elm_scroller_add(win);
label = elm_label_add(win);
evas_object_size_hint_min_set(label, 500, 150);
elm_object_content_set(scroller, label);
elm_scroller_child_size_get(scroller, &vw, &vh);
printf("vw : %d, vh : %d\n", vw, vh);
return 0;
}
ELM_MAIN()
```
vw, vh should be (500, 150).
@tizen_fix
Change-Id: I036b76379b7f0cc7ee6faa914ddd56e9f38504d7
WooHyun Jung [Mon, 16 Sep 2019 01:16:22 +0000 (10:16 +0900)]
elm_slider: change the default value for indicator_show
The default value for visibility of indicator should be kept as
EINA_FALSE to keep backward compatibility in Tizen.
@tizen_fix
Change-Id: I1019d54e9466953b09525244c8d069988e4a703c
Doyoun Kang [Wed, 11 Sep 2019 04:30:38 +0000 (13:30 +0900)]
ecore_wl2: set opaque state while changing alpha or transparent value of window
There was a bug that the window didn't call wl_surface_set_opaque_region
when its alpha or transparent value was changed.
@tizen_fix
Change-Id: I8fb11a6153a647835e1abc83486b021b2952d725
JunsuChoi [Tue, 10 Sep 2019 08:25:15 +0000 (17:25 +0900)]
eldbus: Temporary remove critical log level.
If eldbus_shutdown is called, if there is any connection information left,
it will print the critical log.
Critical logs may make abort depending on the situation.
eldbus_shutdown prints the connection information remaining after log output.
And eldbus_shutdown should call the rest of the shutdowns.
Tizen does not provide a APIs for user side interface of eldbus.
Therefore, if this problem occurs from the user's side, this is the area that the user cannot control.
So Temporarily lower the log level.
@Tizen_only
Change-Id: I9a56c49b89e67ef07cedd14c2cebcf64b4db33dd
InHong Han [Fri, 6 Sep 2019 05:26:10 +0000 (14:26 +0900)]
ecore_imf: Modified to allow sending negative coordinate
Change-Id: Iaab502563b17f642a9e4bdfcb163ae65db0bab13
Jaehyun Cho [Mon, 9 Sep 2019 05:46:01 +0000 (14:46 +0900)]
elm perf_test: fix warning of implicit conversion of floating point
The result of integral division is converted into floating point.
To fix the warning by assigning the result to Evas_Coord variable, type
cast is done.
Change-Id: Ic25c4c4889678b56c286d31586a60b1f66fab9d4
Jaehyun Cho [Mon, 9 Sep 2019 05:23:26 +0000 (14:23 +0900)]
efl_ui_spotlight: fix warning of implicit conversion of floating point
The result of integral division is converted into floating point.
To fix the warning by assigning the result to integer variable, type
cast is done.
Change-Id: Icfdd614bbd100e5b54b8ed09dcf272b4dfcbde90
Woochanlee [Mon, 9 Sep 2019 04:34:01 +0000 (13:34 +0900)]
Revert "efl.spec: Enable pulseaudio."
This reverts commit
363c3cf602945866659b1f9266874ac0c94303ad.
Change-Id: I5cd23ff07812721d55fcc39166d7ecdb74e03672
Signed-off-by: Woochanlee <wc0917.lee@samsung.com>
Jaehyun Cho [Fri, 6 Sep 2019 12:16:24 +0000 (21:16 +0900)]
evas_events: do not to cause abort by input event feed from post event callback
New input events feed from a post event callback may be risky because it
may cause recursive calls. (T3144)
However, it is extremely difficult to cause recursive calls in this
case.
Therefore, the CRI is replaced with the DBG not to cause abort by new
input events feed from post event callback.
e.g. "drag,start" callback of elm_interface_scroller is called in mouse
move post event. If app sets size of an widget in "drag,start" callback,
then it may cause mouse move event again in the mouse move post event
and the CRI log message is called. But since "drag,start" callback is
called only once, the mouse move event is not called recursively.
Change-Id: Id1aea1dd6916a4bd723564218acc17761556b9ad
Hermet Park [Fri, 6 Sep 2019 08:41:52 +0000 (17:41 +0900)]
ector: code refactoring.
Current vector drawing requires several methods for compositing,
it's shouldnt have only masking but other blending functions
such as matte in lottie, porter&duff in android, etc.
Previously we didn't specify this method name,
just reserved the options and now we started to define the methods
with ector_renderer_composite_method() with Efl.Gfx.VG_Composite_Method
instead of mask_set().
Change-Id: I36235c23e1da6d3f138096a9425c6173eca93b88
JunsuChoi [Fri, 6 Sep 2019 02:25:22 +0000 (11:25 +0900)]
eldbus_proxy: Prevent dangling pointer.
Change-Id: Iea7fbe36b983180a07a7e66a206fb6d7df21a625
JunsuChoi [Fri, 6 Sep 2019 02:08:59 +0000 (11:08 +0900)]
edje_edit: Prevent dangling pointer.
Change-Id: Id1b04acab9f48b762fada91f12a1b2c57b894a8d
Hermet Park [Thu, 5 Sep 2019 09:09:36 +0000 (18:09 +0900)]
canvas 3d: remove potential dangling pointer.
Change-Id: I0815fd4da50838dd28a554fa9c3d151aa57e86ba
Hermet Park [Thu, 5 Sep 2019 09:04:07 +0000 (18:04 +0900)]
ethumb: fixed a potential dangling pointer.
fixed by null handling.
Change-Id: I890789f907eb6778b2c3ccb9a83eca5832c3870a
Woochanlee [Thu, 5 Sep 2019 04:51:37 +0000 (13:51 +0900)]
efl.spec: Enable pulseaudio.
This is using in edc program(PLAY_SAMPLE) to play sound.
Change-Id: I34f3baa548a1e19225be2b817f601554e5e964c1
Signed-off-by: Woochanlee <wc0917.lee@samsung.com>
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.