When starting elementary_test, efl_ui_focus_object_child_focus_set is
getting passed NULL on startup because elm_test window has no parent.
This makes it difficult to debug and fix T7030 issues. In order to fix
the issue, this patch checks for a valid parent before calling
efl_ui_focus_object_child_focus_set so that it no longer gets passed
NULL on elm_test startup and we can set breakpoints on eo.c:637
without getting interrupted at startup.
ref T7030
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7677
Make order of code the same as the order of initialization. This avoids warnings
efl-mono: Fix lots of warnings in tests
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7633
Summary:
This is needed in order to support checking the correct regular classes
in efl#.
ref T7240
Depends on D7673
Test Plan: run ninja test / make check
Reviewers: q66, felipealmeida, segfaultxavi
Reviewed By: felipealmeida
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7240
Differential Revision: https://phab.enlightenment.org/D7674
This reverts commit ae65c64b8d.
It appears that abstract -> abstract enforcement is not needed anymore,
the other patches are fine. However, this one proposes a new object
which is not needed to exist.
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7676
Summary:
There are two proplem when switching scrollable mode.
1. a previous layout does not disappear.
2. internal evas_box(sd->bx) should set on "elm.swallow.content" part.
This patch hide remained previous layout and set evas_box to "elm.swallow.content"
part directly.
Thanks to arosis for reporting and sample code.
Test Plan: P262
Reviewers: arosis, eunue, Jaehyun_Cho
Reviewed By: eunue
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7667
It seems that use of eina_promise_data_get lead to mostly missuse. As it
duplicate other infrastructure which do not have the same problem. So better
remove it and if we need it back, we can just revert this patch later.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7578
this event is called on the app object when all windows have been destroyed
so that the app can decide to take further action, e.g., doing a deep clean of
cache or flushing configuration
@feature
ref T5494
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7593
as indicated by the accompanying FIXME, the byte ordering is inverted
for big endian so this should be #ifdef-ed
Reviewed-by: Chris Michael <Christopher Michael <cp.michael@samsung.com>>
Differential Revision: https://phab.enlightenment.org/D7592
a file which has no data is still a valid file and should be correctly
opened
fix T6562
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7647
Objects packed would end up invisible as they were not marked as
"_elm_leaveme". I also added some list safety code but I think the
entire pack API on flip is very much untested and unstable.
@fix
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7367
If you need data, use a efl_future_then as done in every case here to get the same feature.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7577
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7575
A better solution is to actually have no eina_promise_data_set/get at all.
This reverts commit ce56f32270.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7574
This serie of patch didn't address the core problem in the design of the
ownership of eina_promise_data_{set/get} usage. It is also redundant with
other infrastructure in eina_promise and so not necessary completely.
This reverts commit de2ec0559b.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7573
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7572
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7545
eina_promise_data_set is a misleading API and result in conflicted use by
multiple independent piece of code leading to bug and crash. It is also not
necessary and we can avoid using it completely.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D7543
The checks are only done for regular classes. It's also disabled
by default as too many methods would be unimplemented.
Use EOLIAN_CLASS_UNIMPLEMENTED_WARN=1 to enable the errors.
Summary:
This patch fixes a memory leak in _elm_config_profile_name_get() where
the data returned from eet_read is not being free'd, causing valgrind
to spit out:
```
==11610== 9 bytes in 1 blocks are definitely lost in loss record 16 of
572
==11610== at 0x483777F: malloc (vg_replace_malloc.c:299)
==11610== by 0x4D9DE5B: eina_strbuf_common_string_steal
(eina_strbuf_common.c:828)
==11610== by 0x4D5BC31: eina_binbuf_string_steal
(eina_binbuf_template_c.x:187)
==11610== by 0x58646A1: eet_read_cipher (eet_lib.c:1991)
==11610== by 0x5864775: eet_read (eet_lib.c:2022)
==11610== by 0x49CD4D2: _elm_config_profile_name_get
(elm_config.c:2207)
==11610== by 0x49CD5F8: _elm_config_profile_save (elm_config.c:2237)
==11610== by 0x49D2F6E: _elm_config_sub_init (elm_config.c:4467)
==11610== by 0x4AC0B7D: elm_quicklaunch_sub_init (elm_main.c:840)
==11610== by 0x4ABFE3A: elm_init (elm_main.c:409)
==11610== by 0x138143: main (test.c:1379)
```
@fix
Reviewers: raster, cedric, ManMower
Reviewed By: raster
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7646
It appears that NULL is not really usefull here, as this will lead to
errors later on. (void) will force the free function to just do nothing
and be later converted to a NOP.
Reviewed-by: Daniel Kolesa <daniel@octaforge.org>
Differential Revision: https://phab.enlightenment.org/D7629
Summary:
If widget use both hint_align(HINT_FILL) and hint_max together, there is no way
to set to hint_align. See, elementary_test -to 'efl.ui.box' -
"Button with a quite long text." button. you can control button position
using "Box align" slider, but this is not proper implementation. When there are
two widget which have hint_align(HINT_FILL) and hint_max, those positions are
determined by box_align rather than hint_align. it means widget align cannot be
set individually.
To solve this problem, this patch add hint_fill property. in order to avoid
conflict with legacy API named evas_object_size_hint_fill_set(), it only works
for EO widgets(made by efl_add).
Also, EFL_GFX_SIZE_HINT_FILL is removed.
@feature
Test Plan:
elementary_test -to 'efl.ui.box'
elementary_test -to 'efl.ui.table'
Reviewers: jpeg, Hermet, Jaehyun_Cho, raster, barbieri
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T3912
Differential Revision: https://phab.enlightenment.org/D7409
This reverts commit 6c4e49d970.
Hell no - this removes loading of system config profile. the entire
premise of the patch is wrong. it isn't reading the code at all... how
this got through review is rather amazing...
_set_a_without_b() makes a list clone internally, so cloning the list
first will leak a copy.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7622
I guess this used to do something...
Now it's a list that we never add anything to but frequently try to remove
things from.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7621
Not that these deletes ever walk long lists, but it's trivial to stop
doing it entirely.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7611
They're only ever on a single list, and never counted. inlist makes
more sense.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7610
We know the item is in there, so we can remove it directly.
Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7609
it seems that this class does not have a meaning when created just like
this. Other classes using it are even abstract, which means, this class
should also be abstract. This is done in order to support that a
abstract class should only contain abstract
ref T7240
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7601
the efl_canvas_group should be abstract in order to support other
classes which are inheriting from it, which are abstract. This is done
in order to support only abstract parents from abstract classes.
ref T7240
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D7600
There is no point in having the object instancable. However, in order to
support bindings, we need to ensure that every abstract does have only
abstracts as inherit-parents, thus making this class abstract.
ref T7240
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7599
so drop taregts liek rage stopped working - something was wrong with
type handling and fetching selections at all and so on... i've kicked
it back into working again. it's not perfect but it's improved. at
least simple thgins like being a dnd target for dnd from a filemanager
work again which is probably the biggest use case.
@fix
Summary: Without this a new overlay content aren't displayed into the map widget.
Reviewers: zmike, devilhorns
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D7457
If EFL is built with tslib support, which is used by ecore_fb, then we
need to add a dependency on tslib else the build will fail to compile
(undefined reference to ts_open function).