Summary:
Developer cannot notice that any description didn't applied due to missing description or typo.
This message will be helpful to make correct the application.
Reviewers: cedric, Hermet, raster
Subscribers: soohye.shin, minkyu, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3783
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
It has been decided that we would not use any namespace for interface
and they will sit in efl main namespace.
This patch doesn't correct the naming of the event has we don't have a
prefix for event. We do still have EFL_ANIMATOR_EVENT_ANIMATOR_TICK,
instead of a nicer EFL_EVENT_ANIMATOR_TICK.
EINVAL is bad, we can't go on. If we treat it like it's not a fatal
error we'll end up spinning on the fd and constantly retrying sends
on the dead wayland connection.
@fix
Coverity reports that 'ctx' may be NULL here and we should check it
before usage (as is done above).
Coverity CID1339785
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
This patch fixes a potential resource leak where we would previously
create a new eina_array and then possibly return from this function
(when checking validity of 's' parameter) without freeing the newly
created array.
Coverity CID1350291
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
The lcov tool offers the functionality to have an initial run over the code base
before the tests are executed to make sure it catches all files, even the ones
that are not loaded during the test run.
This is something we missed so far. The reports have only been in relation to
the files that actually have been loaded during the test. We missed quite a
few files which made our numbers inaccurate. Things like
modules/emotion/gstreamer1 have no tests yet and thus never showed up in the
coverage report. While it has 103 functions and over thousand lines which need
to get covered. With the baseline this is handled now. Thanks goes to the folks
at LibreOffice who described their lcov setup here:
https://wiki.documentfoundation.org/Development/Lcov
New numbers are lower now as we count in all the files never loaded which
decreases our percentages.
Overall coverage rate:
lines......: 30.2% (65119 of 215841 lines)
functions..: 34.0% (6361 of 18733 functions)
branches...: 23.6% (35627 of 151096 branches)
As ecore_drm_private.h already includes config.h header, we don't need
to include it here in these files also
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
As portions of this code have been derived from existing code in
Weston, we should also be including their copyright/licence text to
give credit.
NB: Fixes T3286
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Reverting this at Felipe's request following my email. There are many
things I strongly object to in this commit. I've touched the surface of
those on the ML (which doesn't work at the moment), though we need to
better discuss it.
The gist:
1. dlsym is a really bad hack that is not even needed.
2. I don't see why eo should even be aware of promises. It's not aware
of list, hash and etc.
3. The eolian changes were done wrong.
This should have been discussed and consulted before done, even if only
because of the amount of hacks it includes and the cross-domain (ecore,
eo and eolian) nature of it.
This reverts commit f9ba80ab33.
While we had the functionality to generate type stubs header we never had
these tested in our unit test setup. Adding to simple cases for struct
and typedef which we already use for normal header generation tests.
Imagine this. You have an object. You pass this object handle as a
message to another thread. Let's say it's not a UI object, so
something you might expect to be able to be accessed from multiple
threads. In order to keep the object alive you eo_ref() it when
placing the message on a queue and eo_unref() it once the message is
"done" in the other thread. If the original sender unref()ed the
object before the message is done, then the object will be destroyed
in the reciever thread. This is bad for objects "expecting" not to be
destroyed outside their owning thread.
This allows thius situation to be fixed. A constructor in a class of
an object can set up a delete interceptor. For example if we have a
"loop ownership" class you multi-ple-inherit from/use as a mixin. This
class will set up the interceptor to ensure that on destruction if
pthread_self() != owning loop thread id, then add object to "delete
me" queue on the owning loop and wake it up. the owning loop thread
will wake up and then process this queue and delete the queued objects
nicely and safely within the "owning context".
This can also be used in this same manner to defer deletion within a
loop "until later" in the same delete_me queue.
You can even use this as a caching mechanism for objects to prevernt
their actual destruction and instead place them in a cached area to be
picked from at a later date.
The uses are many for this and this is a basic building block for
future EFL features like generic messages where a message payload
could be an eo object and thus the above loop onwership issue can
happen and needs fixing.
This adds APIs, implementation, documentation (doxy reference) and tests.
@feature
This reverts commit 7f4ea1a79c.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
This reverts commit 1affc60d00.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
This reverts commit e26fcbb1dc.
This reverts one of three parts of the try to get sub directory
compilation back into eina. It breaks our distcheck though and I
talked to Cedric about it and he prefers to revert these as we might
need to go another route to bring this functionality back. Details
will come to the mailing list.
Do not force this on everybody who runs with tests=coverage. It makes stdout
impossible to follow as well as overruns the tests log file. If one wants to
run with -DDEBUG it can be set from your own CFLAGS.
After aca6fc8c36 there have been problems when
linking when having coverage enabled.
AC_SEARCH_LIBS was used wrongly here. You need function name first and lib to
link against as second argument. The symbol name also has wto leading
underscores for me.
/usr/lib/gcc/x86_64-pc-linux-gnu/5.3.0/../../../../x86_64-pc-linux-gnu/bin/ld generated: undefined
reference to `__gcov_init'
Add a promise object that allows Eolian interface to include promises
as a way to have asynchronous value return and composibility.
The usage is like this in a .eo file:
class Foo {
methods {
bar {
params {
promise: Promise<int>;
}
}
}
}
Which will create the following API interface:
void foo_bar(Ecore_Promise** promise);
and the equivalent declaration for implementation.
However, the API function will instantiate the Promise for the
user and the implementer of the class.
This iterator is convenient when you already have a C-Array and you
need to pass this array to a function receiving an Eina_Iterator.
int array[] = {1, 2, 3, 4};
int* array2[] = {&array[0], &array[1], &array[2], &array[3], NULL};
Eina_Iterator* iterator = eina_carray_iterator_new((void**)array);
Summary:
When glib support is enabled (HAVE_GLIB), _ecore_glib_init()
was always reserving resources. However, its counterpart may not
be called when:
- glib is not always integrated and
- when a user didn't explicitly required the integration.
Calling _ecore_glib_init() within the request code will cause the
resources to be reserved only when the integration with glib is
required and furthermore guarantees that resources always have a
chance to be released.
Reviewers: cedric, raster
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3749
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary: While making new changes after rewieving D3710 we met this bug again, removing eo_unref is the best way to fix it because _eo_ref_replace from D3021 makes nothing special.
Reviewers: cedric, raster, Hermet
Subscribers: jpeg, artem.popov
Differential Revision: https://phab.enlightenment.org/D3745
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>