Commit Graph

3240 Commits

Author SHA1 Message Date
Carsten Haitzler cd7b594466 elm - combobox - pretty borken but make it a little less
add some tests so i can see smaller comboboxes with padding and fix
the scaling which was broken.
2020-04-26 13:16:11 +01:00
Stefan Schmidt f5516e896d exactness: check action for NULL
If the given events list is NULL the data pointer would be as well. Make
sure we check for NULL here before accessing.

CID: 1419843

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11754
2020-04-23 13:21:54 +02:00
Stefan Schmidt d4c8bd4f4f exactness: use convinience ecore_file function to get dir
Instead of doing our own parsing here we should use ecore_file_dir_get()
which uses dirname() already to solve this.

CID: 1422196

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11727
2020-04-23 13:06:35 +02:00
Stefan Schmidt 7452700618 exactness: do not access potential NULL pointer
These to code lines should be in one block and not one exectued without
the if.

CID: 1422198

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11726
2020-04-23 13:06:33 +02:00
Marcel Hollerbach df16616feb exactness-inspect: do not use sprintf
there is not yet a CID for this, but we should probebly not do that.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es>
Differential Revision: https://phab.enlightenment.org/D11731
2020-04-20 12:30:21 +02:00
Marcel Hollerbach 114412d547 exactness-inspect: remove abscure xor check
this is a obscure check, if this was ever reached, then it would simply
crash, because one pointer will be NULL, but strcmp will be called on
it.

CID 1419854

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11722
2020-04-20 12:30:18 +02:00
Stefan Schmidt 6b1ed0f573 exactness: make sure we handle a negative file descriptor
In an error case the fd could be negative here and we should check
before feeding it into fdopen(). This is the same patch we used in
recorder.c

CID: 1422194

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11728
2020-04-20 12:20:54 +02:00
Stefan Schmidt 25f4cba10d exactness: make sure we handle a negative file descriptor
In an error case the fd could be negative here and we should check
before feeding it into fdopen().

CID: 1422197

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11725
2020-04-20 12:20:52 +02:00
Stefan Schmidt c80b0b1360 exactness: handle case where eet_data_image_write() fails
We never checked how many bytes had been written. Check on return and
propagate error upwards to caller.

CID: 1419856

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11724
2020-04-20 12:20:50 +02:00
Stefan Schmidt 000464c842 exactness: remove unused code
We no longer support the old .rec format and we can always expect the
file to be exu. Coverity found this block to be always true so the else
part could not be reached.

CID: 1421996

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11723
2020-04-20 12:20:48 +02:00
Marcel Hollerbach 04567a16db exactness-inspect: unit1 can never be NULL
checkinf for it beeing NULL means that we would have to equip every
usage of unit1 with a check, but that is useless.

CID 1419859

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11721
2020-04-17 17:14:57 +02:00
Marcel Hollerbach 66adfc97f6 exactness-inspect: fix NULL access
ii might be NULL so we should ensure it is not NULL to call item_select

CID 1419865

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11720
2020-04-17 17:14:55 +02:00
Marcel Hollerbach 38d74c8a1a exactness-inspect: sanitize if clause
these if clause where a bit bottom up, and the xor operation here seemed
totally wrong, with this code we are simply displaying both entiteis of
the two structs when they are there. *or* we are replacing it with the
fallback.

CID1419875

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11719
2020-04-17 17:14:53 +02:00
Carsten Haitzler 838a67d311 elm - genlist test - handl g_data being null
fix CID 1396944 1396946
2020-04-17 12:48:33 +01:00
Stefan Schmidt 61599d67ed exactness: limit length for font_path to stay in buffer
We get fonts_dir from a getenv() without and length check. Make sure
that we stay in the given buffer size when stitching the file path
together.

CID: 1422195

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11718
2020-04-17 10:43:04 +02:00
Stefan Schmidt 95bff0fac9 exactness: fix typo in function name
Simple spelling mistake. overlay instead of overloay.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11714
2020-04-17 10:43:01 +02:00
Stefan Schmidt d02bbe42b9 exactness: remove no longer used code since move to preload
This has been around for prg handling before we switched to preload. No
need for it anymore. Found when looking for a Coverity issue, which also
got fixed now by luck. :-)

CID: 1421994

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11713
2020-04-17 10:42:59 +02:00
Carsten Haitzler 03164bfacf efreet - disable strict as this makes things less functional... 2020-04-16 13:33:37 +01:00
Carsten Haitzler b376c2a902 efreet - look in /usr/local/share/pixmaps too 2020-04-16 13:04:03 +01:00
Xavi Artigas f526ad8c26 Fix namespace clashes for Efl.Text.Cursor
Three renames are applied here:
Efl.Text.Cursor -> Efl.Text_Cursor.Object (class)
Efl.Text.Cursor_Type -> Efl.Text_Cursor.Type (enum)
Efl.Text.Cursor_Move_Type -> Efl.Text_Cursor.Move_Type (enum)

Nothing changes for the enums on the C side. For the class... Well,
the method names are a bit more verbose now.

These renames are required to avoid clashing with the Efl.Text interface.
This did not cause trouble to C# because interfaces are prefixed with "I",
but it did cause trouble to Eolian when the EO files were installed and
somebody tried to use them.
Ref T8648

Differential Revision: https://phab.enlightenment.org/D11663
2020-04-14 12:25:55 +02:00
Alastair Poole d74f17239c tests: popup
I missed this warning on this machine apologies for the
unnecessary noise.
2020-04-09 11:44:27 +01:00
Alastair Poole eaa2ad523e tests: Add case to match ephoto behaviour. 2020-04-09 11:41:05 +01:00
Marcel Hollerbach e3224ead98 build: add version to exactness libs
this patch was submitted through the bugtracker by Andrew Brouwers.

Thank you!

fixes T8644
2020-04-06 09:05:08 +02:00
Xavi Artigas b1cc09a86c doxygen docs: some fixes in Evas_Legacy.h
This brings into the docs hundreds of methods!
due to the ingroup->defgroup mistake, they were out of any scope
and therefore they were silently ignored by doxygen.

Also, document lots of missing "obj" parameters. Not strictly necessary, but
this further reduces the number of doxygen warnings.
2020-04-02 17:48:39 +02:00
Xavi Artigas 0122865ee1 exactness docs: Add docs, fix docs, remove docs
Summary:
The Exactness tool needed usage instructions... and quite some more
fixes. There was copypasta all around.

Depends on D11634

Test Plan: Build and Enjoy

Reviewers: bu5hm4n, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11637
2020-04-02 13:02:11 +02:00
Marcel Hollerbach b3786aa83a exactness: protect against forked calls
there came up a issue, where a excatness spawned processes were bringing
up a efreetd instance, when the efreetd instance turned off itself, the
files for exactness were written again, which is wrong. This ensures
that forked instances do not take any actions.

Differential Revision: https://phab.enlightenment.org/D11634
2020-04-01 19:25:36 +02:00
Marcel Hollerbach b5a4dbc366 exactness: error when _src_unit is NULL
if _src_unit is NULL, the write here would delete the actions, with this
commit we ensure that this is printing an error.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Differential Revision: https://phab.enlightenment.org/D11627
2020-03-31 14:56:46 +02:00
Marcel Hollerbach 455b07ec62 exactness: equip with ERR and CRIT
before a few commits, we had the situation that errors were overseen
because the log was simply so big, that errors did not get shown
properly.

With this commit, exactness will simply abort if there is a real issue
in the code.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11624
2020-03-31 14:56:43 +02:00
Marcel Hollerbach 624ea389c9 exactness: correctly call mkdir
we should not error when mkdir returns < 0. EEXIST should not result in
the return here.

Reviewed-by: Stefan Schmidt <stefan@datenfreihafen.org>
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11618
2020-03-31 14:56:41 +02:00
Marcel Hollerbach 830d45e384 exactness: do not efl_del the evas
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
2020-03-31 14:56:38 +02:00
Marcel Hollerbach 2f9caff972 exactness_play: introduce runner script
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
2020-03-31 14:56:36 +02:00
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
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
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
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
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
Stefan Schmidt 912fbe79a2 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
2020-03-24 12:24:07 +01: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
Lucas Cavalcante de Sousa 117450e3fa 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
2020-03-23 14:18:16 -03: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 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
Stefan Schmidt 2754bc93e6 exactness: factor out the special _mkdir() handling
We have an ecore function to handle most of this already. For the case
where we give a file name cut off that part before handing it off to
creation.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Differential Revision: https://phab.enlightenment.org/D11458
2020-03-20 12:04:37 +01:00
Stefan Schmidt b84694f518 exactness: factour out the program invoke code
It needs a little special case handling for the player (to load the edj
file), but the rest is really the same.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Differential Revision: https://phab.enlightenment.org/D11460
2020-03-20 12:04:35 +01:00