We can not freeze the canvas in all scenario as we are sometime building widget fully
asynchronously which prevent holding events on the canvas. Still it is better to do it
for the case we can.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D10685
Summary:
from https://en.cppreference.com/w/c/memory/realloc
```
On success, returns the pointer to the beginning of newly allocated memory.
To avoid a memory leak, the returned pointer must be deallocated with free()
or realloc(). The original pointer ptr is invalidated and any access to it
is undefined behavior (even if reallocation was in-place).
On failure, returns a null pointer. The original pointer ptr remains valid
and may need to be deallocated with free() or realloc(). ```
So a temporary to test if `realloc` failed
then use the original pointer to use `free`.
`CID1404749`
`CID1404741`
Reviewers: lauromoura, felipealmeida, zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D10284
After 892c26f906, widget factories require
a widget to be their parents.
This commit updates C# tests and adds a warning message to elementary if the user does
not provide one.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10122
The idea of this widget is to provide to MVVM what Efl.Ui.Collection provide and
leverage the same shared logic for layout.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9958
This will enable better strategy in scheduling removal of object from the cache
instead of doing the throttling in the View as there is a better understanding
of the different layer the items are going to go through and where they will
consume time.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9955
In an attempt to make things more complex than they should have been,
I tried to change the inheritance tree on the fly and assume widget would
rely on autodeleting its children. This is way more complex of a solution
than to let the View actually release all the child manually and just set
the window as the default parent.h
Co-authored-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9953
constructing is called during construction time, building is called
after finalize. This is usefull for theme related properties that can
only be set after the theme is applied, which happens during finalize.
Being event allow the user of the factory to add more initialization
without needing to implement any new class.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D9952
The objects referenced are unreferenced when memory allocation fails in
elementary factory.
Differential Revision: https://phab.enlightenment.org/D9968
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
Check whether we called `efl_part_get` before.
This was happening to C# bindings (maybe a bug there?) but in any case a
failure is safer than a segfault.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9563
As we discussed in T7469 with V40,
efl_ui_model_connect
efl_ui_factory_model_connect
need to be renamed to
efl_ui_bind_property
efl_ui_bind_factory
for this work,
Efl.Ui.Model.Connect interface is changed as Efl.Ui.Bind,
and bind_property and bind_factory both method is supported by this interface.
bind_factory need Efl.Ui.Factory,
and Efl.Ui.Factory inheritted Efl.Ui.Bind,
so I little bit concerned about circular referencing, but so far, it works well.
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D7529
The Widget_Factory is in charge of creating any object that inherit from Efl.Ui.Widget Class.
If the style property is connected to a model property, it will fetch it and build the widget
with that style. This factory is to be used with every View.
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7704