Commit Graph

19867 Commits

Author SHA1 Message Date
Stefan Schmidt 87c8e2718c efl_ui_selection_manager: free allocated memory after local use
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
2019-09-23 11:16:36 +02:00
Stefan Schmidt c02dcf6966 efl_ui_textpath: make sure variables are not uses uninitialized
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
2019-09-23 11:16:35 +02:00
WooHyun Jung f7e183b851 efl_ui_scrollable: remove ui_scrollable_interactive and move all into ui_scrollable
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
2019-09-23 11:02:15 +02:00
Mike Blumenkrantz 654e783d28 elm/layout: remove check for finalize in efl_canvas_group_change impl
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
2019-09-23 10:44:32 +02:00
Xavi Artigas 3b53749149 docs: Typos in Efl.Object 2019-09-23 10:41:46 +02:00
SangHyeon Jade Lee 3d539c1131 efl_ui : fix possible memory leak on model compressing
Summary: fix memory leak of model compressing on binbuf and allocated data.

Reviewers: cedric, bu5hm4n, zmike

Reviewed By: cedric, zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10037
2019-09-23 16:27:07 +09:00
Marcel Hollerbach 18e9a224be efl_ui_collection: protect against invalid access
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
2019-09-21 20:43:56 +02:00
Marcel Hollerbach 64be497e42 efl_ui_bg: implement load_controller and efl.gfx.image via composition
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
2019-09-21 18:22:47 +02:00
Marcel Hollerbach 625189d248 efl_gfx_image: remove ptr()
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
2019-09-21 18:22:46 +02:00
Marcel Hollerbach b051cb52fa efl_ui_image: implement Efl.Gfx.Image and Efl.Gfx.Image_Load_Controller
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
2019-09-21 18:22:45 +02:00
Marcel Hollerbach 0d7535071c elementary: make our tests work again
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
2019-09-21 15:04:42 +02:00
Carsten Haitzler 7321911468 efl ui widget - call parent constructor before doing more init
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).
2019-09-21 10:26:46 +01:00
Daniel Kolesa 53a3326ddc eolian: rename any_value_ptr -> any_value_ref for consistency 2019-09-20 18:03:39 +02:00
Daniel Kolesa 7cbd08ee8c eolian: string(share) is always const, allow in events out of box 2019-09-20 17:47:43 +02:00
Daniel Kolesa 718f3cd495 eolian: make hashes beta-only for now
They're not completely settled on and we don't even know if we want
them at all. So let's make them beta only for now.

Ref T8050.
2019-09-20 17:04:48 +02:00
Xavi Artigas 61ce4c79fd Use proper Eolian syntax for default values instead of docs
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
2019-09-20 11:55:55 -03:00
Lauro Moura 32f92d3d86 csharp: Add support for default param references in documentation
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
2019-09-20 16:23:54 +02:00
Marcel Hollerbach 4672598b03 efl_ui_factory: improve docs
Summary:
and remove TAAABS
Depends on D10038

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10042
2019-09-20 15:29:20 +02:00
Hosang Kim 47ab7e1b83 efl.ui.scrollbar: fix event name for scrollbar
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
2019-09-20 12:51:48 +02:00
WooHyun Jung bc162b1253 efl_ui_scroll_util: add null check after calloc 2019-09-20 11:09:02 +09:00
Marcel Hollerbach 1eb24301fd efl_io_model: next try to fix this race condition
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
2019-09-19 14:50:42 -07:00
Cedric BAIL 3e9f619b1d elementary: Efl.Ui.Widget_Factory bind widget property before finalizing the widget.
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
2019-09-19 14:37:56 -07:00
Cedric BAIL cc49c8ac64 elementary: leverage sizing information from model if available to avoid unecessary calc.
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
2019-09-19 14:37:54 -07:00
Marcel Hollerbach fc935e99d9 efl_ui_position_manager: a way to announce new entities
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
2019-09-19 14:37:52 -07:00
Cedric Bail 77ab3523cd ecore: remove unused piece of code.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10030
2019-09-19 14:37:49 -07:00
Cedric Bail f402efbba3 ecore: properly initialize all field in event generated by Efl.Generic_Model
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10029
2019-09-19 14:37:47 -07:00
Cedric Bail 6af8a70f37 ecore: properly initialize the event structure in Efl.Generic_Model.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D10028
2019-09-19 14:37:45 -07:00
Cedric Bail 2fdad92948 eina: add code to help debug leaking Eina_Value.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9942
2019-09-19 14:37:43 -07:00
Cedric Bail 9382bfc0bc eina: add eina_mempool_iterator_new to slowly iterate every allocated pointer in a mempool.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9941
2019-09-19 14:37:41 -07:00
Marcel Hollerbach bf12fe241e efl_ui_layout_part_table: implement missing API
setting of these properties does not work, as they are not available in
legacy, but edje is still creating legacy objects.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10007
2019-09-19 14:37:39 -07:00
Marcel Hollerbach 2f48607e7c efl_ui_layout_part_*: declare stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9995
2019-09-19 14:37:37 -07:00
Marcel Hollerbach fc22a94d26 efl_ui_widget_*: declare parts stable
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9994
2019-09-19 14:37:35 -07:00
Marcel Hollerbach d8053bac96 efl_ui_layout_part_box/table: remove real_part_set
real part set was used to set the real part on the part, so the obj
pointer of Layout_Part_Data points to the correct evas object. With this
commit, this API is removed from the public .eo files, and is refactored
into the same API which is private.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9993
2019-09-19 14:37:33 -07:00
Marcel Hollerbach aecb3a4bb2 efl_ui_layout_part_table: implement Efl.Pack.pack API
this api was missing, the pack method here is behaving in the same
manner as Efl.Ui.Table.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D9992
2019-09-19 14:37:31 -07:00
Marcel Hollerbach ccdec4ba68 efl_ui_widget_part: implement all the missing API
Efl.Color and Efl.File cannot be done due to composition. Efl.Gfx.Image
can, so we can solve this via composition, this also resolves all the
other cases for Efl.Gfx.Image.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9991
2019-09-19 14:37:29 -07:00
Yeongjong Lee e06e03f220 efl_ui_collection: fix null pointer dereferences
This will fix Coverity issue.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D9986
2019-09-19 14:37:23 -07:00
Marcel Hollerbach 21fe2bdc41 eo: custom created legacy events should be unfreezable
a while back we have moved event submission from custom lists to eo
events. We also merged together the freeze and thaw functions, however,
this brought up one bug. smart_callbacks and the likes (those that used
custom lists before) are not effected by the legacy freeze and thaw
functions. This means, we should declare these legacy wrapper objects
unfreezable in order to obtain this behaviour.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10016
2019-09-19 14:37:21 -07:00
Mike Blumenkrantz 393530b770 efl_ui: further unbreak headers
move more header includes around to fix building with Efl_Ui.h

ref T8228

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10022
2019-09-19 14:37:18 -07:00
Mike Blumenkrantz da5fcb8ea0 ecore/signal: increase maximum signal throughput
this adds 4 more signal handling fds and loops over them for reading/writing
signal info in order to handle more signals when the buffer of one (or more)
pipes is full

also update the unit test to verify that we are receiving all the events without
dropping any and bump the number of signals to 2000 since we should now be able to
handle that many

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10027
2019-09-19 14:37:16 -07:00
Mike Blumenkrantz aae2e49744 ecore/signal: also use nonblock for writing side of signal pipe
if any efl-based process receives a bunch of signals in a short period of
time, it will deadlock in the signal handler. this is unavoidable given the
current signal handling architecture

by setting nonblock, we can at least avoid deadlocking even if it means we'll
be losing signal events

@fix

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D10025
2019-09-19 14:37:11 -07:00
Daniel Kolesa 539dc642e9 eolian: remove the composite keyword (replaced by composites) 2019-09-19 18:20:56 +02:00
Daniel Kolesa b74f98e8b7 efl: replace composite with composites and dedup implements
Since using 'composites' now automatically implements what has not
been implemented yet, remove the unnecessary duplicates.
2019-09-19 18:20:56 +02:00
Daniel Kolesa bc793753cb eolian: allow composites keyword in place of composite
Fixes T8218.
2019-09-19 18:20:56 +02:00
Daniel Kolesa 46a6949b2e eolian: auto-add composited interfaces into implements if needed
The condition here is that the composited interface does not
already appear in the inheritance tree of the given class. If
it does, don't add. If it doesn't, add it to the class that
specifies the composited block.
2019-09-19 18:20:56 +02:00
Xavi Artigas f8926697ff docs: Update documentation for Efl.Gfx.Color_Class 2019-09-19 16:51:04 +02:00
Daniel Kolesa 4de4995fa2 eolian: return NULL instead of EINA_FALSE on safety checks 2019-09-19 16:05:34 +02:00
Xavi Artigas 5428f26f7d docs: Update docs for Efl.Gfx.Image_Orientable 2019-09-19 13:11:00 +02:00
Marcel Hollerbach e3bc67257f efl_model: fix links
Summary: Depends on D10009

Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10010
2019-09-19 12:45:03 +02:00
Marcel Hollerbach 71e8dc0e75 efl_model: improve docs
Reviewers: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D10009
2019-09-19 11:36:26 +02:00
Xavi Artigas ac531f881f docs: Update documentation on Gestures
We need to keep in mind that the Manager and the Recognizers are not visible to the user.
The user only sees the events and the different Efl.Canvas.Gesture_* payloads.
2019-09-19 11:17:49 +02:00