Commit Graph

65525 Commits

Author SHA1 Message Date
Carsten Haitzler 31da42a050 copying: remove obsolete items from copying that dont exist anymore 2020-03-26 17:07:29 +00:00
Marcel Hollerbach 1b39c772ea eina: prefetch for _eo_obj_pointer_get
Reviewers: raster, stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11603
2020-03-26 16:42:46 +00:00
Vincent Torri e0f5e80f78 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
2020-03-26 10:47:34 -04:00
Xavi Artigas 19c57d38db doxygen docs: Fix warnings in elm_config.h 2020-03-26 14:27:51 +01:00
Xavi Artigas 4204396176 doxygen docs: Fix warnings in Ecore_Common.h 2020-03-26 14:27:51 +01:00
Xavi Artigas 50f83d5d3a doxygen docs: Fix several warnings in Eina files 2020-03-26 14:27:51 +01:00
Marcel Hollerbach 8e20d28dfe 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
2020-03-26 13:58:09 +01:00
Marcel Hollerbach 790a63c15f 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
2020-03-26 13:58:07 +01:00
Ali Alzyod 43ac889bc1 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
2020-03-26 14:49:02 +09:00
Marcel Hollerbach f6cb234070 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
2020-03-25 22:13:29 +01:00
Marcel Hollerbach 43f95ec6b3 suite_helpers: add helper for key down events
usefull for emulating key events.
2020-03-25 22:13:28 +01:00
Marcel Hollerbach 91b3476d51 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
2020-03-25 22:13:28 +01:00
Marcel Hollerbach a4d7698492 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
2020-03-25 22:13:25 +01:00
Marcel Hollerbach 3bfb31c6fe 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
2020-03-25 22:13:22 +01:00
Marcel Hollerbach 7d89ddc67d 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
2020-03-25 22:13:20 +01:00
Mike Blumenkrantz e45767b004 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
2020-03-25 22:13:17 +01:00
Mike Blumenkrantz d10882ef14 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
2020-03-25 22:13:14 +01:00
Mike Blumenkrantz 9324bcc361 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
2020-03-25 22:13:12 +01:00
Mike Blumenkrantz 1af46ef302 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
2020-03-25 22:13:10 +01:00
Mike Blumenkrantz a29d54d1d8 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
2020-03-25 22:13:07 +01:00
Mike Blumenkrantz 8e5625dbe6 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
2020-03-25 22:13:04 +01:00
Mike Blumenkrantz c697965a8c 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
2020-03-25 22:13:02 +01:00
Mike Blumenkrantz e8eb67a557 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
2020-03-25 22:12:59 +01:00
Marcel Hollerbach 66e2d71414 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
2020-03-25 22:12:56 +01:00
Carsten Haitzler 030ef36c72 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
2020-03-25 17:11:28 +00:00
Mike Blumenkrantz 6068cc9039 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
2020-03-25 09:27:16 -04:00
Stefan Schmidt 9330861f12 ecore_cocoa: remove left over from evas3d removal
These directories do not exist any longer. Failing build on CI.
2020-03-25 12:54:39 +01:00
Hermet Park 476e2b0521 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
2020-03-25 19:14:02 +09:00
Shinwoo Kim d4e6303d9e 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
2020-03-25 19:12:30 +09:00
Christopher Michael 8e4b798c51 efl/mailmap: Move unused addresses to the bottom of list 2020-03-24 16:57:35 -04:00
Christopher Michael bdf4e55edf Revert "efl/mailmap: Remove old unused addresses"
Revert these in favor of reorder so we can keep history

This reverts commit 94a8080355.
2020-03-24 16:52:29 -04:00
Christopher Michael 94a8080355 efl/mailmap: Remove old unused addresses 2020-03-24 16:20:02 -04:00
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 cd13b40f66 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
2020-03-24 20:41:14 +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 f4a877d17d 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
2020-03-24 13:22:19 -04:00
Mike Blumenkrantz 6268bb36ea 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
2020-03-24 13:22:16 -04: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