platform/upstream/efl.git
5 years agoefl_ui/alert_popup: always create button layout
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

5 years agomvvm: Fix Layout_Factory property bound event
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

5 years agofix build: remove deleted header file
Marcel Hollerbach [Thu, 29 Aug 2019 13:27:07 +0000 (15:27 +0200)]
fix build: remove deleted header file

- sorry.

5 years agoeolian: disallow legacy keyword in enums in stable api
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.

5 years agoeolian: reverse keywords '@transfer' and '@by_ref'
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.

5 years agoeina_test: resolve build warning
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

5 years agoefl_ui_tab_pager: make this compatible with Efl.Pack_Linear test suite
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

5 years agoefl_ui_tab_pager: remove the setter for tab_bar
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

5 years agoefl_ui_tab_bar: migrate to Efl.Pack_Linear
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

5 years agoefl_ui_tab_bar: implement efl.ui.single_selectable
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

5 years agoefl_ui_tab_page: remove part
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

5 years agoefl_ui_tab_bar: remove update event
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

5 years agoefl_ui_*_default_item: improve docs
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

5 years agoefl_ui_grid/list: update single class doc
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

5 years agointroduce efl_ui_tab_bar_default_item
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

5 years agoeolian: drop @cref
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.

5 years agoevas_textblock: allocator use same heap if it is large enough
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

5 years agotests: eldbus: fix heap use after free error detected by address sanitizer
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

5 years agoefl_ui_radio_group: migrate to Efl.Ui.Single_Selectable
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

5 years agoefl_ui_layout: remove efl.end
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

5 years agoefl_ui_text: theme rename efl.end -> efl.extra
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

5 years agoEdje: ease the warning level.
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.

5 years agoefl_ui : add efl.extra part as layout swallow part list.
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

5 years agoefl_object: set @beta to name_find
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

5 years agotests/ecore_wl2: Skip aux_hints_supported test if not run in Enlightenment
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

5 years agomono-docs: Remove useless semicolon from doc comments
Xavi Artigas [Wed, 28 Aug 2019 11:42:28 +0000 (13:42 +0200)]
mono-docs: Remove useless semicolon from doc comments

5 years agoEfl.Pack.Layout docs: remove refs to protected methods from public methods
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

5 years agopyolian: Update after event and binbuf keywords
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

5 years agoeolian_aux: this must be recursive
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

5 years agoedje: refactor _edje_object_file_set_internal() part 2.
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

5 years agoefl_canvas_vg_object/evas_object_vg: Change to legacy naming rule.
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

5 years agoefl_ui_layout: restore sizing_eval logic to keep backward compatibility 81/213781/2
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

5 years agoelm_slider: change the default value for indicator_show 52/213852/1
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

5 years agoecore_wl2: set opaque state while changing alpha or transparent value of window 53/213753/1
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

5 years agoeldbus: Temporary remove critical log level. 99/213699/1
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

5 years agoecore_imf: Modified to allow sending negative coordinate 08/213508/2
InHong Han [Fri, 6 Sep 2019 05:26:10 +0000 (14:26 +0900)]
ecore_imf: Modified to allow sending negative coordinate

Change-Id: Iaab502563b17f642a9e4bdfcb163ae65db0bab13

5 years agoelm perf_test: fix warning of implicit conversion of floating point 04/213604/2
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

5 years agoefl_ui_spotlight: fix warning of implicit conversion of floating point 03/213603/1
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

5 years agoRevert "efl.spec: Enable pulseaudio." 82/213582/2
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>
5 years agoevas_events: do not to cause abort by input event feed from post event callback 50/213550/3
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

5 years agoector: code refactoring. 31/213531/1
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

5 years agoeldbus_proxy: Prevent dangling pointer. 96/213496/1
JunsuChoi [Fri, 6 Sep 2019 02:25:22 +0000 (11:25 +0900)]
eldbus_proxy: Prevent dangling pointer.

Change-Id: Iea7fbe36b983180a07a7e66a206fb6d7df21a625

5 years agoedje_edit: Prevent dangling pointer. 95/213495/1
JunsuChoi [Fri, 6 Sep 2019 02:08:59 +0000 (11:08 +0900)]
edje_edit: Prevent dangling pointer.

Change-Id: Id1b04acab9f48b762fada91f12a1b2c57b894a8d

5 years agocanvas 3d: remove potential dangling pointer. 92/213492/1
Hermet Park [Thu, 5 Sep 2019 09:09:36 +0000 (18:09 +0900)]
canvas 3d: remove potential dangling pointer.

Change-Id: I0815fd4da50838dd28a554fa9c3d151aa57e86ba

5 years agoethumb: fixed a potential dangling pointer. 91/213491/1
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

5 years agoefl.spec: Enable pulseaudio. 04/213404/3 accepted/tizen/unified/20190905.232221 submit/tizen/20190905.064609
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>
5 years agoector: fix a wrong target buffer size. 58/213358/1
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

5 years agoefl_ui_widget: reorder constructor code to fix event callback registration issue 39/213339/1
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

5 years agovg_common_svg : Initialize "display" attribute 88/213288/2
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

5 years agofreetype: Prevent lose of data when fixed point divide calculation. 87/213287/2
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

5 years agoector gradient: ++ optmization. 79/213179/2
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

5 years agoector: remove unnecessary blending processing. 78/213178/2
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

5 years agoector: code refactoring. 77/213177/2
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

5 years agoedje/textstyle/optimization: Optimize code as textblock style handle logic changes. 80/213280/2
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

5 years agoelm_popup: calculate the label min size of popup before the popup group calculation 67/213267/1
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

5 years agoatspi: fix for missing highlight signal 35/213135/4
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

5 years agospec: enables PIE option for binary to enhance security 18/213218/1
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

5 years agoevas_vg: fix alpha animation bug in case of partial update 84/213184/1
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>
5 years agoevas_events: fix device information. 24/213124/1
Hosang Kim [Fri, 30 Aug 2019 10:37:15 +0000 (19:37 +0900)]
evas_events: fix device information.

Change-Id: I61747558716babd234ed4e594c1d84ebb1b2a3af

5 years agoefl_ui_widget: fix crash issue 26/213026/3 submit/tizen/20190830.034707
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

5 years agoedje/style/optimization: keep the color value instead of color strings in style tags. 25/213025/2
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

5 years agoatspi: fix for invalid event notification handling 47/212747/4
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

5 years agoedje/style: Fix issue from last migration. 06/213006/2
subhransu mohanty [Thu, 29 Aug 2019 07:24:48 +0000 (16:24 +0900)]
edje/style: Fix issue from last migration.

Change-Id: Ib88f1d44978d722268d35713e9d6fd899743c15a

5 years agoatspi: fix for not working proxy objects in atspi mode 87/212187/6
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

5 years agoedje/textblock: total refactoring after the upstream patches. 91/212991/1
subhransu mohanty [Thu, 29 Aug 2019 06:01:13 +0000 (15:01 +0900)]
edje/textblock: total refactoring after the upstream patches.

Change-Id: I39b1d82c6179e8cdee634d6d065e94dc6ad13ce0

5 years agoedje: refactor _edje_object_file_set_internal() function submit/tizen/20190828.061756 submit/tizen/20190829.043227 submit/tizen/20190829.094028 submit/tizen/20190830.023608
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

5 years agoefl_ui_position_manager: refactor data access
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

5 years agoefl_ui_range_display: Update docs
Xavi Artigas [Tue, 27 Aug 2019 14:38:12 +0000 (16:38 +0200)]
efl_ui_range_display: Update docs

5 years agoefl_ui_slider: refactor for better data flow and code readability
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

5 years agoefl_ui_widget: keep backward compatibility
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

5 years agoedje/load: pass Edje_File instead of Edje to _edje_extract_mo_files()
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

5 years agoefl_ui_bg: make legacy bg use legacy image
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

5 years agoedje/optimization: replace eina_list with eina_array.
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

5 years agobuild: fix EXE_SUFFIX define
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

5 years agoefl_pack_table: rename table_position to cell_column, cell_row
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

5 years agoEfl.Gfx.Image docs: whitespace and wording.
Xavi Artigas [Mon, 26 Aug 2019 15:25:10 +0000 (17:25 +0200)]
Efl.Gfx.Image docs: whitespace and wording.

5 years agothread example - add exit with parent flags
Carsten Haitzler (Rasterman) [Mon, 26 Aug 2019 13:28:44 +0000 (14:28 +0100)]
thread example - add exit with parent flags

5 years agoefl loops/threads - by defaylt tasks (exe and threads) exit with parent
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.

5 years agoefl_ui_collection: honor desktop vs. touch setting of elm config
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

5 years agoefl_input_clickable: add a flag for showing user interaction
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

5 years agoefl_ui_single_selectable: add properties and events
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

5 years agosuite_helpers: punsh some sanity into function names
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

5 years agoefl_ui_multi_selectable: add APIs for selecting
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

5 years agoefl_ui_item: add keybindings for selecting changes
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

5 years agoefl_ui_item: only fetch multiselection state if this is relevant
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

5 years agoedje/cache: Refactor _edje_cache_file_coll_open()
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

5 years agoeina/array: added eina_array_find() api to eina_array.
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

5 years agospinner_cxx_example: Fix use wrong api
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

5 years agoefl_ui_format: add null checking codes for eina_strftime in _do_format_string function
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

5 years agoedje/style: optimize style_update function.
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

5 years agoefl_ui_spin_button: rename editable to direct_text_input
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

5 years agoefreet - make efreet launch timeout configurable by env var
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.

5 years agoevas - scalecache - be a bit paranoid about images being set to null
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.

5 years agoscalecache - handle possible use after free with sci still in list
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

5 years agoelm: Fix Scrollable_Content namespace
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

5 years agoefl_canvas_text: remove unused Text_Style eo struct
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

5 years agoedje signal matches - try number 3 to try plug all the holes
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

5 years agoedje signal - let's not crash if something odd happens
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

5 years agoelm/config: always use default profile with EFL_RUN_IN_TREE
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

5 years agotests/edje: disable efreetd and ecore system modules in unit tests
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