Commit Graph

65696 Commits

Author SHA1 Message Date
Marcel Hollerbach 7466ca4de7 exactness_play: transform to LD_PRELOAD library
this can now be loaded as LD_PRELOAD library

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11615
2020-03-31 14:56:33 +02:00
Marcel Hollerbach 09a7ebdc62 exactness_player: refactor main method
this refactors everything that is not argc argv related out of the main
method. For later usage

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11614
2020-03-31 14:56:31 +02:00
Marcel Hollerbach 8ee3ecff95 exactness: remove code for compiling
this seems to be made for compiling binaries before testing. That sounds
like a good idea, however, implementing a full buildtool in exactness is
a bit hard. Hence, using meson for that would be better.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11613
2020-03-31 14:56:28 +02:00
Marcel Hollerbach 506b354842 exactness_record: introduce runner script
this is just a little python script, so you can lunch exactness_record
without the need of handdefining LD_PRELOAD

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11611
2020-03-31 14:56:25 +02:00
Marcel Hollerbach 7891e8582b exactness_recorder: move to preload
this is now not a binary anymore, that dlopen's a binary, it is now a
library, that can be loaded using LD_PRELOAD. EXACTNESS_DEST is used for
the path of the .exu file. EXACTNESS_FONTS_DIR is used to get the fonts
directory

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11610
2020-03-31 14:56:23 +02:00
Marcel Hollerbach 4ecc94f84a exactness_recorder: refactor main method
all calls taht are not related to env var checking, are moved out of the
main method. That is in preparation for later refactorings.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11623
2020-03-31 14:56:21 +02:00
Christopher Michael 9fbe26998b 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
2020-03-30 14:34:41 -04:00
Christopher Michael dc7283eb14 ecore_evas_wayland: Declare variables at top of function 2020-03-30 14:33:23 -04:00
Marcel Hollerbach f885896890 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
2020-03-30 16:57:51 +02:00
Hermet Park 2c4b5f0b4c canvas vg: null initialization for safety. 2020-03-30 21:30:08 +09:00
Marcel Hollerbach e33f3fd7c9 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
2020-03-30 13:57:48 +02:00
Shinwoo Kim 85199d5462 elm_atspi_bridge: initialize variables
The efl_access_text_attribute_get is resolved by elm_entry.
Please refer to _elm_entry_efl_access_text_attribute_get first.
Uninitialized variables are used for its parameters, and it is able to
return before setting these variables.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11619
2020-03-30 11:09:39 +02:00
Stefan Schmidt 948dfe6e4b 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
2020-03-27 15:46:01 +01:00
Stefan Schmidt 191171e4c8 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
2020-03-27 15:06:13 +01:00
Stefan Schmidt aa34cc0489 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
2020-03-27 15:06:10 +01:00
Stefan Schmidt 32b9a9eba0 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
2020-03-27 15:06:08 +01:00
Xavi Artigas 80acb33898 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
2020-03-27 13:33:04 +01:00
Xavi Artigas 0fa18c0866 doxygen docs: Add missing docs for core Eina types
Things like EINA_LIKELY or EAPI were undocumented...
2020-03-27 13:33:04 +01:00
Bartlomiej Grzelewski d82f530e77 elm_atspi_bridge: fix bugs reported by coverity
Prevent usage of uninitilized values.

CID: 1421995, 1421997, 1422001

Signed-off-by: Bartlomiej Grzelewski <b.grzelewski@samsung.com>
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11612
2020-03-27 13:15:50 +01:00
Bartlomiej Grzelewski 692d697cc3 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
2020-03-27 13:15:48 +01:00
Myoungwoon Roy, Kim 3feacb2b66 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
2020-03-27 10:19:54 +01:00
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