in position manager grid and list, there are caches for the sizes, so
the access within placing the item is faster. The cache sometimes is
invalidated, which means, it must be rebuild before accessing it.
This commit is the result of reviewing all the accesses, that the
correct item is available.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10065
with this commit there are a few errors less, for the case a object is
destroyed while registered as a border element in the sub manager.
This adds a few more callbacks to the list of callbacks, however, i
could not messure a big performance impact.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10067
see the _eina_thread_internal() function
r = c->func((void*) c->data, eina_thread_self());
The second param has been missed in ecore_thread_worker, ecore_direct_worker functions.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10073
this was never pulled in from the build system and thus was never actually
defined
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10078
this is already handled by edje, all we really want here is a flag
to avoid more eo lookups internally when calling canvas_group_change
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10079
Summary:
- As we don't have C++17's [[fallthrough]], rely on GCC'd detection
of fallthrough comments.
See https://developers.redhat.com/blog/2017/03/10/wimplicit-fallthrough-in-gcc-7/
- Replaced some copy constructors with typecast operators.
Previously, a constructor with remove_const/remove_cv were used
to allow const iterators to be constructed from non-const iterators.
This had the side effect of making these constructors actual copy
constructors for non const lists. As we did not define other
special constructors/operators, the rule of 5 were violated for these
cases.
This commit replaces these constructors with actual typecast operators
that promote non const iterators to their const counterparts.
- Cast a Eina_Bool/bool narrowing conversion
- Add a missing break statement from D10050
Reviewers: zmike, brunobelo, felipealmeida
Reviewed By: brunobelo
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9934
fix warning when used in C90 code.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10077
division of integer by integer results integer.
this patch fix the case to make a division result more precise.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10039
the theme group for a class should match its class name
ref T8231
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D10052
EFL_RUN_IN_TREE is set for all binaries that are executed during build
time, and test suites. With this commit we are ensuring that we are not
sending messages during that time to journald, otherwise we would waste
a lot of time + we would create a lot of unneccessary log messages.
(eina test suite runtime with journald hook: 11.21s without journald
hook: 0.57s)
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10076
this is necessary in order to ensure that our headers are usable
ref T8228
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10036
The objects referenced are unreferenced when memory allocation fails in
elementary factory.
Differential Revision: https://phab.enlightenment.org/D9968
INFO is a way too verbose log domain, this lead to the fact that we
spammed journald before the first frame with ~200-300 messages
(depending on the setup) which is quite a lot. Additionally, this also
lead to the fact that we often TIMEOUT our own tests.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D10075
These might or might not have been freed already, depending on the
breaks form the above loop. Before we are having a use after free here
better check on it before free'ing another time.
Coverity IDs: 1402671, 1402701
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10047
The tbuf binbuffer has already been freed the line above, which means
this condition would always be true as !tbuf would always result in true.
As a result the rest of the function has never been executed.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10046
This temporary allocation is only used in this block and goes out of
scope when leaving. Make sure we free the resource before this happens.
Coverity ID: 1402653
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10045
First and last could have been uninitialized for their first use in some
cases. Make sure we set the x y coordinates to 0 to begin with.
Coverity IDs: 1401458, 1404747
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10044
Summary:
Based on the discussion T7883, there is no reason to keep those
interfaces separately. So, now, efl_ui_scrollable will support
the events and methods together.
@ref T7883
Reviewers: eagleeye, bu5hm4n, zmike, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T7883
Differential Revision: https://phab.enlightenment.org/D10072
If I pack a check without any api calls into a box,
then it doesn't have the hint_min size which is defined on check edc.
I guess there are problems on sizing logic currently, so this patch helps people
to test the problem.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10038
this used to be a thing in order to prevent widgets from spamming themselves
with recalcs during construction, but since that's no longer possible we
can remove this and also resolve an issue where legacy widgets failed
to correctly calculate their min size if no text was set
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10043
i am not sure why this should ever happen. However, a error here is
better than a access out of the bounds of the array.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10066
With this commit the API of load controller and efl.gfx.image is
implemented via composition, which makes eolians API checker happy
ref T7880
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10064
this is not needed here, and not permitted in a none beta context.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10069
at first i tried to implement that with composition, however, this does
not work, caused by the fact that the edje_object does not implement
efl.gfx.image nor load controller. which would mean i would have to
differentiate based on the type what kind of composition i would attach,
additionally, i would have to write an additional object which would
implement the correct behaviour.
To shortcut this overdone approach, this commit simply implements the
APIs in the image object.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10068
7321911468 moved the constructor to to
top, which leads to the fact that a few widgets cannot fetch the shared
data of the window. Which made the test suite fail.
With this commit we are just moving the sub_object_add after the
constructor, which fixes the flip crash.
This fixes the test suite
the object is not properly set up yet for child classes -0 parent like
the main evas object or smart obj havent been constructed yet so call
this really early, not in the middle of construction of an efl ui
widget...
this fixes a segv in elementary_test -to filp where it segv's on
object construction where evas object ->cur/prev are NULL (not set up
yet).
Summary:
C# language binding generates C# method name beginning with verb by
checking verb list in name_helpers.hh.
Some verbs used in eo method are missing in the current verb list. So
they are added into the verb list.
In this scheme, there is a problem that some words can be used as a verb
in some methods but they also can be used as a noun in other methods.
(e.g. drag_start as a verb / cursor_word_start as a noun)
So "start" and "scroll" are not added to verb list in this patch.
To resolve the above problem, we may need a new eo syntax to rename or
reverse the name in language bindings.
Test Plan: Check C# method names in .eo.cs files if the name begins with verb.
Reviewers: felipealmeida, SanghyeonLee, woohyun, Jaehyun_Cho, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10001
Summary:
Eolian supports reporting the defaults for parameters and return values, but in some
places we have been writing this information in the documentation instead.
This patch moves it to its proper place, where documentation generators can pick it up
and render it in a consistent manner.
Ref T8171
Reviewers: zmike, bu5hm4n, lauromoura
Reviewed By: lauromoura
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8171
Differential Revision: https://phab.enlightenment.org/D10051
Summary:
This also adds the information of default values in `parameter_def`.
This will help adding actual default parameter support in the C#
bindings.
Thanks to @segfaultxavi for improved formatting and escaping.
Fixes T8224
Reviewers: segfaultxavi, felipealmeida, brunobelo
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, segfaultxavi, #committers
Tags: #efl
Maniphest Tasks: T8224
Differential Revision: https://phab.enlightenment.org/D10050
Summary: Event name is applied in the past tense.
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10040
This should have been done with the first alpha, but there was a bug
preventing this. With commit 6960751c45
the problem is fixed and we can finally enable it.
what is happening is that a file gets announced through eio_model
listing code, at this point of time, the monitor does not yet know about
the file. If the file now gets deleted between the annoncing and the
learning of the file from the monitor, then the file got an ADD event,
but no DEL event. Which is a bug.
With this commit there is a new API which asks the monitor if the file
already has the knowledge about the files existance, or not. A few
monitors like win32 inotify or cocoa do not have context about the file
directly, if the OS is now having the same bug, then we are again in
trouble, however, we canot do anything about that. In the case of kevent
or poll, this asks the context of the monitor if the file is already
there.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10006
In the same vain as previous patch this will initialize more of the widget during its
creation and reduce unecessary recalc.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9949
With the new Efl unified infrastructure, we do delay a lot of the computation to finalize,
by filling the object information before finalize we reduce unecessary computation.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9948
there are situations where the entity is not ready yet when the initial
placing does happen. With this API you can tell the position manager
that the placing of the items can be reapplied at the entities are
availble now.
Differential Revision: https://phab.enlightenment.org/D9947