there is no need to do that, more than that. This is super dangerous,
the display and connection ptr of x are passed from ecore_evas to evas,
if you delete evas before ecore_evas, the later ecore_evas deletion will
destroy the x connection which calls some functions in evas, which is
already freed, which leads to a crash.
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11617
this is just a little python script, so you can lunch exactness_play
without the need of handdefining LD_PRELOAD
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11616
this can now be loaded as LD_PRELOAD library
Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11615
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
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
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
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
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
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
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
_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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
this comment has now been addressed
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11532
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
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
this is already done in the base implementation
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11529
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
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
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
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