otherwise they will adjust the parent property, and we do not want to
have that.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8737
when a widget is marked internal, widgets can use that to behave in
certain ways. Box for example uses this to not alter the widget_parent
property anymore. Which is usefull for when boxes are used internally.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8736
Summary:
if wl2_input logic gets a 'touch down' event from touch device,
input->focus.touch has set and it cause the logic handles every input as touch input
from that moment at _ecore_wl2_input_mouse_move_send function.
that is the reason why the patch(410c1f9587) has written for.
however, if there are multiple touch input devices,
clearing focus.touch variable without checking any conditions causes another problem.
I mean a case such as 'touch 1 down' -> 'touch 2 down' -> 'touch 1 up' -> 'touch 2 up'
at the moment 'touch 1 up' event executed, focus.touch would be cleared,
and 'touch 2 up' and following touch events will not be executed properly at the moment.
this patch counts a number of touch devices which are grabbing to clear focus.touch at proper time.
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8787
so sw rendering make call ecore drm2 calls from a thread - i didnt
know that. so this makes my fix for gl hangs add hangs in sw as a
result. this fixes that. not perfect but better. do need refcoutnts on
outputs to be perfect...
also sometimes the commits fail so retry a few times...
this still leaves us wth another hang that is a separate issue.
@fix
Summary:
this here brings one new top level target which is doc. It is not build
by default, and does rerun everything on every call.
ninja doc will create previews and run the doxygen command. After this
is done, a tarbal of the html & man will be created, latex is not added
for now, due to the unability to compile the resulting .tex files.
Nothing of the documentation is installed for now, if this would be
enabled, then every single ninja install would regenerate the whole
documentation again, which is quite a lot, and quite a pain (and
sometimes crashes)
While porting this over, i encountered a problem with *convert* the bug
report is linked in the comment.
fix T7781
Depends on D8690
Reviewers: zmike, segfaultxavi, cedric
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7781
Differential Revision: https://phab.enlightenment.org/D8561
Previously, mannual scale down logic was too primitive,
it copied pixel data each channels. Obviously, it's ineffective.
We know the general case - 4 bytes channel which is the most usage,
If loader copies data per four bytes, instructions could be reduced.
When I load scale-downed image(original 8k), about 0.02 secs was reduced by this.
elm_scroller_loop_set cannot be used for other widgets except scroller,
the API should be generic as this functionality can be implemented by other widgets as well.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8686
As we cannot pass NULL to strcmp (crashes when we do), we should check
for a valid sd->last_location here in order to avoid crashing. This
was detected in Enlightenment Screen Settings dialog by selecting a
monitor in the hoversel drop down.
@fix
lets assume a user passes in a string like "blabla%dehydra" then %d will
be resolved by snprintf. Which is probebly not what we want. This
resolves this case and ensures that eina_vpath_resolve does not get
piped through snprintf
Reviewed-by: Dave Andreoli <dave@gurumeditation.it>
Differential Revision: https://phab.enlightenment.org/D8753
Before this patch we were directly sending this event on the Efl.CompositeModel, but they
actually might contain an Efl.Model in the event child field. That Efl.Model wouldn't have
been converted before to an Efl.CompositeModel exposing incoherence from the user of
the object point of view. This patch fix that behavior.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D8661
This is usefule to allow timeout future to be propagated through eina_future_all
or eina_future_race for example.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8655
Summary:
it appears they have not been part of this before. Now they are, and two
broken examples are fixed.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: segfaultxavi, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8735
Summary:
Avoid using "Item" since this is used by Grid and List items, or "Child" since
this is what Efl.Object uses.
Also clarify what each container does.
Test Plan: Only changes in docs. Everything still builds and passes tests.
Reviewers: bu5hm4n, cedric, zmike
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8720
Summary:
i forgot this before. efl_gfx_arrangement.eo needs to be in the list of
files here.
Reviewers: segfaultxavi, cedric, zmike
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8721
otherwise we start to delete callbacks etc. on a widget that we do not
have.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8706
if a child is removed from grid, the parent should not be grid anymore.
Additionally, group members should also be removed, or random deletions
of widgets could happen.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8705
grid only accepts grid items, not general widgets. If a wrong type is
passed in, a error should be printed.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8704
efl_pack defines behaviour for indexes greater and smaller than 0 and
the actaul size of items. With this commit the defined lange -count <->
count -1 now works as expected.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8703
the APIs in pack should only allow a single registeration of a item.
And when this item is registered, the parent should be set accordingly.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8702
sooo, this test suite is testing interfaces. And when a content needs to
be passed into the API, a lightweight version of a widget will be passed
in. But sometimes implementations *do* requires special classes, they
can now be specified with a custom-mapping in json.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D8701
the pack interface is a general interface for how we pack things into a
container. the align and padding property has less to nothing to do with
this. Hence this commit splits the two properties into theire own
interface.
fix T7825
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8699
If efl_ref() is called to child, then child may not be deleted when
container is deleted.
This causes _on_child_del() is called after container is deleted and it
causes crash if container data is accessed in _on_child_del().
To resolve the above issue, all callbacks of child are deleted not to
call _on_child_del() after container is deleted.
Summary:
1. src_event_in should not be initialized when grabbed object exists.
2. when object of pointer grab is deleted and if object has proxy,
proxy object of pointer grab should be deleted together.
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: zmike, cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8698
Summary:
In case of the ref count bigger than 1.
That means the eo_theme ref count is 2.
In that case we need to call efl_unref when theme freed.
other case we can delete eo_theme.
@fix
Reviewers: Jaehyun_Cho, woohyun, Hermet
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D8714
Instead of using old way for linear search for Escape Strings or Escape values, we will sort these values and string in compile time then binary search them.
In simple words:
Instead of having one array with pair of {escapeChar,escapeValue} and linear search it.
We will have two arrays with pair of {escapeChar,escapeValue}, one with escapeChar Sorted, and one with escapeValue sorted.
and we will use one of the array to binary search escape chars, and use the other to binary search escape values,
1- This will increase the speed for the search a lot for both Escape characters and Escape values.
2- Make code more easy to understand and trace
3- This will also fix bug for
```
int value;
const char * value = evas_textblock_string_escape_get("",&value)
//because of some unhanded case in previous code, this will return "&qout;" , which is first element in predefined escape character array
```
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8610
There some engine option defines could be generalized from the window system
since those options could be used through wayland, x11 both, and probably so on.
This is a prepartion patch to support msaa in wayland.
ui window needs to deliver engine options (stencil, depth, msaa bits)
to evas engine side, ecore_evas_wayland_egl should have the argument to pass.
for now the widgets which are tested are encoded in the test files where
the tests are implemented. This is for now done in a simple json format,
just for the sake of simplicity.
ref T7815
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8685
env is used for the program env, and should not be used in any other
form here.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D8690