Commit Graph

63346 Commits

Author SHA1 Message Date
Lauro Moura e7510f6770 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
2019-08-23 15:03:31 -04:00
Yeongjong Lee 471032d69d 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
2019-08-23 15:03:31 -04:00
Carsten Haitzler 8145d90ce7 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
2019-08-23 19:36:42 +01:00
Carsten Haitzler a7273fc864 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
2019-08-23 19:36:42 +01:00
Mike Blumenkrantz 42d10b84be 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 2cd4d67109 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
2019-08-23 13:38:33 -04:00
Yeongjong Lee b60e949fb6 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz e2b6e18577 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 235e2dbed0 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 81962dfa1b 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz f9bd541e37 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 42704eccc7 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
2019-08-23 13:38:33 -04:00
Mike Blumenkrantz 0b8605c35d 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
2019-08-23 13:38:32 -04:00
Yeongjong Lee 6b3d430f12 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
2019-08-23 13:38:32 -04:00
Yeongjong Lee 17b0a2634c 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
2019-08-23 14:33:20 -03:00
Felipe Magno de Almeida 2f0a20b688 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
2019-08-23 14:28:00 -03:00
Lauro Moura b4a6444473 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
2019-08-23 14:26:24 -03:00
Lauro Moura f3d9238e15 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
2019-08-23 14:17:44 -03:00
Felipe Magno de Almeida 1aa05ab41b 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
2019-08-23 14:07:09 -03:00
junsu choi 8aae656b80 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
2019-08-23 18:08:39 +09:00
Mike Blumenkrantz 4acb83c8d9 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
2019-08-23 07:33:59 +02:00
Mike Blumenkrantz e84ecd9552 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
2019-08-23 07:33:58 +02:00
Mike Blumenkrantz d50fdce4d3 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
2019-08-23 07:33:57 +02:00
Mike Blumenkrantz ad0c805545 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
2019-08-23 07:33:56 +02:00
Mike Blumenkrantz 81183e0423 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
2019-08-23 07:33:55 +02:00
Mike Blumenkrantz 7442ae7092 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
2019-08-23 07:33:54 +02:00
Mike Blumenkrantz 28fff16739 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
2019-08-23 07:33:53 +02:00
Mike Blumenkrantz 01fc7eae35 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
2019-08-23 07:33:52 +02:00
Mike Blumenkrantz f64a0966dc 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
2019-08-23 07:33:51 +02:00
Mike Blumenkrantz 1d2d15bbf8 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
2019-08-23 07:33:50 +02:00
Mike Blumenkrantz 9d8735caf7 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
2019-08-23 07:33:49 +02:00
Mike Blumenkrantz 1a517b4c2d 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
2019-08-23 07:33:48 +02:00
Jaehyun Cho d4d1826b47 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.
2019-08-23 13:51:44 +09:00
Jaehyun Cho a3b3f8d95a test_ui_spotlight: remove dead default in switch 2019-08-23 13:51:19 +09:00
subhransu mohanty 1e079a7568 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
2019-08-23 11:11:05 +09:00
subhransu mohanty 862a460e7f 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
2019-08-23 11:09:42 +09:00
Carsten Haitzler 239ebbbc2c 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
2019-08-22 19:53:03 +01:00
Carsten Haitzler 456419f468 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
2019-08-22 19:53:03 +01:00
WooHyun Jung ebb685aae1 efl_ui_slider_interval: cut off the dependency with efl_ui_slider
efl_ui_slider_interval is totally different widget from efl_ui_slider.
Now, it extends efl_ui_layout_base and implements all efl_ui_slider's
functionalities by its own.
This class needs to be marked to @beta till reviewing whole class
definitions again.

@ref T7893

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9696
2019-08-22 15:36:38 +02:00
subhransu mohanty 10b2f65e60 elm/config: avoid unnecessary elm cache flush
Summary:
in config_apply() we load the deafult theme and then
elm_recache() just throws it away.

so just move it before config_apply for time being.
We need to revisit to check if we really need that elm_recache() in that
function or not.

Reviewers: Hermet, raster, cedric, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9700
2019-08-22 08:14:14 -04:00
Yeongjong Lee e8a32d72c6 efl_ui_widget: correct the comparison parameter in scroll_freeze_pop
Summary:
It is copy/paste error.
See also, e7986cc646

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9695
2019-08-22 07:17:03 -04:00
junsu choi 167e3c4c29 edje_cc: Fix always true condition.
Summary:
   The condition at 742 line is always true. So I fix it.
   If action is not ACTION_STOP or ACTION_TYPE_SCRIPT, go to continue.

Test Plan: N/A

Reviewers: bu5hm4n, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, kimcinoo, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9667
2019-08-22 07:15:30 -04:00
subhransu mohanty cce73a2b4b edje/style: fix memory leak because of typo.
Summary:
We already have a escaped string for the font_source so
this code is unnecessary.

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9698
2019-08-22 14:22:23 +09:00
Hermet Park b19ea5cf53 examples: shut up edc build warnings.
This might not be proper fix (at least they are fine by me),
if these textblocks actually have something wrong sizing.
2019-08-22 14:03:51 +09:00
Hermet Park 53854e1f2d elementary: remove an unused variable. 2019-08-22 13:21:40 +09:00
Hermet Park 31d0d1ffd3 efl shape: add missing interpolation of miterlimit property. 2019-08-22 13:12:19 +09:00
junsu choi 34dc52dbd2 efl_canvas_vg_shape/ector_software : Set and use stroke miterlimit
Summary:
efl_canvas_vg_shape is set to miterlimit with Efl.Gfx.Shape.stroke_miterlimit
and pass the value from rasterizer to freetype.

NOTE: The default value is 4. It only refers to the standard of web svg.
      https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit

Depends D9657

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Subscribers: cedric, #committers, #reviewers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9665
2019-08-22 13:00:01 +09:00
junsu choi a569a4eb27 vg_common_json: Support stroke miterlimit
Summary:
Apply miterlimit received from the node to vg_shape.

Depends D9657
        D9665

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9666
2019-08-22 12:51:53 +09:00
junsu choi fa8f20338d efl_gfx_shape: Add stroke_miterlimit property
Summary:
Sets limit on ratio of miter value of the stroke join.
If a miter join exists, it must be supported.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9657
2019-08-22 12:45:09 +09:00
junsu choi ca8df7067c ector_software_rasterizer: Change default value of stroke linejoin
Summary:
SW_FT_STROKER_LINEJOIN_MITER is same SW_FT_STROKER_LINEJOIN_MITER_VARIABLE
We pass miterlimit values in fixed-point type.
Therefore, change the default value to SW_FT_STROKER_LINEJOIN_MITER_FIXED.

Test Plan: N/A

Reviewers: Hermet, smohanty, kimcinoo

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9656
2019-08-22 12:38:57 +09:00