Bartlomiej Grzelewski [Fri, 27 Mar 2020 11:24:42 +0000 (11:24 +0000)]
elm_atspi_bridge: fix bugs reported by coverity
Make sure we free allocated resources in the error path.
Prevent usage of uninitilized value.
Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11607
Change-Id: I1d86a397a9d983d8b733615ffeaf318d4f0c9437
Prasoon Singh [Fri, 27 Mar 2020 13:28:02 +0000 (18:58 +0530)]
[access] Add missing widget name setter
Implementation file has _efl_ui_widget_efl_access_object_i18n_name_set
but same is missing from eo file. Due to which issue in access
name set/get API.
Change-Id: Iff96512d3b985bda06afe0ea65d99784eda559e9
Signed-off-by: Prasoon Singh <prasoon.16@samsung.com>
Wonki Kim [Mon, 30 Mar 2020 09:38:24 +0000 (18:38 +0900)]
scroller: fix a focus logic to move next/prior.
efl_ui_scrollable interface doesn't have a getter related with page number
this patch fixes a focus logic to move next/prior by pan size.
Change-Id: I0ad41886a1157e00a460c85705571de164b4510b
Christopher Michael [Mon, 30 Mar 2020 18:34:41 +0000 (14:34 -0400)]
ecore_evas_wayland: Do not pass negative parameter to close function
Coverity reports that 'fd' here is negative, and close() cannot accept
a negative parameter, so add a check to make sure 'fd' is not negative
before passing to close function.
Fixes CID1420318
Christopher Michael [Mon, 30 Mar 2020 18:33:23 +0000 (14:33 -0400)]
ecore_evas_wayland: Declare variables at top of function
Marcel Hollerbach [Mon, 30 Mar 2020 14:22:37 +0000 (16:22 +0200)]
efl_ui_textbox: pass in correct seat
0 was the wrong seat, and only worked on a small amount of systems
fixes T8639
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11622
Hermet Park [Mon, 30 Mar 2020 12:30:08 +0000 (21:30 +0900)]
canvas vg: null initialization for safety.
Marcel Hollerbach [Thu, 26 Mar 2020 15:44:55 +0000 (16:44 +0100)]
exactness_recorder: cleanup code a bit
_test_name was not used globally, so lets move it to the used scope.
Verbose is not used at all either.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11609
Woochanlee [Thu, 26 Mar 2020 03:44:15 +0000 (12:44 +0900)]
ecore_wl2: Introduce ecore_wl2_window_pointer/keyboard get APIs.
To support multi seat, It should be able to get the input connected to the focused window.
Change-Id: I45a1c3a049fd46a97471bc8485599f8f28c75f59
Shinwoo Kim [Fri, 27 Mar 2020 01:48:49 +0000 (10:48 +0900)]
elm_atspi_bridge: add missing line
This patch adds missing line of
https://review.tizen.org/gerrit/#/c/platform/upstream/elementary/+/153836/
Especially,
this patch makes atspi_bridge send a signal for INPUT_METHOD_WINDOW.
Without this patch, the virtual keyboard does not work correctly
for accessibility.
@tizen_fix
Change-Id: I95d5a478c629de904e38bc2ff01d6d055de8a0ca
Woochanlee [Wed, 25 Mar 2020 08:55:04 +0000 (17:55 +0900)]
ecore_wl2: Support keygrab privilge to make it public.
Among the keygrab APIs, other modes except TOPMOST can only call processes with platform level privilege.
These APIs will be used by 3rd-party without privilege inevitably.(TOPMOST mode only.)
@tizen_only
Change-Id: I556169a5bd74898e186596fefc4548064365a544
Stefan Schmidt [Fri, 27 Mar 2020 08:54:43 +0000 (09:54 +0100)]
ci: enable ecore_con IPv6 tests
We have them behind an env variable as this is system specific. Enable
them on CI to fully test these paths as well.
While this works out of the box for the native build on Travis it fails
for our docker builds, as the dockerd does not have ipv6 enabled by
default. Only enable for Codecov for now.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11608
Stefan Schmidt [Wed, 25 Mar 2020 12:37:13 +0000 (13:37 +0100)]
ci: travis: enable s390x build on daily cron
As there is no luajit package for s390x in Ubuntu Bionic we need to
adapt our installed packages as well as config options for it.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11601
Stefan Schmidt [Tue, 24 Mar 2020 12:11:31 +0000 (13:11 +0100)]
travis: enable more archs during cron build
Enable builds on ppc64le on our daily build. s390x will follow at some
later point (once all quirks are resolved).
As we also use the Linux native build from Travis for Codecov we start
to handle meson options based on builds here as well.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11586
Stefan Schmidt [Tue, 24 Mar 2020 12:58:21 +0000 (13:58 +0100)]
ci: install needed packages for ppc64le builds
It seems on ppc64le and s390x these do not get pulled in automatically.
We need them for regex.h, make sure they are installed before building.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11585
Xavi Artigas [Fri, 27 Mar 2020 10:46:24 +0000 (11:46 +0100)]
Eina: Remove eina_prime_table
This has been present since ancient times and no current uses have been detected.
It's an array containing SOME prime numbers without a terminator, so the caller
needs to know the array length in advance.
This does not look very useful (or usable) and therefore it has been decided in
public IRC session to send this thing to hell.
Witnesses: raster stefan_schmidt bu5hm4n
Xavi Artigas [Fri, 27 Mar 2020 10:40:57 +0000 (11:40 +0100)]
doxygen docs: Add missing docs for core Eina types
Things like EINA_LIKELY or EAPI were undocumented...
Myoungwoon Roy, Kim [Fri, 27 Mar 2020 09:11:12 +0000 (10:11 +0100)]
docs: Fix Eina Core Group
Summary: I had fixed unlinked Eina API group(eina_main, eina_types, hamster) from Eina nodes. Those APIs included into Core group before.
Test Plan: API reference documentation modification only
Reviewers: segfaultxavi
Reviewed By: segfaultxavi
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11605
JunsuChoi [Thu, 26 Mar 2020 05:04:44 +0000 (14:04 +0900)]
atspi : Add check for chain end object with attribute
When searching for a neighbor object,
check whether there is an "relation_chain_end" attribute.
If it does, it returns the current object.
This patch is missed when migrating from 4.0 to 5.0.
https://review.tizen.org/gerrit/#/c/platform/upstream/elementary/+/154970/
Change-Id: I61e5126b805391bcaa9ef6fa6448bb078b797001
Carsten Haitzler (Rasterman) [Thu, 26 Mar 2020 17:07:29 +0000 (17:07 +0000)]
copying: remove obsolete items from copying that dont exist anymore
Marcel Hollerbach [Thu, 26 Mar 2020 16:42:46 +0000 (16:42 +0000)]
eina: prefetch for _eo_obj_pointer_get
Reviewers: raster, stefan_schmidt
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11603
Vincent Torri [Thu, 26 Mar 2020 14:47:34 +0000 (10:47 -0400)]
fix segfault when there is no text in clipboard
Test Plan: cnp a clipboard content without text
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11565
Xavi Artigas [Thu, 26 Mar 2020 13:26:48 +0000 (14:26 +0100)]
doxygen docs: Fix warnings in elm_config.h
Xavi Artigas [Thu, 26 Mar 2020 12:46:46 +0000 (13:46 +0100)]
doxygen docs: Fix warnings in Ecore_Common.h
Xavi Artigas [Tue, 24 Mar 2020 15:49:04 +0000 (16:49 +0100)]
doxygen docs: Fix several warnings in Eina files
Marcel Hollerbach [Tue, 24 Mar 2020 19:08:46 +0000 (20:08 +0100)]
eo: move all call assignment
this improves the cache performance a lot. Caches are only invalidated
once, and not multiple times.
Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Differential Revision: https://phab.enlightenment.org/D11592
Marcel Hollerbach [Tue, 24 Mar 2020 18:54:56 +0000 (19:54 +0100)]
eo: there is no reason to equip for calls to classes
calls to classes are not needed anymore, since class inheritance is not
a thing anymore. After removing is_obj from the function the compile can
optimize the code better, since assignments to fields are not
conditionally anymore.
Reviewed-by: Carsten Haitzler (Rasterman) <rasterman.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11591
Ali [Thu, 26 Mar 2020 05:49:02 +0000 (14:49 +0900)]
evas_textblock: prevent updating cursor unless they are ready during markup_set
Summary:
During Markup_set at text block level, we will not update the cursors, unless their status is updated and ready.
This can cause serious issues, especially if a cursor also depends on another cursor for some calculations, (like the segfault happening in TextBox T8637)
Reviewers: woohyun, bu5hm4n, zmike
Reviewed By: woohyun
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Maniphest Tasks: T8637
Differential Revision: https://phab.enlightenment.org/D11598
Marcel Hollerbach [Wed, 25 Mar 2020 21:01:16 +0000 (22:01 +0100)]
efl_ui_spin_button: add tests for direct input feature
this simply passes in some key sequences and checks if the validation is
working. Additionally the output value is checked.
Depends on D11009
Differential Revision: https://phab.enlightenment.org/D11010
Marcel Hollerbach [Wed, 25 Mar 2020 21:01:06 +0000 (22:01 +0100)]
suite_helpers: add helper for key down events
usefull for emulating key events.
Marcel Hollerbach [Wed, 25 Mar 2020 09:12:54 +0000 (10:12 +0100)]
suite_helper: do not use stacked values here
this is ending up beeing garbage pointers when not properly overwritten.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11597
Marcel Hollerbach [Mon, 23 Mar 2020 20:53:54 +0000 (21:53 +0100)]
evas_textblock_tests: do not free a text cursor here
the cur_obj would have been always dead at this point, as the textblock
was freed. This now moved the textcursor object to a previous point.
However, we could also remove the explicit cursor deletion...
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11596
Marcel Hollerbach [Mon, 23 Mar 2020 20:52:05 +0000 (21:52 +0100)]
efl_check: unset the callback here
this is needed in order to not accidently overwrite stack values.
This never showed up while running the test suite, as erroring would
have aborted anyways. However, when we are running with CK_FORK=no, this
may leak into another test.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11595
Marcel Hollerbach [Mon, 23 Mar 2020 20:48:25 +0000 (21:48 +0100)]
evas: free font lists correctly
sometimes a canvas object is zombying, and does not get freed correctly.
If this is right now happening in our test suite, we are going to free
the list, but do not clean up the pointer in there.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11594
Mike Blumenkrantz [Tue, 17 Mar 2020 16:07:49 +0000 (12:07 -0400)]
edje/multisense: track and destroy multisense inputs on shutdown
leaking these means leaking file references, and there's no reason for it
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11533
Mike Blumenkrantz [Tue, 17 Mar 2020 16:07:28 +0000 (12:07 -0400)]
edje/multisense: free multisense output on shutdown
this comment has now been addressed
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11532
Mike Blumenkrantz [Tue, 17 Mar 2020 16:06:13 +0000 (12:06 -0400)]
ecore/audio: rewrite pulseaudio output to not use global variables
this breaks down immediately when calling init/shutdown in quick succession
due to the async nature of pulseaudio. we have object-based private data, so
we can just use that instead
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11531
Mike Blumenkrantz [Tue, 17 Mar 2020 16:05:01 +0000 (12:05 -0400)]
ecore/audio: correctly handle sndfile error when setting new vio
need to immediately call the free here to avoid leaking the callback data
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11530
Mike Blumenkrantz [Tue, 17 Mar 2020 16:04:38 +0000 (12:04 -0400)]
ecore/audio: remove duplicated vio code from sndfile input
this is already done in the base implementation
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11529
Mike Blumenkrantz [Tue, 17 Mar 2020 16:03:52 +0000 (12:03 -0400)]
ecore/audio: add a couple more functions to the pulse callback struct
to be used later
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11528
Mike Blumenkrantz [Tue, 17 Mar 2020 16:03:03 +0000 (12:03 -0400)]
ecore/audio: free vio on in/out object destruction
ensure we don't leak these since that means we also leak the user's free
data and callback
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11527
Mike Blumenkrantz [Tue, 17 Mar 2020 16:02:23 +0000 (12:02 -0400)]
ecore/audio: add ERR messages when trying to overwrite existing vio
this probably causes a crash or a leak at some point
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11526
Marcel Hollerbach [Wed, 25 Mar 2020 14:24:09 +0000 (15:24 +0100)]
exactness: handbuild a new argv array instead of reassemling the new one
this commit removes the code that was changing argv values, and replaces
it with a new array. Which is absolutly fine, as the argv / argc values
are never accessed later on. Only the copies that have been passed to
efl_main or elm_main.
This resolves several issues:
1. the for loop is useless, every single array element that gets
initialized with it, is some offset from argv[0] this may also crash
when argv[i] - argv[opt_args] is bigger strlen argv[0].
2. The memcpy here is super dangerous, the dest array is not garanteed
to have the same size as argv[0], this only works if the client
application name is shorter than the name "exactness_recorder"
3. The memset here is absolutly wrong. There is again no garantee that
the array has the expected size behind that, this was constantly
overwriting the segment after the place where argv was stored, which
was lukely enough on fedora always the environs, which deleted the
couple first segments. (This was not causing any fuzz, since they
have been sudo related env vars on the docker image). However, on
arch this just crashed right away. On Ubuntu this overwrote DISPLAY,
which resulted in the unability to launch the app.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11600
Hermet Park [Fri, 20 Mar 2020 09:00:24 +0000 (09:00 +0000)]
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
Change-Id: Ib9dc06e5c3197a6bdfc45edac2d7a5db1cb64219
Hosang Kim [Mon, 23 Mar 2020 08:17:08 +0000 (17:17 +0900)]
ecore_evas_tbm: add surface_get and stride_get symbols.
Change-Id: If833a6fef1789541be88e5292992aec534ddabc4
(cherry picked from commit
7a8201697f3d41fe3c50482a6befcda6f903f683)
Carsten Haitzler (Rasterman) [Wed, 25 Mar 2020 16:46:27 +0000 (16:46 +0000)]
emotion - webcam - fix segv on webcam plug/unplug and clean
well hunting was fun... custom webcams i just cant see being used. no
api to add them - have to hand craft a config file .. and udev/eeze
provide info on webcam devices anyway at runtime with plug/unplug etc.
... so this should be the only ay (for now) and it keesp the code
simpler and less bug-prone
now issue was some nasty skipping unref as opposed to destroy. in
chasing i simplified the code to help me narrow it down and not chase
the same logic in multiple places. shorter cleaere, simpler and minux
one bug.
@fix
Mike Blumenkrantz [Wed, 25 Mar 2020 13:27:16 +0000 (09:27 -0400)]
evas/render: minor cleanups for norender functions
Summary:
evas_norender cannot produce update regions, so there's nothing to free
remove commented lines
no functional changes
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11584
Stefan Schmidt [Wed, 25 Mar 2020 11:54:39 +0000 (12:54 +0100)]
ecore_cocoa: remove left over from evas3d removal
These directories do not exist any longer. Failing build on CI.
Hermet Park [Wed, 25 Mar 2020 10:14:02 +0000 (19:14 +0900)]
canvas 3d: remove all canvas3d features across efl.
Reviewers: jsuya, kimcinoo, bu5hm4n, raster
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11552
Shinwoo Kim [Wed, 25 Mar 2020 10:12:16 +0000 (19:12 +0900)]
efl_ui_image: keep efl_ui_image size for internal image
Summary:
The size of internal image could be bigger than the size of efl_ui_image
with following code.
image = elm_image_add
elm_image_fill_outside_set(image, EINA_TRUE);
If the internal image object is 300x300, and efl_ui_image is 360x77, then
the internal image object will resize to 360x360 which is bigger than the
size of efl_ui_image.
This is a compatibility issue. This patch will make efl_ui_image work as
before commit
8cb6c3e Elm_image: implement 'scale_type' and 'scalable'...
Test Plan:
This is old example to reproduce the problem.
{
F3859361}
This is newly added example to check if this patch breaks compatibility or not.
{
F3859390}
You can use the example with following image.
{
F3859391}
This is result before applying this patch.
{
F3859388}
This is result after applying this patch.
{
F3859389}
The translucent rectangle is the size of the efl_ui_image.
As you might be noticed, only FIT_WIDTH (the 4th one of each row),
and EXPAND (the 6th one of each row) are different.
One more difference the 1st one of 2nd row; NONE.
F.Y.I. and for quick understanding of example.
The 1st row efl_ui_image is bigger than internal image.
The 2nd row efl_ui_image is smaller than internal image.
From the left the scale type is NONE, FILL, FIT, FIT_WIDTH,
FIT_HEIGHT, EXPAND, and TILE.
Reviewers: Hermet, jsuya, herb
Reviewed By: Hermet
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11587
Bartlomiej Grzelewski [Tue, 24 Mar 2020 11:08:03 +0000 (12:08 +0100)]
ATSPI bridge refactoring
Add support for Text Interactive interface.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11486
Change-Id: I9b862608cacbcbc3c29af0e515bf6364de05f829
Yeongjong Lee [Tue, 29 Oct 2019 01:24:31 +0000 (10:24 +0900)]
elm_entry: use legacy focus function for legacy widget
Since focus manager is not used in tizen, we should use elm_widget_focus_get
instead of efl_ui_focus_object_focus_get.
@tizen_fix
Change-Id: I9aa7da4ec33551eb653d90eb16e0a62e629d719b
Maria Bialota [Thu, 19 Mar 2020 18:04:50 +0000 (19:04 +0100)]
[Elm AT-SPI Bridge] Replaced service name validation with sanitization.
This is to enable proper handling of services with names containing non-standard characters such as @.
Change-Id: Iff2ee845648c6e40fd9c950e7fb02ea331cff818
Christopher Michael [Tue, 24 Mar 2020 20:57:35 +0000 (16:57 -0400)]
efl/mailmap: Move unused addresses to the bottom of list
Christopher Michael [Tue, 24 Mar 2020 20:52:29 +0000 (16:52 -0400)]
Revert "efl/mailmap: Remove old unused addresses"
Revert these in favor of reorder so we can keep history
This reverts commit
94a80803558a682e78b53e190b23c32b54200c65.
Christopher Michael [Tue, 24 Mar 2020 20:17:52 +0000 (16:17 -0400)]
efl/mailmap: Remove old unused addresses
Marcel Hollerbach [Tue, 24 Mar 2020 14:48:20 +0000 (15:48 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 14:45:22 +0000 (15:45 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 14:21:04 +0000 (15:21 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 14:19:23 +0000 (15:19 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 13:40:11 +0000 (14:40 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 13:39:54 +0000 (14:39 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 13:39:10 +0000 (14:39 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 12:55:19 +0000 (13:55 +0100)]
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
Marcel Hollerbach [Tue, 24 Mar 2020 12:54:37 +0000 (13:54 +0100)]
edje_cc: free ecore_evas
we have initialized it, we should shutdown it.
This was we are not getting random vtable allocation leak reports in the
asan job anymore.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11572
Marcel Hollerbach [Tue, 24 Mar 2020 12:22:16 +0000 (13:22 +0100)]
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
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:19 +0000 (13:22 -0400)]
tests/elm: add strict test to verify elm image gif support
Summary: Depends on D11583
Reviewers: kimcinoo, Hermet, raster, cedric, bu5hm4n
Reviewed By: bu5hm4n
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11484
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:16 +0000 (13:22 -0400)]
tests/elm: use norender_with_updates
Summary: Depends on D11582
Reviewers: bu5hm4n
Reviewed By: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11583
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:12 +0000 (13:22 -0400)]
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
Mike Blumenkrantz [Tue, 24 Mar 2020 17:22:09 +0000 (13:22 -0400)]
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
Carsten Haitzler (Rasterman) [Tue, 24 Mar 2020 13:26:10 +0000 (13:26 +0000)]
eo - fix err path for eo_isa to unlock shared objects
fix CID
1363294
Xavi Artigas [Tue, 24 Mar 2020 12:42:08 +0000 (13:42 +0100)]
doxygen docs: Fix warnings in Ecore_Wl2.h and associates
Xavi Artigas [Tue, 24 Mar 2020 12:00:35 +0000 (13:00 +0100)]
doxygen docs: Fix warnings in Ecore_Evas.h
And a couple associated places.
Xavi Artigas [Tue, 24 Mar 2020 10:58:38 +0000 (11:58 +0100)]
doxygen docs: Fix warnings in Edje_Edit.h
And since we're at it, fix some typos too.
JunsuChoi [Tue, 24 Mar 2020 12:08:17 +0000 (21:08 +0900)]
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
JunsuChoi [Tue, 24 Mar 2020 12:00:26 +0000 (21:00 +0900)]
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
Stefan Schmidt [Mon, 23 Mar 2020 16:46:10 +0000 (17:46 +0100)]
exactness: switch from homegrown debug printf to eina_log
Use a full eina_log domain here for each executable. No need to have a
own half baked ex_printf version here for such things.
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11558
Stefan Schmidt [Thu, 19 Mar 2020 16:39:03 +0000 (17:39 +0100)]
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
JunsuChoi [Tue, 24 Mar 2020 10:11:26 +0000 (19:11 +0900)]
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
WooHyun Jung [Mon, 23 Mar 2020 11:06:18 +0000 (20:06 +0900)]
efl_ui_widget: remove meaningless comparison in for loop
Change-Id: If375316de5c961a96a9e005966a47fef1210c3ec
Bartlomiej Grzelewski [Fri, 20 Mar 2020 13:29:47 +0000 (14:29 +0100)]
Remove duplicated enum
Currently Efl defines two enums:
* Efl_Access_Gesture_State
* Elm_Atspi_Gesture_State
Both off them have same values and both are used in API.
This creates problems for efl developers (additional casting)
as for application developers because Api was not consistant.
Change-Id: I71c350415b00678cbbca5cbf71b7271448931dda
Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Mike Blumenkrantz [Thu, 12 Mar 2020 17:17:14 +0000 (13:17 -0400)]
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
Marcel Hollerbach [Mon, 23 Mar 2020 16:35:12 +0000 (17:35 +0100)]
efl_ui_test_widget: add test for subtree disabling / tree unfocusabling
this is valdating the previous commit.
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11557
Marcel Hollerbach [Mon, 23 Mar 2020 16:32:56 +0000 (17:32 +0100)]
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
Lucas Cavalcante de Sousa [Fri, 28 Feb 2020 15:58:08 +0000 (15:58 +0000)]
C#: Update C# code-generation to use a new ICustomMarshaler in some string usages that were leaking
When `C` calls a function that return/has an out string and it was overwritten by `C#` inherit class the `C` portion
wasn't cleaning its copy. Now, when a `C` calls a `C#` delegate function, `Strings` that are `out` values or `return`
values use a new marshaler (specific to this case) that uses Eina short lived strings (`Eina_Slstr`) instead of
duplicating it with `strdup`, so at some point, the string passed to `C` is deleted.
To do so, a `direction_context` (a new `Context` at `generation_contexts.hh`) was created. It is only used when a C#
delegate is being called from C (so this context is only set in `function_definition.hh` and `property_definition.hh`,
where it is set to `native_to_manage` to indicate that it is a native call to a managed function).
When this `direction_context` is set and the `String` being marshaled is not marked with an `@move` tag and it is an
`out` or `return` value, the new `StringOutMarshaler` (implemented at `iwrapper.cs`) is used (instead of
`StringKeepOwnershipMarshaler`).
When marshaling a managed data to native this marshaler uses eina short lived string (`Eina_Slstr`) that will be
automatically deleted. This delete is bounded to "the loop of the current thread or until the clear function is called
explicitly" as said at `src/lib/eina/eina_slstr.h`.
Reviewed-by: Felipe Magno de Almeida <felipe@expertisesolutions.com.br>
Differential Revision: https://phab.enlightenment.org/D11434
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:25 +0000 (12:12 -0400)]
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
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:19 +0000 (12:12 -0400)]
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
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:12 +0000 (12:12 -0400)]
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
Marcel Hollerbach [Mon, 23 Mar 2020 16:12:06 +0000 (12:12 -0400)]
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
Xavi Artigas [Mon, 23 Mar 2020 11:14:07 +0000 (12:14 +0100)]
doxygen docs: Fix warnings in textblock
Xavi Artigas [Mon, 23 Mar 2020 10:20:12 +0000 (11:20 +0100)]
doxygen docs: Fix Exactness warnings
Marcel Hollerbach [Mon, 23 Mar 2020 10:32:48 +0000 (11:32 +0100)]
Revert "Revert eo vtale rework..."
This reverts commit
efb15f510c70acde922d59708494539aa686c408.
The error that was causing this was in ector, and is fixed with the
previous commit.
Marcel Hollerbach [Mon, 23 Mar 2020 10:20:56 +0000 (11:20 +0100)]
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.
Carsten Haitzler (Rasterman) [Mon, 23 Mar 2020 09:04:33 +0000 (09:04 +0000)]
Revert eo vtale rework...
Revert "eo: redo vtable mro creation"
This reverts commit
b05110609b38b24f5a11b78bf9a92212da713ce3.
Revert "eo: add a generic memory allocation tracking method"
This reverts commit
44071e3102a1526370ae6d653b93a1d20fe87339.
Revert "eo: rework vtable allocation scheme"
This reverts commit
3bd16a46f1098f5533723208feae8abafae4e8ab.
Revert "eo: do not allocate extension if deleting"
This reverts commit
64f7edc7fc0596425cdc2a1db8aacf06430994f0.
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
Hermet Park [Mon, 23 Mar 2020 05:39:53 +0000 (14:39 +0900)]
Hermet Park [Mon, 23 Mar 2020 05:16:48 +0000 (14:16 +0900)]
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.
Wonki Kim [Fri, 20 Mar 2020 05:05:26 +0000 (14:05 +0900)]
interface_scrollable: modify to use a config value for adjusting
_elm_config->thumbscroll_sensitivity_friction was used for calculating time delta variable.
this patch introduces the config value for adjusting dt value
Change-Id: I13ed1cac2ed3226e17018f05d4f61195fe8c3a04
Wonki Kim [Wed, 18 Mar 2020 04:36:36 +0000 (13:36 +0900)]
ecore: fix a potentional null dereferencing
Summary:
there is a potentional problem that is about null pointer dereferencing(values[0], and values[1])
this patch fixes it.
Reviewers: bu5hm4n
Subscribers: cedric, #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D11534
Change-Id: I20d98cee2b2f76e3e6b923e8c489d07ad238b0bd
Carsten Haitzler (Rasterman) [Sun, 22 Mar 2020 18:39:54 +0000 (18:39 +0000)]
ecore evas cnp x - fix nul byte extras when text pasting to other apps
i was seeing junk bytes in pastes to chromium... it was an extra nul
byte. this will special-case nuke that.
Marcel Hollerbach [Fri, 20 Mar 2020 11:32:44 +0000 (11:32 +0000)]
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