Commit Graph

21291 Commits

Author SHA1 Message Date
Marcel Hollerbach 39347f45aa eo: free vtable when erroring out
if there is a error when settings API to the vtable, free the vtable
instead of leaking it.

CID 1422015

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11580
2020-03-24 20:41:37 +01:00
Marcel Hollerbach 670cfb14fc eo: do not check this here
as coverity points out, _obj_is_override is already dereferencing
obj->opt so this was the wrong spot to check this.

CID 1422014
CID 1422013

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11579
2020-03-24 20:41:34 +01:00
Marcel Hollerbach d533bdbbac eo: fix wrong formatting
no functional changes.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11578
2020-03-24 20:41:30 +01:00
Marcel Hollerbach 8f09cf9dd3 eo: only really copy when there is content
otherwise we are allocating a 0 sized memory element, which is
pointless.
ASAN would report a 0 sized allocated but not freed element as a leak.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11577
2020-03-24 20:41:27 +01:00
Marcel Hollerbach 9762d75dc4 eo: correctly flag allocated memory
sometimes there is the chance that we need to allocate memory depending
on the functions that are defined, not on the types that are available.
However, even if this should only happen in error cases and on mixins,
we should ensure that this is all correctly freed flagged.

Due to the correct flagging here, we are not copying the memory later on
in a wrong way.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11576
2020-03-24 20:41:25 +01:00
Marcel Hollerbach 1b058695f5 eo: do no allocate a 0 sized segment
allocating 0 sized elements here is pointless.
This here was doing that, so ensure that we are only allocating vtable
nodes that have more than 0 function pointers.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11575
2020-03-24 20:41:22 +01:00
Marcel Hollerbach f80cfa4893 eo: do not NULL out the object itself
otherwise we would not free it in the next run over the vtable. Which
would result in a leak.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11574
2020-03-24 20:41:19 +01:00
Marcel Hollerbach 9738a75939 eo: do not null out the vtable chain of your own classes
the free methods here accidently took the top of the mro into account,
which is the class itself, which NULLed out the wrong classes.

After this, we are finally freeing the mixin vtables.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11573
2020-03-24 20:41:17 +01:00
Marcel Hollerbach 8f7a76a431 eo: do not allocate too much memory
when handoverwriting function on a object, only existing API can be
overwritten, but not newer ones. Thats why its enough to pass the size
of the klass, and not the size of the globally defined classes.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11571
2020-03-24 20:41:11 +01:00
Mike Blumenkrantz 8fe64fb70c evas: add function for norendering with updates
Summary:
the same as norender, but useful
Depends on D11581

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11582
2020-03-24 13:22:12 -04:00
Mike Blumenkrantz b37ebdad25 evas/render: produce update regions when do_draw isn't set but make_updates is
Summary: this is a valid combination of parameters that should be handled

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11581
2020-03-24 13:22:09 -04:00
Carsten Haitzler 9deee134c9 eo - fix err path for eo_isa to unlock shared objects
fix CID 1363294
2020-03-24 13:26:59 +00:00
Xavi Artigas bb519386fd doxygen docs: Fix warnings in Ecore_Wl2.h and associates 2020-03-24 13:43:37 +01:00
Xavi Artigas 065d429a67 doxygen docs: Fix warnings in Ecore_Evas.h
And a couple associated places.
2020-03-24 13:43:37 +01:00
Xavi Artigas c48d4d431f doxygen docs: Fix warnings in Edje_Edit.h
And since we're at it, fix some typos too.
2020-03-24 13:43:37 +01:00
junsu choi a8b15a1d13 elm_transit: Prevent adding duplicates
Summary:
When repeating call elm_transit_object_add,
prevent the object from being added duplicates.

Test Plan: N/A

Reviewers: Hermet, herb, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11563
2020-03-24 21:08:17 +09:00
junsu choi 6f95a42f60 elm_transit: replace evas_object_event_callback_xxx with efl_event_callback_xxx
Summary:
In transit, event_callback is mainly used for delete callback.
transit uses evas_object_freeze_events_set to control the user's mouse events.
However, EVAS_CALLBACK_DEL was not called because of this.
The behavior of evas_object_freeze_event was changed. This patch was created to fix some issues.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11562
2020-03-24 21:00:26 +09:00
Stefan Schmidt 9da0235d74 exactness: remove exactness library and move code into binary folder
We do not want to have EAPI from exactness exposed at this point without
any real user. I know of no application using the exactness library.
If we come to that point we can move things back into a lib, but for now
having the code shared between the various executables is all we need.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11545
2020-03-24 12:24:04 +01:00
junsu choi 8c91255595 Efl.Ui.Vg_Animation: Enable transit event.
Summary:
elm_transit freezes events by default for added objects.
We have to use elm_transit_event_enabled_set to use events.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11560
2020-03-24 19:11:26 +09:00
Mike Blumenkrantz 2f033a801e efl/wl: explicitly use restricted size hints for min/max
need to be clear here since we own these objects

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11500
2020-03-23 20:02:56 +01:00
Marcel Hollerbach 59ee633dc0 efl_ui_widget: pass the correct flag here
this here needs to pass the flag that gets set, not the flag that
results. This is important for the cases, where a subtree in a widget
tree keeps the flag. As this would leave the wrong counter.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11556
2020-03-23 20:02:50 +01:00
Marcel Hollerbach e5cec5dacc efl_ui_widget: unify tree number settings code
Summary:
the internals of those two methods have been the same. Both setted the
internal numeric flag as either as 1 more or equal to the flag in the
parent object (depending on the internal state). Further details can be
found in the comment in code.
Depends on D11554

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11555
2020-03-23 12:12:25 -04:00
Marcel Hollerbach c3cc96d0f8 efl_ui_widget: do not eval all the children twice
Summary:
eval all children is ending up in the complete discovery of the whole
subtree, which is unnessesary here, as we are already discovering the
whole subtree with the calls, these changes are in, so simple
evalulating this is enough.
Depends on D11551

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11554
2020-03-23 12:12:19 -04:00
Marcel Hollerbach 151862f50c efl_ui_widget: fix disabled set behaviour
Summary:
this fixes disabled set behaviour. This ensures that when setting
disabled twice, that unsetting it once does not break the overall state.

This never appeared in any real life example, because
elm_object_disabled_set is already checking for equalness. However, this
is not wanted here, because the simple setter can also be used to sync
the state with the parent, which appears to be helpfull.

Depends on D11550

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11551
2020-03-23 12:12:12 -04:00
Marcel Hollerbach 8e0a7cedc1 efl_ui_widget: fix tree_unfocusable setting
Summary:
when setting twice the same value, unsetting the same value would not
restore the same state in the tree again. With this commit, we ensure
this is working correctly.

Reviewers: zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11550
2020-03-23 12:12:06 -04:00
Xavi Artigas a1c7384da9 doxygen docs: Fix warnings in textblock 2020-03-23 12:15:55 +01:00
Xavi Artigas 21e78743a4 doxygen docs: Fix Exactness warnings 2020-03-23 12:15:55 +01:00
Marcel Hollerbach 9f5ab4dea9 Revert "Revert eo vtale rework..."
This reverts commit efb15f510c.

The error that was causing this was in ector, and is fixed with the
previous commit.
2020-03-23 11:35:06 +01:00
Marcel Hollerbach 6934a9623e ector: fix pointer checking
we want to check if the pointer is available, and not the value of the
pointer. This fixes some "Jump depends on uninitialized value" messages
from valgrind.
2020-03-23 11:22:09 +01:00
Carsten Haitzler efb15f510c Revert eo vtale rework...
Revert "eo: redo vtable mro creation"
This reverts commit b05110609b.
Revert "eo: add a generic memory allocation tracking method"
This reverts commit 44071e3102.
Revert "eo: rework vtable allocation scheme"
This reverts commit 3bd16a46f1.
Revert "eo: do not allocate extension if deleting"
This reverts commit 64f7edc7fc.

This seems to breal vector rendering in lottie:

From: Hermet Park <hermetpark@gmail.com>
To: Enlightenment developer list <enlightenment-devel@lists.sourceforge.net>
Subject: Re: [E-devel] [EGIT] [core/efl] master 02/05: eo: rework
vtable allocation scheme

This patch occurs memory corruption, vector crashes :(
Here is a sample if you'd like to see it.
https://phab.enlightenment.org/F3858944
2020-03-23 09:07:08 +00:00
Hermet Park 11d86e1538 canvass vg: fix a mistake in 69fd72af2c 2020-03-23 14:39:53 +09:00
Hermet Park 69fd72af2c canvas vg: drop vg cache buffers if object were destroyed.
Previous vg didn't take care of cached buffers which were
allocated in it's lifetime because the cache buffers are managed
by its own cache buffer mgr, it has a limitation count of buffers also
buffers can be cleared when engine is shutdown.

This behavior is actually working properly but not well optimized
since it lost a chance to clear grown buffers.

Now vg do clear used buffers when object is invalidated.
2020-03-23 14:23:27 +09:00
Marcel Hollerbach b05110609b eo: redo vtable mro creation
Summary:
up to now we have created the vtable of a class by walking the mro from
the most upper element to the klass itself. To give a broader view, the
mro of a klass X that extends the class Y and implements A,B,C,D

The mro of X is then equal to [A,B,C,D] + the mro of Y. Which means, we
can simply copy over the vtables of Y, and start walking at D, which
will result in the same vtable.

The sideeffect of doing that is, that we do not allocate that much
memory anymore. Reason for this is quite simple:
For every mixin that is part of the mro, we are copying the vtable node,
to insert new API implemented by the mixin. However, the resulting new
vtable is every time the same. Which means, we could actaully copy them.

The same messurements as in the previous commits are taken:
malloc tracking:
  new: 452128
  old: 556656
  Safeup: ~102 KB

pmap:
  new: 542884K
  old: 542168K
  Safeup: ~716 KB
Depends on D11538

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11539
2020-03-21 00:01:29 +00:00
Marcel Hollerbach 44071e3102 eo: add a generic memory allocation tracking method
Summary:
this is super usefull when checking memory allocations. Esp. when
checking out new memory allocation schemes.
Depends on D11535

Reviewers: zmike, stefan_schmidt, tasn, raster, woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11538
2020-03-21 00:01:29 +00:00
Marcel Hollerbach 3bd16a46f1 eo: rework vtable allocation scheme
Summary:
with this commit a new way of allocating vtables arrived.
The old mechnism was to allocate a table big enough to carry *all*
functions at once, in order to not allocate that much memory for
functions that are not implemented on a specific klass, dichchains have
been used, which can be seens as a 2D matrix, where columns are only
allocated if min 1 entry needs to be written, this may have been a good
way to allocate back in the day when all this with eo started, however,
it showed to not pay off.

With this new way, we allocate a array of arrays. the first lvl array is
carrying enough slots, that *all* up to the time defined
interfaces/classes/abstracts/mixins can be implemented. The second lvl
array then has exactly the size of the defined APIs. The second lvl
array is obviously only allocated if needed.

When comparing the two methods, i messured two things, the usage based
on memory allocation for vtable-way-1 and vtable-way-2. Additionally, i
checked the overall memory usage of elementary_test using pmap. The
first messurement is a little bit more exact. The second messurement is
more biased, but captures the whole picture.

Memory allocation tracking:
   vtable-way-1 - vtable-way-2 = 74680 Byte

Pmap memory tracking:
   vtable-way1 - vtable-way-2 = 217088 Byte

The second messurement shows a bigger impact, likely because this is
also showing off all the sideeffects that we are taking place due to
fewer allocations.

Depends on D11524

Reviewers: zmike, tasn, stefan_schmidt, woohyun, cedric, raster

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11535
2020-03-21 00:01:29 +00:00
Marcel Hollerbach 64f7edc7fc eo: do not allocate extension if deleting
Summary:
->ext is getting freed during invalidate. If we unregister during
destruction (which is something that might happen) we should not
allocate the extension again.

Reviewers: woohyun, zmike, eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11524
2020-03-21 00:01:29 +00:00
Bartlomiej Grzelewski e9493fbafc ATSPI bridge refactoring
Add support for Text Interactive interface.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11486
2020-03-20 16:16:16 +01:00
Ali Alzyod 8e7a01b16f efl.ui.textbox: load default font properties once
As described in task T8617
when toggle editable mode for textbox, we will reserve user changes (instead of reload them again).

this issue is affected by D9502, I do not fully understand why do we need it, so I leave color loading as it is.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11404
2020-03-20 15:58:06 +01:00
Mike Blumenkrantz e4ecb159e7 evas/render: fix log ptr access in render thread
when this lock is released, the evas may be immediately freed, leading to
invalid access in the log call

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11536
2020-03-20 15:58:03 +01:00
Mike Blumenkrantz 41299c2b09 efl/layout: add explicit doc note about efl.player property defaults
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11311
2020-03-20 15:58:00 +01:00
Mike Blumenkrantz 220daf5664 efl/player: add doc note about default values for new (1.24) properties
we're going to be overriding the default in at least some classes, so make
sure we make it explicit that the behavior is documented

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11310
2020-03-20 15:57:58 +01:00
Mike Blumenkrantz e66a3bc558 efl/layout: add @empty for missing efl.player methods
need to at least track these

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11309
2020-03-20 15:57:54 +01:00
Mike Blumenkrantz 831d445cc0 efl_ui/image: implement efl.player::playback_loop property
this enables the existing looping functionality only when playback_loop
is set (which is always set for legacy widgets)

fix T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11308
2020-03-20 15:57:51 +01:00
Mike Blumenkrantz df561eb725 efl_ui/image_zoomable: unset timer pointer when canceling animation timer
make sure we have no stale pointers later on in this case

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11307
2020-03-20 15:57:48 +01:00
Mike Blumenkrantz c18327d5df efl_ui/image: implement efl.player::autoplay for image widgets
this just calls efl.player::playing_set any time autoplay is true and
the internal image object is preloaded

ref T8589

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11306
2020-03-20 15:57:44 +01:00
Hermet Park 849b37d641 canvas3d: remove all feature implementation in edje/edje_cc
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11547
2020-03-20 15:57:41 +01:00
Stefan Schmidt 2359386d5d exactness: remove support for legacy .rec format
From now on we will only go with the new .exu format. All tests have
been converted two and a half years ago already. If there still is a
need for this in some corner cases the external exactness application
still has support for this.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11537
2020-03-20 12:04:40 +01:00
Mike Blumenkrantz b5c24af2e1 efl/hint: update doc for default weight hint value
Summary: the default is actually 1.0 and always has been for unified api

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11544
2020-03-20 12:00:14 +01:00
Shinwoo Kim c58fef1f6e evas filter: work for native surface
Summary:
Filter does not know how to draw native surface image using engine_data.
It means that only image knows how to draw it. In case of GL engine, image
is using a shader program for IMAGENATIVE in the common_context_image_push.

This patch makes filter work for native surface image by drawing the native
surface first using the common_context_image_push as below.

   Before: image -> common_filter_*_push -> filter_output
   After: image -> common_context_image_push -> filter_input ->
          common_filter_*_push -> filter_output

Test Plan: {F3856981}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11546
2020-03-20 15:37:31 +09:00
Mike Blumenkrantz b631aae420 efl/wl: auto-unset weight if popups provide a size in their positioner
Summary:
we "sometimes" set this to EXPAND,EXPAND in the base efl object constructor,
so we need to unset that in this case

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11543
2020-03-19 12:06:18 -04:00
Mike Blumenkrantz 33d17369ac efl/wl: don't delete group clipper on object destruction
Summary: this is already handled internally in evas

Reviewers: bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11542
2020-03-19 11:14:54 -04:00
Hermet Park 0583b14307 canvas 3d: remove canvas3d edje
Summary: Remove functional stuff, leave as deprecated for compatibility.

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11541
2020-03-19 18:49:17 +09:00
Xavi Artigas c4fad77ae3 doxygen docs: Fix Eina Promises doc structure and links
Man, this was a tough one!
The content still needs work, but the structure makes a bit more sense now,
and there are no broken links, typos or doxygen warnings anymore.
2020-03-17 19:23:56 +01:00
Xavi Artigas d1c74afc40 doxygen docs: Create Eina Vector2 group in the right place
A couple members were outside the group and appeared in the
Eina Data Types page instead.
2020-03-17 19:23:56 +01:00
Xavi Artigas eb2971fd4c doxygen docs: Put quadtrees in their own group
To clean up the Eina Data Types page
2020-03-17 19:23:56 +01:00
Hosang Kim 91ab84286a edje_message_queue: decrease number of messages when message is removed.
Summary:
Sometimes edje_message_del is called while processing edje message.
It makes double free corruption.

Reviewers: raster, bu5hm4n, zmike

Reviewed By: zmike

Subscribers: bu5hm4n, zmike, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11393
2020-03-17 09:52:59 -04:00
Xavi Artigas eb23ead064 Spotlight: Remove jump_setup from ctors list
This feature has not been used yet and it is making mono_gen abort, breaking build
(probably because this property has setter but no getter).
2020-03-17 11:56:37 +01:00
Xavi Artigas 84e561f4dd docs: Improve Spotlight.Animation_Manager docs 2020-03-17 11:39:41 +01:00
Ali Alzyod 69d6ca28ab move stabelized items out of @beta
ref T8541
ref T8522

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11328
2020-03-17 10:29:59 +01:00
Marcel Hollerbach 561906399c efl_ui_spotlight: Introduce animation manager
the manager is basically not new, its just the moved fade manager, with
a little bit more utilization. The manager now can be equipt with 3
animaton objects that are played when the correct reason happens.

For now the fade manager is the only thing that uses that.

Reviewed-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11358
2020-03-17 10:29:57 +01:00
Marcel Hollerbach 95a2b3457a efl_ui_spotlight_manager: introduce a reason for switch_to
This is preparation work for a later commit. This brings a flag that
indicates what the reason for a switch to call is, either a jump a push
or a pop.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11357
2020-03-17 10:29:53 +01:00
Taehyub Kim efd09a21d9 ecore_cocoa: fix wrong word in documentation
modified the wrong word for mime_type parameters

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11446
2020-03-17 10:29:51 +01:00
Hosang Kim e38ea9b958 ecore_input_evas: fix memory leak when ecore_event_evas is shutdown.
_last_events and eel structure are not freed when ecore_event_evas is shutdown.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11520
2020-03-17 10:29:48 +01:00
Wonki Kim 770e3cae4a eina_file: fix a typo error
'sefl' is definitely a typo
this patch fixes it

Reviewed-by: Shinwoo Kim <cinoo.kim@samsung.com>
Differential Revision: https://phab.enlightenment.org/D11510
2020-03-17 10:29:45 +01:00
Marcel Hollerbach c4e1de9854 evas_table: inherit all the types we are implementing 2020-03-17 09:38:16 +01:00
Hosang Kim 5b8dc56100 win/widget: free array when object is deleted.
It makes a memory leak.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11522
2020-03-17 09:38:16 +01:00
Marcel Hollerbach bd22ee962f evas_table: inherit all the types we are implementing
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11515
2020-03-17 09:38:13 +01:00
Marcel Hollerbach 654b05b76f edje_part: move part_type to common interface
In EFL we have multiple hirachies of parts. One in Efl.Layout namespace
(alias edje) and one in Efl.Ui namespace. The seperation of these two
makes sense from the perspective of hiding functionality. However, a
functionality that we want to have on both is: we want to be able to
check which type of part this is. In order to do so, this commit
introduces a common interface, which allows that.

This is required because eo is currently undergoing some works, where
only APIs on a object are allowed, that are also inheriting its type,
which is normal in OOP, but sometimes, due to the lack of limitation, we
did that. This commit resolves one more case of that.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11516
2020-03-17 09:38:10 +01:00
Taehyub Kim 1e91674acd evas_vg: modified the join enum documentation
Summary:
modified the join enum documentation for Efl_Gfx_Join and Evas_Vg_Join
since the order of documentation is wrong

Depends on D11519

Reviewers: jsuya, Hermet

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11521
2020-03-17 16:24:03 +09:00
Taehyub Kim 4455416aa0 evas_vg: add since tags for evas vector APIs
Summary: Depends on D11518

Reviewers: jsuya, Hermet

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11519
2020-03-17 16:23:54 +09:00
Taehyub Kim 2eaa2e9874 evas_vg: refined the documentation for evas vector APIs
Summary: Depends on D11517

Reviewers: jsuya, Hermet

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11518
2020-03-17 16:23:49 +09:00
Taehyub Kim 2a54c0505f evas_vg: refined the evas vector APIs set
Reviewers: jsuya, Hermet

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11517
2020-03-17 16:23:45 +09:00
Shinwoo Kim 4a74a9fc69 evas_render: use do_async for mapped child (SW)
Summary:
On the SW engine, the rendering has inconsistent between smart object and
non-smart object, if they are mapped children. The smart object does ASYNC
render while the non-smart object does SYNC render. Because of this there
is a filckering rendering problem.

[Problem]
The following is a case of problems.

  elm_layout (mapped, map_surface_1)
   │
   ├─ elm_image_1 (mapped)
   │
   └─ elm_image_2 (not mapped)
       │
       └─ evas_object_image

After elm_image_1 adds draw command to the draw thread queue, and it starts
its drawing on the map_surface_1 on a thread, and stops middle of drawing.
At this point, evas_object_image does SYNC draw on the same surface
map_surface_1. And the thread for elm_image_1 works for remains.

Because the evas_object_image draws before finishing drawing of elm_image_1,
There is the problem.

F.Y.I. From the first evas_render has done SYNC render for mapped child.

   cb10c7d evas: Modify software_generic ... with threaded renderer

This patch makes mapped children do ASYNC render.

Test Plan:
{F3856130}

{F3856131}

Reviewers: Hermet, jsuya, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11506
2020-03-16 19:15:33 +09:00
Mike Blumenkrantz 7b29d07e42 efl/wl: remove old doxygen docs
Summary:
these are no longer applicable
Depends on D11504

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11505
2020-03-13 12:17:22 -04:00
Mike Blumenkrantz 57d6d9bfce efl/wl: add docs for surface object and re-namespace
Summary: Depends on D11501

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11504
2020-03-13 12:17:22 -04:00
Mike Blumenkrantz af96a44ef7 efl/wl: add docs for base compositor object
Summary:
also rename some methods

Depends on D11500

Reviewers: bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11501
2020-03-13 12:17:22 -04:00
Mike Blumenkrantz 907a2fb640 efl/gesture: remove duplicated line
Summary: this was somehow duplicated

Reviewers: CHAN, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11503
2020-03-13 09:08:25 -04:00
Ali Alzyod ba1a326a57 evas_common: rgba32 to Y8 (Enhance Conversion)
Summary:
Made small change to expand mapping range by using celling values.
Now : rgb(255,255,255)   ->  y(255)
Now : rgb(1  , 1 ,1  )   ->  y(1)

Old : rgb(255,255,255)   ->  y(254)
Old : rgb(1  ,  1,  1)   ->  y(0)

It is important for white point convert to not loss any value

Test Plan:
```
#include <stdio.h>

int main()
{
    unsigned char r =255, g =255,b =255;
    unsigned int gry8_old = ((r * 19595) + (g * 38469) + (b * 7471)) >> 16;
    unsigned int gry8_new = ((r * 19596) + (g * 38470) + (b * 7472)) >> 16;

    printf("gry_old=%i\n",gry8_old);
    printf("gry_new=%i\n",gry8_new);

    return 0;
}

```

Reviewers: cedric, raster, zmike, vtorri, Hermet, woohyun, bu5hm4n, segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D9490
2020-03-13 09:58:04 +01:00
Xavi Artigas e8100fa8b0 docs: Efl.Ui.Textbox: Clarify when is Efl.Ui.Scrollable enabled 2020-03-12 18:15:59 +01:00
Marcel Hollerbach c19498fffc eina: do not free NULL ptr
this is definitly NULL here, but usefull for later usage.
2020-03-12 18:11:36 +01:00
Mike Blumenkrantz eaa06230dd efl: check config values before passing to non-null function
if these config values don't exist, we should return the inlined defaults

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11499
2020-03-12 18:05:10 +01:00
Ali Alzyod 765c5c2a0b efl.ui.textbox: proxy for efl.ui.scrollable interface
Allow users to use scroller functinality with efl.ui.textbox

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11479
2020-03-12 18:05:06 +01:00
Mike Blumenkrantz 35727d29c3 efl/gesture: add fallback for glayer_tap_finger_size not being found
just in case

Differential Revision: https://phab.enlightenment.org/D11494
2020-03-12 18:05:02 +01:00
Alastair Poole fcb48ef402 evas_object_box: respect static clipper.
Check here for a static clipper else  the clipper
will move. This causes problems with very large boxes where
content will stop rendering due to the clipper moving.

Originally this wasn't meant to move but this was missed with the
API changes. It wasn't noticed as the clipper default size is
very large.

See: src/lib/evas/canvas/evas_object_smart.c.

If we exceed the 10k range content does not render due to the
move.

@fix
2020-03-12 17:00:37 +00:00
Xavi Artigas a004befea5 doxygen docs: Fix illegal references
Mostly typos and unescaped # signs
2020-03-12 17:24:07 +01:00
Xavi Artigas 883a09a3ae doxygen docs: Fix some more Illegal commands
Who thought that Italic Links was a good idea?
Anyway, Doxygen does not like them.
2020-03-12 17:24:07 +01:00
Xavi Artigas 7273229e3c doxygen docs: Fix some more invalid commands 2020-03-12 17:24:07 +01:00
Taehyub Kim 47107a45ae efl_canvas_vg_shape: fix the wrong parameter order in the wrapper of evas_vg_shape_append_cubic_to()
Summary: The x, y parameter order should be the end of efl_gfx_path_append_cubic_to()

Reviewers: Hermet, jsuya

Reviewed By: jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11491
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 65b081394d efl/exe: don't err on del if exe has been killed
Summary:
the point of this err is to inform the user that their exe is (possibly) dangling,
but if the user just wants to ignore the exit callback this isn't a problem
Depends on D11496

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11497
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 592ca5ea3b efl/wl: define opaque wl/xkb types to native types when those headers are included
Summary:
simplify a lot of casting when we're in a native wl env
Depends on D11495

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11496
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 07b8f7f0ff efl/wl: add 'extracted' property for surfaces
Summary:
useful to be able to know whether a surface has been extracted
Depends on D11476

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11495
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 955574c044 add EFL_VERSION_1_24 define
Summary: this needs to go in right after every release

Reviewers: stefan_schmidt, devilhorns

Reviewed By: stefan_schmidt, devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11477
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 42480c5ebf efl-wl: rename to efl.canvas.wl
Summary:
this is a canvas object so it needs to be in the canvas namespace

Depends on D11475

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11476
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz d284d19429 efl-wl: move flags_run to exec_flags property
Summary:
typically the compositor wants to run all exes with the same flags so this
makes more sense
Depends on D11470

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11475
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 2754b24cdd efl-wl: add active_surface property
Summary:
this is probably useful?

Depends on D11469

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11470
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 09aba19cc9 efl-wl: make surface restacking functions return the current surface
Summary:
seems more useful

Depends on D11468

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11469
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 12854eac34 efl-wl: move keymap functions to eo
Summary:
more 1:1 changes

Depends on D11467

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11468
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz b51d45835c efl-wl: rework parent surface getter to a more useful property
Summary:
getting any parent is probably fine

Depends on D11466

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11467
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 453a0fb82a efl-wl: convert comp surface object to eo
Summary:
this is a 1:1 conversion

Depends on D11454

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11466
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 043a2c90ff efl/exe: add term_with_parent flag
Summary:
same as ecore_exe

Depends on D11451

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11465
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz e6573154dc efl-wl: start conversion to eo
Summary:
this converts the main efl-wl object to an eo-based canvas group object

Depends on D11465

Reviewers: segfaultxavi, bu5hm4n

Reviewed By: bu5hm4n

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11454
2020-03-12 12:17:07 -04:00
Mike Blumenkrantz 798fdfbc70 efl/exe: add 'pid' property
Reviewers: bu5hm4n, segfaultxavi

Reviewed By: bu5hm4n

Subscribers: bu5hm4n, vtorri, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11451
2020-03-12 12:17:07 -04:00
Carsten Haitzler 5c8942bf39 eina log bt - on by default always if unwind found
i'm tried of telling people how to turn this on. enough. on by
default. if you dont want bt's and its just some helpful log output
then just printf it or use WRN, INF and set log levels...
2020-03-12 14:40:14 +00:00
Woochanlee b319f15c99 efl_gesture_manager: Fix incorrect override system config value.
Summary:
The glayer_tap_finger_size can get diffrent value on each profile.
Need to get system config value and will set it for gesture manager.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11485
2020-03-12 09:09:35 -04:00
Hermet Park f257401a4f canvas proxy: fix a missing case that proxy not updated properly.
Very complex to say, if its source object is remained as chaged state in pending object
in rendering stage, the proxy object could miss to update in the next frame because
source object won't be changed again in evas_object_change().

Thus we need to double-check if the proxy missed update or not just in the rendering.
Not clean but this is a compromised solution to not be burden for finding/checking proxies
in object trees every time.

@fix
2020-03-12 20:44:07 +09:00
Ali Alzyod 06e9af1b0c edje_textblock: style font size override size_range max
Summary: style font size (also text_class) will change size_range max value, regardless of what user specifed in textblock description

Reviewers: woohyun

Reviewed By: woohyun

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11493
2020-03-12 20:07:12 +09:00
junsu choi f4164bbcb8 edje_util: Prevent null pointer access
Summary: locale can be null. so add null check.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11490
2020-03-12 14:43:37 +09:00
Mike Blumenkrantz 190cf14959 efl_ui/layout: skip versioning checks for legacy widgets
Summary:
legacy widgets are always stable

fix T8630

Reviewers: eagleeye

Reviewed By: eagleeye

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8630

Differential Revision: https://phab.enlightenment.org/D11481
2020-03-11 09:37:42 -04:00
Ali Alzyod 149042a3ba evas_textblock: replace evil tabs with spaces
Reviewers: devilhorns, ali.alzyod

Reviewed By: devilhorns

Subscribers: segfaultxavi, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11482
2020-03-11 12:41:08 +01:00
Xavi Artigas 5b2d2a85b2 doxygen docs: Fix tons of invalid Doxygen commands
Mostly typos
2020-03-10 21:36:34 +01:00
Xavi Artigas 5c2dfd80a6 doxygen docs: Adapt to Doxygen syntax
I don't know where did these comments come from, but it was not Doxygen.
2020-03-10 21:36:34 +01:00
Shinwoo Kim a89a2ef1de evas.image: add evas_object_image_animated_frame_get
this adds an api for getting the current frame of an animation

Differential Revision: https://phab.enlightenment.org/D11455
2020-03-10 13:31:19 -04:00
Christopher Michael d89adaccfb evas_object_text: Fix unused parameter
When we do Not build with BIDI_SUPPORT, then "const Eo *eo_obj" is
never used and thus spits out an unused parameter warning during
compile. This has been bugging me for quite some time now, so put in a
small patch to silence this warning.
2020-03-10 11:02:18 -04:00
Christopher Michael 54a841eb89 eina_abstract_content: Fix resource leak
If we error out in this function, then we should be freeing 'content'
also as it was previously calloc'd above

Fixes CID1420317
2020-03-10 10:34:07 -04:00
Christopher Michael e34837f28d eina_abstract_content: Fix dereference before null check
Fixes Coverity CID1420337
2020-03-10 10:25:10 -04:00
junsu choi 107e425ef6 edje: Rename Json to Lottie in edj supporting
Summary:
The json file used by edje is for lottie output.
json can be used in many ways. So the purpose is clear.

Test Plan: N/A

Reviewers: Hermet, kimcinoo, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11478
2020-03-10 15:42:13 +09:00
Marcel Hollerbach 5689ce8bfa ecore_evas: do not leak allocated memory in error case 2020-03-09 17:10:40 +01:00
Marcel Hollerbach 33203a9764 ecore_evas: only free content when content is != NULL
otherwise we might run into issues with that.
2020-03-09 17:10:40 +01:00
Marcel Hollerbach fa988becd2 efl_ui_textbox: dont leak a array when no type is available
this fixes a possible leak.
2020-03-09 17:10:40 +01:00
Marcel Hollerbach 6524b0a155 ecore_evas_x: correctly handle images in X11
I thought that i explicitly tested this. However, it seems i was wrong,
this way now this is handled correctly, and the image is stored and
coverted to a path.

With this you can now copy images from chromium and firefox to elm apps.

The change in elm_entry reverts parts of the rewrite of the elm
handling, as initially every path came *without* "file://" in front, so
we have to maintain that.

fixes T8625
2020-03-09 17:10:39 +01:00
Marcel Hollerbach f4ed0d4f93 elm_cnp: move free call after the last usage
this is however pretty much irrelevant as only the pointer is used.
2020-03-09 17:10:39 +01:00
Marcel Hollerbach a491e95dea elm_cnp: free array when going out of scope
this was missing and indeed a memory leak.
2020-03-09 17:10:39 +01:00
Christopher Michael bcbe56ecdd efl_ui_win: Fix null pointer dereference
Fixes Coverity CID1420321
2020-03-09 09:07:48 -04:00
Christopher Michael 3f49408493 efl_ui_win: Fix null pointer dereference
Fixes Coverity CID1420329 and CID1420328
2020-03-09 09:03:58 -04:00
Christopher Michael f2f170c1b3 efl_ui_win: Fix horrible formatting
NB: No functional changes
2020-03-09 09:02:21 -04:00
Marcel Hollerbach c4feaf10ad eina_content: free memory in error paths 2020-03-09 13:13:00 +01:00
Marcel Hollerbach b2ab297def eina: fix define of Eina_Content
there is no need to declare that const.
2020-03-09 13:13:00 +01:00
Xavi Artigas dc58262158 doxygen docs: remove @ender_group and organize eina vectors
Mysterious @ender_group is an invalid doxygen command and I could not find
it defined anywhere. I could not infer its purpose either so... removed.
Put the Eina Vector 2D and 3D groups in their proper place so they appear
with the rest of the Eina basic types.
2020-03-09 13:03:54 +01:00
Xavi Artigas 7096376119 doxygen docs: Remove invalid comments
They contain no information whatsoever and they contain invalid doxygen commands.
This was probably copied over from some other documentation format.
2020-03-09 13:03:54 +01:00
Xavi Artigas 0fbeddfc91 doxygen docs: Move smart object methods to proper group
Move smart object methods from @ingroup Evas_Canvas to Evas_Smart_Object_Group
Also, remove lots of redundant @ingroup Evas_Smart_Object_Group
2020-03-09 13:03:54 +01:00
Xavi Artigas 0f03165fec eina: Docs/Comments: eina_safety_checks: Correct grammar, spelling mistakes and be more clearer
Summary: This just corrects the comments grammar, spelling mistakes and is a little bit clearer.

Reviewers: segfaultxavi, barbieri

Reviewed By: segfaultxavi

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11472
2020-03-09 09:58:41 +01:00
junsu choi d60587c098 Efl.Ui.Image: Modify current frame to start at 1
Summary:
3dc3deb patch was changed to start at 1 rather than 0.
gif image starts at 1, not 0.

Test Plan: N/A

Reviewers: Hermet, kimcinoo

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11474
2020-03-09 17:54:33 +09:00
Xavi Artigas c6e40641aa doxygen docs: Miscellaneous typos 2020-03-09 09:35:40 +01:00
Xavi Artigas 7a79e15ea3 ecore_evas: Use EFL naming convention in cnp & dnd methods
Some methods were missing the "Drag" or "Selection" namespaces or the _Cb suffix.
Depends on D11219

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11426
2020-03-08 11:01:24 +01:00
Xavi Artigas 645c3d41eb docs: Strengthen docs for Copy&Paste and Drag&Drop
Including Eina.Content

And a typo/bugfix in ecore_evas_x.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11204
2020-03-08 11:01:18 +01:00
Marcel Hollerbach 7dd92a2d98 port cnp on Windows
Test Plan: Ctrl-c and Ctrl-Vworking

Reviewers: raster, zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11439
2020-03-08 11:01:15 +01:00
Marcel Hollerbach 06b7933512 ecore_cocoa: change clipboard API
the new API works with mimetypes, so we can remove the cnp types from
Ecore_Cocoa.h and just forward the types from ecore_evas directly

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11350
2020-03-08 10:59:43 +01:00
Marcel Hollerbach 165f6f0ae2 rewrite efl cnp and dnd handling
the previous commits introduced a abstraction for drag in drop which can
be now used for this here. With this commit all the direct protocol
handling in efl.ui is removed, and only the ecore evas API is used.

Additionally, this lead to a giant refactor of how APIs do work. All
Efl.Ui. interfaces have been removed except Efl.Ui.Selection and
Efl.Ui.Dnd, these two have been restructored.
A small list of what is new:
- In general no function pointers are used anymore. They feel very
  uncompftable in bindings and in C. For us its a lot easier to just
listen to a event when a drop enters or leaves, there is no need to
register custom functions for that.
- Asynchronous data transphere is handled via futures, which proved to
  be more error safe.
- Formats and actions are handled as mime types / strings.
- 0 is the default seat if you do not know what else to take.
- Content is in general passes as a content container from eina, this
  also allows applications to pass custom types

The legacy dnd and cnp API is implemented based on that.
All cnp related things are in elm_cnp.c the dnd parts are in elm_dnd.c

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11190
2020-03-08 10:59:40 +01:00
Marcel Hollerbach 6189c2112c ecore_x_selection: do not skip any any atoms
i dont know why we skipped the first two atoms, but right now, if a
application is only providing one single target, we would crash.
With this we might copy a few atoms more. However, these atoms do not
matter, as we skip those, that we cannot understand

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11194
2020-03-08 10:59:31 +01:00
Marcel Hollerbach 293b2fe719 ecore_x: add API to request selection changed events for diff. wins
we need that in order to get seleciton per window events, which is
required to get a nice mapping onto the ecore_evas object.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11193
2020-03-08 10:59:28 +01:00
Marcel Hollerbach 39f3ce42dc ecore_evas: Introduce cnp / dnd API for ecore evas
The idea of copy and paste here is:
- The user specifies the content he wants to have in the selection
  buffer with a Eina_Content, these content pointer ownerships are
  passed to the called. Internally ecore_evas code will memorieze the
  pointer, and pass on function callbacks to the modules, which then do
  not have to deal with the ownership.

- In case the module does not specify these APIs, the callback
  implementation will be called, which only works for cnp *not* dnd.

- Action and mime types are handled as strings, which allows way better
  custom organisations.

(The docs needs improvement)

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11192
2020-03-08 10:59:25 +01:00
Marcel Hollerbach 40a62ddf94 eina: introduce Eina_Abstract_Content
A little abstraction to have abstract data content bound to a type.

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11018
2020-03-08 10:59:22 +01:00
Daniel Kolesa f6464b0deb evas_pbject_intercept: add missing parenthesis
Broken in 7c99e0a444.

*spanks*
2020-03-06 23:30:50 +01:00
Christopher Michael 8be14b2e6e efl_ui_win: Fix dereference before NULL check
This patch fixes an issue detected by Coverity in that 'sdp' is
already being dereferenced before we check it. ELM_WIN_DATA_GET can
return NULL, so we should check it's return Before trying to use the
variable.

Fixes CID1419871
2020-03-06 16:12:15 -05:00
Christopher Michael 7c99e0a444 evas_object_intercept: Add check for NULL 'obj' variable inside macros
This patch adds a small check for a valid 'obj' variable inside the
object_intercept macros, which fixes several Coverity reported issues
of NULL pointer dereference.

Fixes CID1420239 through CID1420258
2020-03-06 13:08:47 -05:00
Mike Blumenkrantz dceb056a66 efl-wl: properly send surface enter event in smart show
Summary:
confusing...
Depends on D11452

Reviewers: segfaultxavi, bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11453
2020-03-06 12:16:50 -05:00
Mike Blumenkrantz 94d3ab1d2a elm: undef EAPI_WEAK in header before defining
Summary: avoid double define warnings

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11452
2020-03-06 12:16:50 -05:00
Hermet Park 7664aa97c0 canvas grid: fix inifinite loop dead.
Here parent smart del() call occurs inifinite loop for member deletion,

Maybe we need a better clean and neat solution here.
2020-03-06 23:51:20 +09:00
Marcel Hollerbach c47b78c80a efl_canvas_layout_part: remove debugging content set / get impl
this is now handled when eo is erroring.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11464
2020-03-06 15:11:26 +01:00
Marcel Hollerbach f41c497fa7 efl_canvas_layout_part: add part name, type and group name to debug info
this is usefull, as we now know which type of part we have, if a API
call does not succeed.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11463
2020-03-06 15:11:23 +01:00
Marcel Hollerbach f7e0a55d52 eo: print debug information when a call cannot be resolved
that is usefull esp. on parts.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11462
2020-03-06 15:11:20 +01:00
Mike Blumenkrantz bab8fcc442 evas/image: implement efl.file loading and mmap getters to correctly handle skip_head
when this property is set, the mixin implementation of efl_file_load() is
never called, which means the internal loaded flag (and related data) is
not set, and so the values for these properties must instead be returned
directly from the image data

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11423
2020-03-06 13:30:49 +01:00
Mike Blumenkrantz 576229bf6a evas: set mmap data to image data after preload with skip_head enabled
this is a bit ugly, but in the case where skip_head is used it's important
to propagate the resulting Eina_File back up to the image object's data
for use in other api functions

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11422
2020-03-06 13:30:46 +01:00
Mike Blumenkrantz 92a03628c8 efl_ui/widget: add inheritance for efl.gfx.entity to widget part
most of these are empty

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11448
2020-03-06 13:30:43 +01:00
Christopher Michael 2f4d209181 evas_object_intercept: Use efl_data_scope_safe_get
As per mailing list discussion, This macro is apparently a forward
facing API so we should be using efl_data_scope_safe_get in the event
that the API receives an object of the wrong type (which would have
caused a crash previously).

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11450
2020-03-06 13:30:40 +01:00
Christopher Michael 5e23d3983a evas_object_intercept: Reduce calls to efl_data_scope_get
Small patch to reduce the number of calls to efl_data_scope_get as per
mailing list discussion. Since the
EVAS_OBJECT_INTERCEPT_CALLBACK_DEFINE macro already retrieves the
protected data via efl_data_scope_get, we can just pass that
protected data directly to evas_object_intercept_init/deinit functions
without the need to refetch it.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11449
2020-03-06 13:30:37 +01:00
Marcel Hollerbach b9f185cc58 elm_label: add EFL_ACCESS_WIDGET_ACTION_MIXIN
we implement the API from it, so we should have that as a type here.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11447
2020-03-06 13:30:34 +01:00
Alastair Poole b8326b6096 elm_code_syntax: Add c-sharp syntax highlighting. 2020-03-06 11:04:08 +00:00
Jaehyun Cho 2f9b4a7080 elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb
If elm_object_item_del is called in pop_cb and pop_cb returns
EINA_FALSE, then the given item is destructed by _item_noref when
efl_unref is called after pop_cb.

After the above destruction, efl_del is called after the above efl_unref
and it deletes the item again.

Not to delete item after the item is destructed, efl_del after pop_cb is
removed.
2020-03-06 14:33:07 +09:00
Alastair Poole bd6608dd90 elm_code: Avoid moving to non-existent line.
Check for line existence before moving cursor.
2020-03-06 01:23:35 +00:00
Christopher Michael 7a89b7711f evas: Fix dereferenceing null pointer
Coverity reports a forward null here. If we do not get obj from
efl_data_scope_get then we should return. Also fixes some formatting

Fixes CID1420216
2020-03-04 14:20:47 -05:00
Hosang Kim 9ea61428db evas: Fix mouse event info for legacy events.
Summary:
Legacy event info have canvas and output coordinates.
Output coordinates have information of original position.
Canvas coordinates have information of transformed position.
So keep backward compatibility, fix filling legacy information.

This reverts commit 7f724f6c5d

Reviewers: Hermet, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11445
2020-03-04 09:35:58 -05:00
Alastair Poole b847348699 elm_code: Improve efficiency of the widget.
For now, only create textgrids when needed. Also improve other
regions of the widget. This will improve large file support and
also some rendering of the widget.

This improves performance 1-2 times. However, there must be a
reasonable redesign regarding the current use of textgrids.
2020-03-04 01:41:43 +00:00
Mike Blumenkrantz d9560ffcd9 efl-wl: add toplevel_added event for adding a new toplevel surface
Summary: Depends on D11443

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11444
2020-03-03 13:42:47 -05:00
Mike Blumenkrantz 0fb7acabc2 efl-wl: ensure that child_added event is called only when a parent is set
Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11443
2020-03-03 13:42:43 -05:00
Xavi Artigas 43f98b2d46 doxygen docs: Fix several group problems
@ingroup before @addgroup, circular group dependencies...
2020-03-03 18:49:20 +01:00
Xavi Artigas c5b1694985 doxygen docs: fix insufficiently namespaced group names
These led to clashes, since group names must be globally unique.
2020-03-03 18:49:20 +01:00
Xavi Artigas 9aecf76824 doxygen docs: fix multiple defined @section's
Section names must be globally unique.
We rarely reference sections so we don't actually need to use @section
and a simple header suffices.
2020-03-03 18:49:20 +01:00
Mike Blumenkrantz f6f4c1fcc8 efl-wl: add function to get pid of a surface
Summary: this is useful for tracking surfaces of specific clients

Reviewers: bu5hm4n, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11438
2020-03-03 12:27:43 -05:00
Hermet Park 146cf9da7e evas: ++safety by prevent invalid accesses. 2020-03-03 19:18:00 +09:00
Mike Blumenkrantz 710c05ed5a efl/gesture: deduplicate some code
also remove a misleading comment

no functional changes

Differential Revision: https://phab.enlightenment.org/D11395
2020-03-03 10:54:39 +01:00
Mike Blumenkrantz 613cd9f812 efl/gesture: fix flick internal touch id tracking
need to always make sure we set this when a gesture is being tracked so
we know which touch point we're watching

Differential Revision: https://phab.enlightenment.org/D11387
2020-03-03 10:54:33 +01:00
Mike Blumenkrantz 322fdba5f0 efl/gesture: fix momentum gesture recognizer to properly continue its gestures
it's not enough to just check the value for this in the recognizer; we need to
always modify the recognizer property here to correctly manage object lifetimes
and generate the correct events (e.g., not emitting momentum gestures while
multiple fingers are moving simultaneously)

also update a couple existing unit test checks which were wrong

Differential Revision: https://phab.enlightenment.org/D11386
2020-03-03 10:54:32 +01:00
Mike Blumenkrantz e1b7020633 efl/gesture: correctly filter tap events based on the processing touch point
if the recognizer is processing using a touch point other than the first finger,
e.g., in the case where multiple fingers are pressed simultaneously, then
the recognizer needs to also detect distance based on that finger

more fixes for triggering tap events while fingers are moving

Differential Revision: https://phab.enlightenment.org/D11385
2020-03-03 10:54:31 +01:00
Mike Blumenkrantz 3603884e51 efl/gesture: fix internal gesture object management
when a gesture ends and is not set to continue, the gesture object must
be preserved until the entire touch sequence ends in order to ensure that
all the touch point states are accurately detected and updated and so
additional instances of that gesture are not accidentally triggered

this fixes weird corner cases where you could tap with two fingers and
then get a long press event while dragging the second finger around as
long as you did it quickly enough

Differential Revision: https://phab.enlightenment.org/D11384
2020-03-03 10:54:29 +01:00
Mike Blumenkrantz d300e90d39 efl/gesture: port 'rotate' gesture from elm to new gesture framework
this is a 1:1 port with minimal changes other than what's necessary to
integrate into the new framework

Differential Revision: https://phab.enlightenment.org/D11383
2020-03-03 10:54:28 +01:00
Mike Blumenkrantz 830cdcf7ea efl/gesture: move some internal recognizer functions to be reusable
no functional changes

Differential Revision: https://phab.enlightenment.org/D11382
2020-03-03 10:54:27 +01:00
Mike Blumenkrantz 641c9427ef efl/gesture: rename long_tap -> long_press
this is consistent with the rest of efl naming

ref T8503

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11376
2020-03-03 10:54:26 +01:00
Mike Blumenkrantz e54454b986 efl/gesture: remove empty efl.object implementations from gesture objects
these are no longer needed

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11354
2020-03-03 10:54:23 +01:00
Mike Blumenkrantz 25d96317c0 efl/gesture: remove 'type' member from Efl_Canvas_Gesture_Data
this is no longer used

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11353
2020-03-03 10:54:20 +01:00
Marcel Hollerbach 76cc9488dd efl_ui_spotlight_scroll: improve scroll behaviour
when the mouse motion was used, we need to mark this event as processed.
Otherwise a click event will be emitted which is wrong.

Additionally, we should only scroll when we are definitly not clicking.
Right now, the scrolling animation would dance arround on a real TS.

Additionally², this commit introduces a little macro which calculates
the distance of a position.
2020-03-02 17:24:33 +01:00
Stefan Schmidt 7499bf9ba2 Revert "elm_label: sizing eval is called _on_label_resize to ensure label size."
This reverts commit 3d57fc0c92.

The change broke elementary tests on my local machine as well as on CI.
Please redo the change and bring it back after testing with the test
suites we have.
2020-03-02 16:54:04 +01:00
Wonki Kim 34477e1cbe ecore_wl: removes unreachable statements
Summary: this patch removes unreachable statements

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11437
2020-03-02 18:26:39 +09:00
Hermet Park f6de7c244a evas event: fix typo at map coord transform. 2020-03-02 16:55:40 +09:00
Bowon Ryu 3d57fc0c92 elm_label: sizing eval is called _on_label_resize to ensure label size.
Summary:
EFL should guarantee size of label in various situations that the label is resized.
elm_layout_sizing_eval called on on_label_resize.

Test Plan: N/A

Reviewers: YOhoho, zmike, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, Hermet, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11435
2020-03-02 16:53:10 +09:00
Carsten Haitzler 559bbd8ce3 freeq - up numbers for fq blocks and other limits to defer big batches
this should improve some perf by upping the max a free queu can baloon
up to 256k items and 32m of data (whichever is hit first).
2020-02-28 20:03:05 +00:00
Xavi Artigas 84a34d2ef6 docs: Give some doc love to Evas_Object_Vg 2020-02-28 12:36:57 +01:00
Xavi Artigas 00ca49422b doxygen: fix missing @p tag 2020-02-28 12:08:51 +01:00
Xavi Artigas dd7a6c5112 doxygen: fix invalid anchor names 2020-02-28 12:07:45 +01:00
Xavi Artigas 9c24c05458 doxygen: fix missing endcond tag 2020-02-28 12:05:26 +01:00
Xavi Artigas 0a70c70c0c doxygen: fix missing titles in addgroup 2020-02-28 11:44:19 +01:00
Xavi Artigas f8a23b1fcf doxygen: fix invalid eolian_main_intro ref 2020-02-28 11:44:19 +01:00
Xavi Artigas 9f4b5458ea doxygen: fix duplicated toc sections 2020-02-28 11:44:19 +01:00
Xavi Artigas dc9750ae1c doxygen: remove duplicated sections
Unified widgets simply copied elm's headers, duplicating doxygen sections.
2020-02-28 11:44:19 +01:00
Xavi Artigas ddbe32f2eb doxygen: fix missing end group tag 2020-02-28 11:44:19 +01:00
Xavi Artigas 6a5c2f9c20 doxygen: fix duplicated intro sections 2020-02-28 11:44:19 +01:00
Stefan Schmidt 127461549e edje_entry: avoid memory leak on error path
In commit 8cb0b193ea the logic was changed and we could return here
without free'ing the plain_text resource we allocated. Make sure we
handle this even on the error case and early return.

CID: 1408481

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11433
2020-02-27 15:58:37 +01:00
Jaehyun Cho 070333c8cc edje_load: fix possible null pointer dereference 2020-02-26 17:00:40 +09:00
junsu choi 57531de444 elm_slider: Add return value check
Summary:
Calling eina_value_get() without checking return value.
CID: 1400991

Test Plan: N/A

Reviewers: YOhoho, Hermet, Jaehyun_Cho, CHAN

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11416
2020-02-26 16:35:28 +09:00
Vincent Torri fa562828b8 Ecore_Win32: free 'compose' field when needed, fix memory leak
Reviewers: raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11415
2020-02-25 10:27:16 -05:00
Vincent Torri 0ff7469d91 Evil: add evil_utf8_to_utf16() API ; use evil_utf16_to_utf8() in Ecore_Win32
Summary: use existing utf-16 to utf-8 conversion function in Ecore_Win32. Add API to convert utf-8 to utf-16 in Evil for copy'n paste on Windows

Test Plan: compilation

Reviewers: raster, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11406
2020-02-25 09:23:48 -05:00
Mike Blumenkrantz b6bd20a844 elm/image: restore legacy behavior of elm_image_file_get
Summary:
this should operate on the internal image object to reflect the file
state there instead of the outer object

Reviewers: kimcinoo, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11396
2020-02-25 12:17:12 +09:00
Mateusz Denys ad00102842 Summary: code refactoring - get rid of unneccessary Efl.Access.Value interface.
reviewers_: l.oleksak, stanluk, bu5hm4n, zmike

Reviewed By: l.oleksak

Subscribers: zmike, l.oleksak, cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8578

Reviewed-by: Lukasz Oleksak <Lukas.Oleksak>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11304
2020-02-24 17:21:20 +01:00
Jaehyun Cho 4f88dfd10d database_expr: fix memory leak when type error happens
Summary: Memory leak is fixed when type error happens.

Reviewers: q66

Reviewed By: q66

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11400
2020-02-24 15:52:25 +01:00
Mike Blumenkrantz aed480c809 efl_ui/image_zoomable: add icon setting fallback for fdo icons
Summary:
same as D11381
ref 697308a16f

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11403
2020-02-24 15:35:39 +01:00
Xavi Artigas 697308a16f Efl.Ui.Image: Add fallback when icon is not found in default theme
Summary:
If _icon_standard_set() fails, _icon_freedesktop_set() is tried.

This was causing missing icons in the homescreen example, which uses
application icons which are obviously not present in the default theme.

Thanks to @bu5hm4n!

Test Plan: The homescreen sample application from the examples repository now correctly shows all missing icons.

Reviewers: bu5hm4n, zmike

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers, bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11381
2020-02-24 09:02:30 -05:00
SangHyeon Jade Lee 9cfb9aa603 elm : move unrealize callback call before the content caching.
Summary:
item edje and contents are cached for performance improvement in genlist & gengrid.
but to provide elm_genlist(gengrid)_all_contents_unset method before the contents
are being cached, unrealize callback must be come before the unrealize process.

currently,
item_unrealize
1.unrealize process
2.contents cached
3.unrealize callback
4.all_contents_unset : nothing to unset in the item.

by this patch,
item_unrealize
1.unrealize callback
2.all_contents_unset : contents are unset.
3.unrealize process
4.contents(null) cached

Reviewers: bu5hm4n, cedric, eagleeye, zmike

Reviewed By: zmike

Subscribers: zmike, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11402
2020-02-24 08:52:09 -05:00
Bowon Ryu 9dfcd5f9ec edje/style: Fix a problem where embedded font does not load in edj
Summary:
When edje_font_is_embedded the path of the font must be "font=edje/fonts/%s"
The previous code is "font=%s"
This causes the font to not load properly when edje_font_is_embedded.

Test Plan:
edje_cc test.edc
edje_player test.edj

collections {
    group { "main";
        fonts {
            // Set any two fonts in your local path.
            font: "ANYFONT_1.TTF" "font_1";
            font: "ANYFONT_2.TTF" "font_2";
        }
        styles {
            style { name: "textblock_style_1";
                base: "font=font_1 font_size=30 color=#ffffff";
            }
            style { name: "textblock_style_2";
                base: "font=font_2 font_size=30 color=#ffffff";
            }
        }
        parts {
            spacer { "base";
                scale;
                desc { "default";
                    min: 600 250;
                    max: 600 250;
                }
            }
            rect { "bg";
                scale;
                desc { "default";
                    rel.to: "base";
                    color: 5 5 5 255;
                }
            }
            textblock { "tb1";
                scale;
                desc { "default";
                    rel.to: base;
                    rel1.relative: 0 0;
                    rel2.relative: 1 0.5;
                    text.text: "THIS IS FONT 1";
                    text.style: "textblock_style_1";
                }
            }
            textblock { "tb2";
                scale;
                desc { "default";
                    rel.to: base;
                    rel1.relative: 0 0.5;
                    rel2.relative: 1 1;
                    text.text: "THIS IS FONT 2";
                    text.style: "textblock_style_2";
                }
            }
        }
    }
}

Reviewers: smohanty, CHAN, Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11401
2020-02-24 20:16:41 +09:00
Jaehyun Cho c8f26d9691 Revert "elm_spinner: Fixed to apply the %d format."
This reverts commit b8a24679a6.

Differential Revision: https://phab.enlightenment.org/D11394
2020-02-24 10:15:32 +01:00
Christopher Michael 104e98d2ee eina: Fix warnings about unused variables on Windows
NB: Patch from vtorri
2020-02-23 07:38:05 -05:00
Shinwoo Kim bfdb01161a efl_ui_image: unload file before memfile_set
Summary:
If memfile_set does not remove prev file information, it is not possilbe to
load image using the same file information after memefile_set.

It means that below line 3 does not work because the same file information
remains for Efl.Ui.Image_Legacy.

1 |  elm_image_file_set(obj, "1.jpg", NULL)
2 |  elm_image_memfile_set(obj, img, size, "jpg", NULL)
3 |  elm_image_file_set(obj, "1.jpg", NULL)

This patch removes line calling _efl_ui_image_file_set_do becasue it is called
in efl_file_unload > _efl_ui_image_efl_file_unload.

Test Plan:
[Sample Code]
{F3848315}

[Reproduce Step]
1. File2
2. Memfile
3. File2

Reviewers: Hermet, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11392
2020-02-21 13:16:57 +09:00
Yeongjong Lee b0179deda5 efl_ui_exact_model: use eina APIs to get the nth data
Summary:
Also, fixes a compiler warning
```
../src/lib/elementary/efl_ui_exact_model.c:60:17: warning: variable 'tbuf' set but not used [-Wunused-but-set-variable]
```

Test Plan: ninja

Reviewers: cedric, zmike, bu5hm4n

Reviewed By: zmike

Subscribers: #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11380
2020-02-20 09:11:02 -05:00
Hermet Park 29844fd061 canvas proxy: fix broken proxy source clipping function.
The issue is proxy source clipping is not applied properly,
Obviously that is a regression bug by the code refactoring.

Found out this condition is insane, looks like a wrongly introduced.

@fix
2020-02-20 21:22:37 +09:00
Hermet Park 0416e5757f edje: guarantee the theme abi compatility.
if old edj doesn't include "zoom_center" properly,
the initial value will be set with zero,

We can overwrite it in that case since zoom_center initial value is -1.
2020-02-20 20:34:57 +09:00
Xavi Artigas c5dc774fc5 Efl.Ui.Spotlight: Fix indicator initialization
This caused incorrectly-centered indicator icons in the homescreen example.
2020-02-20 09:59:29 +01:00
Wonki Kim 7da106ec68 edje: modify to respect user set fixed property
Summary:
this patch is related with @D11365.

rather than undoing optimization edje calc,
this patch introduces a user_set property which enables edje_calc
to respect user set property.

Reviewers: bu5hm4n, eagleeye, YOhoho, Hermet, zmike

Reviewed By: zmike

Subscribers: zmike, cedric, #reviewers, #committers, woohyun, eagleeye, bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11366
2020-02-19 12:40:39 -05:00
Xavi Artigas c2738b4ed9 docs: A bit more info and formatting for Eina_Process_Cb
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11063
2020-02-19 16:34:08 +01:00
Marcel Hollerbach 74491e8781 eina: introduce eina_iterator_process
this brings a functional-map function to the iterator implementations.
https://en.wikipedia.org/wiki/Map_(higher-order_function)

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D11062
2020-02-19 16:34:05 +01:00
Marcel Hollerbach c9c540b9df efl_ui_draggable: move these events back to legacy
they are not used yet in efl.ui. namespace, and they are needed for
different events.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11196
2020-02-19 16:34:02 +01:00
rafspiny d2e1d430a8 Adding "elm,calendar,ch_%d,weekend" and "elm,calendar,ch_%d,weekday" signals from "elm".
The calendar object in elementary needs to know which days are weekdays and which
are weekend days in order to properly change the state of the header's labels.
This code add a signal emission from e_calendar.c when setting the header.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11375
2020-02-19 16:33:59 +01:00
Marcel Hollerbach 090c351d38 elementary: use array instead of list for subchildren
this safes in the runtime of elm_test round about 9kb (*).
Additionally, using a array here is jumping way fewer times arround in
memory, as we do not need to jump from node to node in a list.

Additionally, this commit replaces a few abort disabler macros with a
error checking macro. (which cleans the log).

*: explanation: we have round about 600 widgets in elm_test, every
widget is normally refered once, every list node has 4 pointer, makes
round about 9600 bytes or rougly 9 KB. So the messured savings are more
or less explaining the reality.

Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11374
2020-02-19 16:28:11 +01:00
Marcel Hollerbach 6c251b2d01 eina_array: interpret the count of a NULL array as 0
this makes the usage way more convinient.

Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11373
2020-02-19 16:28:08 +01:00
Wonki Kim 9442598768 ecore_con: fix to check a return value of functions
this path fixes to check a return value of functions.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11371
2020-02-19 15:20:34 +01:00
Wonki Kim c00c85c166 efl_con: add a default condition to switch statement
this patch modifies conditions
to extract range conditions out of switch statement

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11370
2020-02-19 15:20:31 +01:00
Wonki Kim c3a616cdb2 ecore: fix a memory leak
this patch fixes a memory leaking

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11369
2020-02-19 15:20:29 +01:00
Wonki Kim 46f616828e emile: remove a improper free logic
BIO *b has freed improperly.
this patch removes the logic.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11367
2020-02-19 15:20:26 +01:00
Woochanlee b8a24679a6 elm_spinner: Fixed to apply the %d format.
Summary:
The part object does not apply the logic in efl_ui_format, so it does not work correctly when you format it with %d.

This is the commit that gets the necessary part of the logic of efl_ui_format.

Test Plan: elementary_test

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11378
2020-02-19 21:09:15 +09:00
Felipe Magno de Almeida df0715a9aa C#: Add error checking for Eina.Success_Flag return type
When a get and/or set from property is defined to return, explicitly,
a Eina.Success_Flag, the mono generator will check the return value
and generate an exception if the call fails.
Resolves T8383.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11281
2020-02-18 17:53:19 -03:00
Felipe Magno de Almeida 595cb754b3 eolian-mono: Make Get/Set internal for generated properties
Make Get and Set methods internal for properties that get the
property syntax generated.

Reviewed-by: João Paulo Taylor Ienczak Zanette <joao.tiz@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11252
2020-02-18 16:47:38 -03:00
Hermet Park d00dadb79a Revert "canvas mask: fix incorrect render surface size."
This reverts commit e3af5eb27f.

Seems previous is correct. My misunderstanding.
2020-02-18 20:07:55 +09:00
Hermet Park e3af5eb27f canvas mask: fix incorrect render surface size.
This render context works on a mask surface,
Size should be mask's own, not canvas output size.

@fix
2020-02-18 19:33:04 +09:00
junsu choi ae0994caa3 Efl.Gfx.Path: Fix condition of for loop in current search
END enum is 0. Fixed due to 064690d46e
@fix
2020-02-18 16:23:11 +09:00
Shinwoo Kim 5b349c1ea1 elm_transit: remove unnecessary image preload invocation
Summary:
If user uses image object with following step, then unnecessary preloading
related line is invocated in elm_image_file_set.

elm_image_file_set(obj, file, NULL)
elm_icon_preload_disabled_set(obj, EINA_TRUE)

The following is the preloading related line triggered by elm_image_file_set.

(#0) _image_preload_internal
(#1) _evas_image_load_async_start
(#2) evas_object_image_preload
(#3) _efl_ui_image_smart_internal_file_set
(#4) _efl_ui_image_efl_file_load
(#5) efl_file_load
(#6) efl_file_simple_load
(#7) elm_image_file_set

Moreover there is a flickering issue caused by the unnecessary preloading.
A test code is attached.

Test Plan:
Use following test code. The flickering issue occurs with `ELM_SCALE=10 ELM_ACCEL=gl ./test_transit`
{F3847288}

Reviewers: Hermet, jsuya

Reviewed By: Hermet, jsuya

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11364
2020-02-17 21:30:09 +09:00
junsu choi a4311f73ee edje: Disable the json vector animation feature with a flag.
Summary:
Json vector animation requires the json loader to be loaded.
Therefore, if the loader does not load,
it prints an appropriate error message and disables the feature.

Depends on D11228

Test Plan: N/A

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11230
2020-02-17 19:14:14 +09:00
YoungBok Shin 2fe158ce65 edje: add json file support feature
Summary:
It also starts to support following new edc properties.
This is backported patch from Tizen 5.0

1. frame
desc { "default"
   vector {
      frame: 0.5; // 0.0 ~ 1.0
   }
}

2. actions
program { "vector_animation";
   // VG_ANIM_PLAY, VG_ANIM_PLAY_BACK, VG_ANIM_LOOP,
   // VG_ANIM_STOP, VG_ANIM_PAUSE, VG_ANIM_RESUME
   action: VG_ANIM_PLAY;
   target: "your_vector_part";
}

@feature

Co-authored-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
  - Fix to remove Efl.Canvas.Animation_Player on edje

Test Plan:
{F3840540}
{F3840542}
{F3840543}
make and test attached file

edje_cc -beta -id ./ json_edc.edc json.edj
gcc -o test test_edc.c -g `pkg-config --cflags --libs evas elementary rlottie`
./test

Reviewers: Hermet, Jaehyun_Cho, id213sin

Reviewed By: Hermet

Subscribers: segfaultxavi, raster, cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11228
2020-02-17 18:59:09 +09:00
Yeongjong Lee ba8c349eed efl_ui_selection_manager: fix a compiler warning for Wayland support
Summary: `_sel_manager_seat_selection_get` is used only for x11.

Test Plan: meson build -Dx11=false -Dwl=true

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11363
2020-02-17 18:48:11 +09:00
Yeongjong Lee ef4bfd847a efl_ui_selection_manager: remove unnecessary variable
Summary: No logical changes.

Test Plan: meson build

Reviewers: Hermet, zmike

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11362
2020-02-17 18:47:54 +09:00
Yeongjong Lee 36275929af els_cursor: Fix a compiler warning for Wayland support
Summary:
`_curosors` is not used when Elementary is compiled for Wayland.
It Fixes a compiler warning.
```
../src/lib/elementary/els_cursor.c:46:26: warning: ‘_cursors’ defined but not used [-Wunused-variable]
 static struct _Cursor_Id _cursors[] =

```

Test Plan: meson build -Dx11=false -Dwl=true

Reviewers: zmike, Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11360
2020-02-17 15:36:03 +09:00
Yeongjong Lee 225b8f3ad8 edje_multisense: fix a compiler warning for pulseaudio disable mode
Summary: `_out_fail` is not used when edje is compiled without pulseaudio.

Test Plan: meson build -Dpulseaudio=false

Reviewers: zmike, Hermet, Jaehyun_Cho

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11361
2020-02-17 15:35:57 +09:00
Carsten Haitzler 0646de4f66 elm - scroller wheel accel - limit to avoid over/underflow
limit wheell accel multiplier to 100,000 ... this way sane values of
wheel_event->z will not overflow. also up intermediate coors to long
longs and clamp to be sure.
2020-02-15 18:43:27 +00:00
Carsten Haitzler 6a0de945e0 ecore con - also be paranoid with same nul byte checks in path str
this won't affect the target system which doesn't do abstract sockets
anyway, and it's just unlink "" ... but check if first byte is nul for
an asbtract socket and dont do lock files or unlinking in this case
2020-02-15 11:58:12 +00:00
Carsten Haitzler 0802f4dc95 ecore_con - on bsd if we get flock unlink old socket by force
trying to address other parts of the bsd socket hanging on bind() etc.
... unlink socket if we get the file lock as we should now have an
exclusive lock on the socket anyway - clear out the old one by force
once we have the lock.
2020-02-15 11:31:43 +00:00
Carsten Haitzler bddb538563 eina file - close on exec - doesnt exist on windows - vtorri 2020-02-15 11:20:38 +00:00
Marcel Hollerbach ffccc27b1d evas: stop handdefining eo types
that is just technical dept carrying arround.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11356
2020-02-14 19:34:57 +01:00
Marcel Hollerbach 1600b0f9ce efl_ui_spotlight_fade_manager: fix wrong typedef
the typedef used here is not really existing anymore.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11355
2020-02-14 19:34:53 +01:00
Yeongjong Lee 15973fb4df elm_main: remove unreachable condition
Summary: The condition `!*p` is always false because of line 1336.

Reviewers: zmike, Hermet, bu5hm4n

Reviewed By: zmike

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11349
2020-02-14 08:34:36 -05:00
Mike Blumenkrantz acee4e1db5 evas: restore codepath for loading images from files with skip_head set
Summary:
this was never handled during refactoring because it had already been
removed from the tree by that point

fix T8378
Depends on D11339

Reviewers: raster

Reviewed By: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Maniphest Tasks: T8378

Differential Revision: https://phab.enlightenment.org/D11340
2020-02-14 08:33:43 -05:00
Mike Blumenkrantz c37e545a03 Revert "evas: Compile out unused functions"
Summary:
This reverts commit 7d36ef88bc.
Depends on D11338

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11339
2020-02-14 08:33:38 -05:00
Mike Blumenkrantz dc14257c96 Revert "evas: remove image_load from the engine."
Summary:
This reverts commit 867d826395.
Depends on D11337

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11338
2020-02-14 08:33:32 -05:00
Mike Blumenkrantz 7aec0565cb Revert "evas: remove unused function evas_common_load_image_from_file."
Summary:
This reverts commit 7672d1050e.
Depends on D11335

Reviewers: raster

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11336
2020-02-14 08:33:20 -05:00