this resolves some invalid read/write operations between threads without locking
and also attempts to improve thread-related behavior after fork() calls
ref T7027
Differential Revision: https://phab.enlightenment.org/D6370
Summary:
previously this used to mean 'the number of ms that a lock can wait for
until abort() is called once the lock is acquired' and it was useful
when trying to find contention issues with locks
unfortunately this required a bit of reading into the code to determine,
and it made the common case of setting values to 1 fail in some cases,
as this is a very short amount of time. also the documentation explicitly
gives '1' as an example setting for this variable, which will cause immediate
abort() in most cases when debugging was enabled since things are much slower
this variable now is the number of usec that a lock can wait for before abort()
is called, and the lowest value that will be checked for abort()ing is 100, meaning
that '1' is valid again
Depends on D6375
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6376
Summary:
when debugging thread issues, it's not actually helpful to immediately
deadlock--this defeats any attempt at debugging. instead, call trylock first
in order to detect a possible deadlock and then throw an error which can be
caught by the user
Depends on D6374
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6375
Summary:
After a44697c37a, we can register same ecore_evas
to ecore_evases using ecore_evas_input_event_register.
(ecore_evas_input_event_register -> ecore_evas_done -> _ecore_evas_register)
This can make infinite loop in EINA_INLIST_FOREACH(ecore_evases, ee) because
next inlist of ecore_evases is ecore_evases after double call of
_ecore_evas_register.
This patch prevent it.
Test Plan:
Ecore_Evas *ee = ecore_evas_new(NULL, 0, 0, 800, 600, NULL);
ecore_evas_input_event_register(ee);
(part of document of ecore_fb_input_device_window_set)
Check that there is no infinite loop
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6390
Summary:
if the user or system attempts to cancel this thread then it should
stop blocking and exit in order to avoid potentially exiting after
efl has expected ecore-con to stop being active
@fix
fix T7041
Depends on D6354
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7041
Differential Revision: https://phab.enlightenment.org/D6355
these threads are still managed by the main loop, meaning they must be
accounted for so that they can be waited on if necessary during shutdown
this resolves some issues where ecore-con threads would persist after the
main thread had exited or called ecore_shutdown
@fix
fix T7041
Differential Revision: https://phab.enlightenment.org/D6354
there's no need to reimplement mempools here when we already have a great
mempool api
this makes the code slightly more readable
Differential Revision: https://phab.enlightenment.org/D6353
recent changes added unlocks for these mutexes in some other places, so only
do the unlocks where necessary
fix T7020
Depends on D6356
Differential Revision: https://phab.enlightenment.org/D6357
failing to call this prior to the thread invocation would result in a CRI
from class initialization in a thread
ref T7003
Differential Revision: https://phab.enlightenment.org/D6333
Summary: I accidently broke the test suite, due to missing rebuilds.
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6421
Summary:
ensure that everything stays in the allowed and previously used ranges.
The enums that are passed here are not equivalent.
Depends on D6383
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6384
Summary:
ensure that everything stays in the allowed and previously used ranges.
The enums that are passed here are not equivalent.
Depends on D6382
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6383
Summary:
ensure that the signal is correctly composed.
For the case that the eina value is carrying a error, then we just error
out.
Depends on D6378
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6379
Summary:
unreffing too often is not good. However, its definitly not a critical
error. Most of the wikipedia articles (*) that are speaking about ciritcal or
fatal errors are highlighting that no reasonable recovery can be done.
In our case a recovery is not even needed, due to our pointer safety we
dont need to recover anything since the refcounting safed us from doing
something stupid.
ref T6987.
Depends on D6384
Reviewers: zmike, segfaultxavi, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6987
Differential Revision: https://phab.enlightenment.org/D6385
Summary:
parent_container should have eina_false as given null parent
in order to avoid call vg_node_changed() for parent.
Reviewers: #committers, devilhorns, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6387
In case of Bryce's style, there are no scroll bars.
this avoids errors for non-existent objects
ref T7030
Signed-off-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D6317
Summary:
casting here is safe, as before we check and return on size < 1.
Depends on D6379
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6380
Summary:
the function can be regained by reverting this.
Depends on D6381
Reviewers: devilhorns
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6382
Summary:
we are comparing to unsigned number, and the number are moving strongly
from 0 up.
Depends on D6380
Reviewers: devilhorns
Subscribers: Hermet, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6381
Summary: this callback is triggered on the parent object. invalidated objects have no parent.
Reviewers: bu5hm4n, devilhorns, Hermet
Reviewed By: Hermet
Subscribers: Hermet, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6335
efl_ui_focus_composition_prepare() methods in 2 widgets were modifying
the list (removing items) as they walked, using unsafe walking macros.
fix - use the safe variants.
rage window with no file passed ended up like 10x40 ... which is
wrong. it wasn't. rage code explicitly resizes the window before show
and this wsas being overriden. tested rage, terminology, em test in
both x and wl. all still work (for me) post commit.
these headers are not available on all platforms (e.g., windows) and so
the corresponding #ifdef checks must be used in order to correctly include
them
ref 1adb73cef8
ref T5725
fix T7063
Differential Revision: https://phab.enlightenment.org/D6369
Summary:
the previous patch which improved this code for x86 archs broke compiling
for non-x86 and, coincidentally, for windows builds on x86 due to some
unusual #ifdef blocks
this attempts to restore handling on non-x86 and adds additional #ifdefs for
functions which did not build on windows due to removed code
ref 6b1ab3cd9c
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7062
Differential Revision: https://phab.enlightenment.org/D6368
Summary: Will enable timing info in these tests.
Test Plan: run make check
Reviewers: zmike, felipealmeida, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6359
Summary:
There are many calls to `_edje_real_part_recursive_get`. Though, it is
not guaranteed that the Edje object had instantiated all of the real
parts.
This change makes edje to always recalc before retrieving the real part.
The D6364 patch raised a good point, but presented a local fix, where
it seems that a global fix such as this is needed, instead.
The local fix is removed in favor of this. Test suite still passes.
ref T7057
@fix
Test Plan: See T7057
Reviewers: devilhorns
Subscribers: cedric, zmike, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6365
Summary:
We track list presence already, so we can just do a boolean test instead
of an O(n) lookup.
Depends on D6349
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6350
Summary:
Some changes broke really basical function behavior of text.
I couldn't get text from an edje object which I just set to the given edje object.
In the past code, edje called recalc function before trying to get text.
So, this patch bring that code to fix this issue.
@fix
Test Plan: Included. Run "make check"
Reviewers: herdsman, raster, cedric, woohyun, devilhorns
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6364
By keeping track of whether a node is on the dirty list or not we can
save ourself list walks trying to remove items that aren't present.
Differential Revision: https://phab.enlightenment.org/D6349
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
This reverts commit 0d91088d0f.
It also includes a workaround for OSX where RT signals aren't
supported due to kernel age (too old a fork of freebsd). fixes D6310
and T7029
Summary:
The 'if' block should only be executed when the string contains the colon and
something else behind, but sscanf cannot be used in this case.
If the string contained no colon, the following line with strchr(s, ':')
returns NULL and everything explodes.
Test Plan: eo_debug -l now works for me without segfaulting.
Reviewers: bu5hm4n, zmike, devilhorns, q66
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6347
Fixing issue with modifier keys on MacOS. These events were missing
window information. Tested with Fyne.io. Window ID and keyname
are valid. See: http://bogosys.org/images/fyne_OSX.png. Thanks
zmike for initial investigation.
@fix T6944
This include is necessary according to POSIX. Without it, build
fails on certain platforms (QNX). It may already be included
implicitly in some of those files, but declare intent.
Fixes T6667.
This reverts commit 475c93fd75.
long time after touch,
forgot that eet data has key-data pairing structure.
this change would break theme compatibility.
Thanks bu5hm4n for pointing out this.
gengrid item view is managed by cache while scrolling,
but efl_wref_add/del and VIEW_ADD is not paired well.
this commit is fixing the issue of item dispearing when it scrolls.
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
Summary:
API parts require namespacing, these parts have been namespaced with
compatibility code added to handle legacy naming
Reviewers: cedric, Hermet, devilhorns, stephenmhouston
Subscribers: segfaultxavi, Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6213
Summary:
A call to efl_data_Scope_get is actually quite dangerous,
efl_data_scope_get will return a pointer to a 0 sized segment in memory,
this is happening based on how the class data is organized. So in theory
you could use this pointer and accidently write to it. This resolves
this issue.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6337
On some systems the TLS_client/server_method() is not available.
Using fallback. In time as openssl changes propagate this really
shouldn't be necessary.
Summary:
now that eldbus tests can safely run in parallel there is no reason to
prevent them from doing so
fix T6848
Depends on D6204
Reviewers: stefan_schmidt, cedric, ManMower, devilhorns
Reviewed By: cedric, ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6205
Summary:
dbus bus names are unique and cannot be acquired by multiple connections
simultaneously; by making this per-file unique, this part of the test can
run in parallel without bus collisions
ref T6848
Depends on D6201
Reviewers: stefan_schmidt, cedric, bu5hm4n, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6202
Summary:
if profiling is not enabled then reaching this signal handler will always
result in a crash
moreover, the signal handler has no functional value if profiling is not active,
so do not add it until that point
fix T7028
@fix
Depends on D6311
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7028
Differential Revision: https://phab.enlightenment.org/D6312
Summary:
currently this crashes, so add a simple test to ensure that it works
eventually
ref T7028
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7028
Differential Revision: https://phab.enlightenment.org/D6311
Summary:
ensure that this occurs as expected when forks happen
note that this is already being actively tested in the elm unit tests
Depends on D6307
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6308
fork() kills this entire subsystem and leaves its internals
in an inactive but allocated state, so it's necessary to explicitly restart
everything in order to guarantee behavior
@feature
Differential Revision: https://phab.enlightenment.org/D6307
this should not remain active after eina has been deactivated, so ensure
that everything stops as expected
ref T7019
Differential Revision: https://phab.enlightenment.org/D6306
this should not remain active after eina has been deactivated, so ensure
that everything stops as expected
ref T7019
Differential Revision: https://phab.enlightenment.org/D6305
this should not remain active after eina has been deactivated, so ensure
that everything stops as expected
ref T7019
Differential Revision: https://phab.enlightenment.org/D6304
this basically breaks all thread usage if it happens, so ensure that the
threads infrastructure stays active for as long as eina is active
@fix
Differential Revision: https://phab.enlightenment.org/D6303
eina is guaranteed to crash in any process without this call now that
eina_debug exists and requires threads
@fix
Differential Revision: https://phab.enlightenment.org/D6302
this should be done in a single location to avoid dependency conflicts
and make the code easier to read
Differential Revision: https://phab.enlightenment.org/D6301
Summary:
Turns out these can fail with EINTR or EAGAIN, and we're supposed
to try again.
Reviewers: zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6250
Summary:
calling the constructor and deconstructor from different threads
causes issues with mempool deallocation, so ensure that the class is
always initialized in the main thread for safety, e.g., call the
SOME_NAMED_CLASS macro during init to instantiate the class
fix T7003
Reviewers: bu5hm4n, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7003
Differential Revision: https://phab.enlightenment.org/D6332
Summary:
this is both invalid and useless, so return immediately before spending cpu
time and generating error messages
fix T7035
Depends on D6324
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7035
Differential Revision: https://phab.enlightenment.org/D6325
Summary:
a number of calls during construction resulted in null object errors here
fix T7036
Depends on D6323
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7036
Differential Revision: https://phab.enlightenment.org/D6324
Summary:
this check already existed in the function but was not applied to the
entire function
ref T7030
Depends on D6322
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6323
Summary:
this requires the parent of the deleted object to be reachable, so use the
invalidate callback as this is the last point during which it's possible to
retrieve a parent object
ref T7030
Depends on D6320
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6321
Summary:
build with this disabled is just not working as the thread model of eo
falls apart. The threadmodel is required to have eo_id, as it decoded
the thread information in the eo_id, which is not working without eo_id.
This also fixes the testcases that have never been executed due to the
fact of the missing HAVE_EO_ID
fix T6610
Depends on D6327
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6610
Differential Revision: https://phab.enlightenment.org/D6328
Summary:
this is no functinal change, we safe the calling to efl_parent_set.
Nothing else, the base implementation is initializated with NULL as
parent, and efl_parent_set with NULL would have returned in the first
few lines.
fix T7032
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7032
Differential Revision: https://phab.enlightenment.org/D6327
Summary:
cpu usage is not an issue during test runs, we want the tests to finish
as fast as possible in all cases regardless of the cost. this resolves
the last remaining issue with eio tests where sometimes the fallback
monitor would trigger and the test suite would hang for 60+ seconds
fix T6915
Depends on D6248
Reviewers: stefan_schmidt, bu5hm4n, ManMower, devilhorns
Reviewed By: bu5hm4n, ManMower
Subscribers: bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T6915
Differential Revision: https://phab.enlightenment.org/D6249
Summary:
remove a lot of duplicated code and make this test suite read more like
all the other suites
fix T6813
Depends on D6247
Reviewers: stefan_schmidt, bu5hm4n, ManMower, devilhorns
Reviewed By: bu5hm4n, ManMower
Subscribers: Hermet, bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T6813
Differential Revision: https://phab.enlightenment.org/D6248
Summary:
the default value for the fallback poll monitor timer interval is 60.0 seconds,
which is not useful for all cases, such as CI, where we don't care about cpu
usage and just want things to process as fast as possible at all times
this enables setting the interval to any value, ensuring that any existing
timers are modified to use that value immediately
@feature
Reviewers: stefan_schmidt, bu5hm4n, raster, devilhorns, ManMower
Reviewed By: bu5hm4n, ManMower
Subscribers: ManMower, raster, bu5hm4n, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6247
Summary:
the 'first' member of this struct is used simultaneously across
threads and can have conflicting read/write operations occurring at this
time
as int operations are not guaranteed to be atomic, ensure that we are
using atomic operations or locking as necessary
@fix
Depends on D6299
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6300
Summary:
this moves lock calls outside #ifdef blocks to make the code more
readable
no functional changes
Depends on D6298
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6299
Summary:
this would deadlock in some cases
@fix
Depends on D6297
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6298
Summary:
memset overwrites the thread value, triggering errors when running tools like
helgrind
attempting an operation on an invalid thread will cause errors naturally,
so zeroing the rest of the struct and ignoring the thread member is fine
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6297
Summary:
this case would guarantee a crash if the module was ever unloaded
and the event handlers were called, and it leaks otherwise
@fix
Reviewers: ManMower, devilhorns, bu5hm4n
Reviewed By: ManMower, bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6296
Summary:
API parts require namespacing, these parts have been namespaced with
compatibility code added to handle legacy naming
Depends on D6210
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6211
Summary:
this was released with improperly namespaced parts which must be maintained
for future releases, but the namespacing can be corrected for future
releases while adding aliasing to preserve compatibility
Depends on D6208
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6210
sorry for the late fixup, the Ecore_Audio_Object is documented as "the
audio object" however, it is not, internally it is used as struct, thus
gdb gets confused.
This reverts commit 1b245787fe.
This is a workaround patch, even occurs a regression bug that
breaks widget signal emission logic. (Happened in Enventor toolbar)
I reviewed this code seriously and found out
ui_layout sub object unset logic has been changed.
Obviously that breaks the elm compatibility.
When sub-object of layout is removed, it tries to remove sub-object from
the layout internal list. Problem is, some widgets sends internal signals
when sub-object is removed(i.e "icon,hidden") , but layout returns the
valid object even though sub-object unset is called prior to signal,
means, "icon,visible" not "icon,hidden" emitted.
This logic obvisouly changed from the previous efl version.
And we need to fix that logic first.
See _efl_ui_button_legacy_efl_ui_widget_widget_sub_object_del()
to check this issue.
1. button: sub_object_del()
2. layout: sub_object_del() => sub object must be removed.
3. button: signal emit() => for updating states
4. layout: content_get() => returns valid object?????! (Issue)
Since usage has been changed under the beta version,
Some users may keep the old-usage that breaks the vg behavior now.
For their information, vg prints messages in case of breaks.
Summary:
To determine if a system supports SIMD instructions, the cpuid facility
should be used. However, for 15+ years EFL has been trapping SIGILL,
then attempting to execute these intstructions.
Continuing after SIGILL is explicitly undefined behaviour and can never
safely be relied upon - it is possible the CPU will respond to the
unknown instruction in an upredictable way and the program will not
continue correctly. Even if it hasn't caused problems before, there's
no reason to believe a processor released in the future won't behave
differently.
Lately we've had a couple of bug tickets where SIGILL appears to cause
problems at a system level as well, but there seems little point in
chasing those problems down as we shouldn't even be doing this in the
first place.
ref T6711
ref T6989
We still rely on SIGILL in a few configurations where eina_cpu doesn't
know how to query features properly (powerpc, sparc, and non linux
ARM configurations). Hopefully someone with expertise on those
platforms can follow up and we can remove this entirely.
Note: MMX2 appears to not really be a thing, and is instead provided by
both 3DNow! and SSE. We already conflate it with SSE in other parts of
evas, so I've just used SSE here to test for its presence.
Depends on D6313
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6989, T6711
Differential Revision: https://phab.enlightenment.org/D6314
The class's Eo constructor can return a different object, which makes
the efl_add return that object instead. However, a bug was not
initializing the internal reference count when a different object was
returned.
This reverts commit 8343de6ce3.
This borke mac os build, CI is spamming on irc channels and addtional
tests are failing. I would give this back to the drawingboard.
ref T7029
Differential Revision: https://phab.enlightenment.org/D6310
with -O3 i get a segfault in this test. (with gcc and clang)
It looks like the compilers are doing constant folding because we
declared the struct as constant, however, due to using the address of
the fild the keyword const is simply not true, thus we are getting a
segfault because the address returned by &desc is not correct anymore,
due to the fact the constants are rolled out.
Differential Revision: https://phab.enlightenment.org/D6309
in many cases, a test will intentionally trigger an error to verify that it
is handled correctly. when the test is manually run with EINA_LOG_ABORT set,
this may cause the test to abort, preventing further debugging. by wrapping
intentional cases where critical errors are triggered, debugging tests
becomes easier
ref T7002
Differential Revision: https://phab.enlightenment.org/D6269
so i noticed it was jerky... to move/resize the video obj. it's
because it set fps to 30... well that was silly. didn't help chasing a
ghost, so remove this to avoid chasing hosts.
Glib integration with using of select() syscall doesn't properly
propagates G_IO_ERR condition for network sockets. Problem relies in
_ecore_glib_context_poll_to() where rewriting filedescriptor events to
GPollFD structures reside.
This fixes T5725
@fix
If two daemons are launched one after the other, we would like the
second one to exit directly. The problem is that if the UNIX socket is
unlinked before the binding, the second daemon will succeed to create this
socket, stoling it from the first daemon, and exit because the network
socket is not bindable.
It results in the first daemon to continue running and accepting
connections from the debuggers (network connection) but ignoring the
applications connection (local UNIX connection).
Summary:
this option triggers codepaths which require and interface with an
external project not in the EFL tree, so it should not be tested in
the efl tree
also depending on the version of clouseau used, this causes the test
suite to fail 100% of the time
fix T6985
ref T7023
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6985, T7023
Differential Revision: https://phab.enlightenment.org/D6295
Summary:
all other null returns of _eet_data_descriptor_decode() are treated as
fatal errors when decoding, and failure to do so in this case guarantees
errors later due to incomplete decoding
@fix
ref T5379
Depends on D6293
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T5379
Differential Revision: https://phab.enlightenment.org/D6294
Summary:
catching these errors was super annoying since the codebase is mostly
comprised of goto statements, so this should make future debugging easier
Depends on D6292
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6293
Summary:
this macro wraps a function which is also inside an #if 0 block,
so it's best not to leave it where someone might try to use it
no functional changes
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6292
Summary:
these effectively prevent locks from being used to synchronize operations
between (non-main) threads, which restricts their usefulness and also
prevents our own unit tests from passing
fix T7004
Depends on D6267
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7004, T1984
Differential Revision: https://phab.enlightenment.org/D6285
Summary:
this lock/thread never gets destroyed, so it should not trigger failure cases
when that is always the case
@fix
Depends on D6266
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6267
Summary:
recursive locks are locked multiple times in the same thread, leading to
failure with the tracking infrastructure which was written prior to
the addition of recursive locks and assumed that locks would only be
taken exactly once
given that this debug info is meant to handle non-recursive locks,
it makes little sense to include them in the handling
@fix
Depends on D6264
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6265
Summary:
This fixes a session recovery bug with software render.
An attempt to re-use a buffer in a new wayland connection resulted
in another disconnect and broken rendering.
Depends on D6281
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6282
Summary:
It's convenient to be able to pass this through this api too.
@betabreak
Depends on D6280
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6281
Summary:
We need to be able to forcibly destroy all surface buffers to make
session recovery work safely for software rendering.
@betabreak
Depends on D6278
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6279
Summary:
Since this can't be done, it probably doesn't need API.
@betabreak
Depends on D6276
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6277
Summary:
there are far too many issues here for me to fix them all, the authors of
these failures should be responsible for helping to clean this up
revert this patch once all issues are resolved
ref T6966
Depends on D6042
Reviewers: cedric, Hermet, stephenmhouston, devilhorns
Reviewed By: stephenmhouston
Subscribers: #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6215
Summary:
when -N is passed, parts and program signals will be checked for
traditional namespacing based on the group name, causing compile failure
if inconsistency is detected
@feature
ref T6911
Reviewers: cedric, devilhorns
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Maniphest Tasks: T6911
Differential Revision: https://phab.enlightenment.org/D6036
Summary:
recursive writes are not inherently bad, so long as the pointer is
consistently re-set (handled automatically by macros), and they are nearly
unavoidable in some places such as eo/evas internals
issues may arise in a specific corner case of recursive writes when a pointer
has been hashed for garbage collection, so adjust the checks to watch for this
specific case instead of crashing on every case
fix T7005
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7005
Differential Revision: https://phab.enlightenment.org/D6284
Summary:
This reverts commit cd6b890c73.
this resolves complaints from a safety check in the debug profile,
but it seems more likely that the safety check is bogus and should be
removed rather than making this code more complex
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6283
Summary:
a mutex can only have one type, so setting this type onto a recursive mutex
will unset the recursive attribute and cause deadlocks
ref T1984
@fix
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T1984
Differential Revision: https://phab.enlightenment.org/D6264
Summary:
what here was done was fundamentally wrong, deleting the pd->object
field of a evas object after a efl_del / evas_object_del is completly
wrong. evas object lifetimes are controller with eo_manual_free, this
means, they are still alive, even after you called evas_object_del on
them. removing pd->object results in eo_menual_free calls to NULL
objects and leaking the object carrying the private data. Overall,
breaking this pd->object field and unsetting it is a very bad idea, as
its the only way that evas cleansup the object correctly.
This brings down the number of ui related leaked objects on shutdowns to
0. (YEY :))
This also fixes weird error messages on app shutdown.
fixes T6964
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6964
Differential Revision: https://phab.enlightenment.org/D6290
tbh, current vg interfaces a little bit bad... here is one scenario to this
stupid case.
efl_parent_set() and evas_object_vg_root_node_set() both do re-parent
job. They could be conflicted if user calls both apis in either way.
efl_parent_set(root_node, NULL); but Vg Object still keeps the root node
which is just a dangling pointer that occurs a crash while rendering.
Summary:
eina_share_common contained extremely verbose printfs which rendered
the debug profile (./configure --with-profile=debug) almost unusable.
They have been turned into EINA_LOG_DBG in the eina_stringshare log domain
(when related to stringshares) and without domain when related to other
eina_share facilities.
Also, cleaned up some printfs which have been commented out for 8 years.
Fixes T7006
Test Plan:
The printfs are regular eina logs and can be filtered out by regular means.
The debug profile output is far more usable now.
Reviewers: zmike, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7006
Differential Revision: https://phab.enlightenment.org/D6288
Summary:
08a11d, Signal name is changed to efl ui signal name
legacy widget should use elm
This commit resolves T6928
#efl, #regression
Test Plan: elementary_test -to datetime
Reviewers: JackDanielZ, Jaehyun_Cho, Hermet, YOhoho, devilhorns, zmike
Reviewed By: zmike
Subscribers: YOhoho, cedric, Hermet, Jaehyun_Cho, #committers, JackDanielZ, zmike
Tags: #efl
Maniphest Tasks: T6928
Differential Revision: https://phab.enlightenment.org/D6289
efl_gfx_path itself took care of efl_gfx_shape data but its heirarchy was
conceptually wrong. Even efl_gfx_shape is mixing the efl_gfx_path...
Damend design...
Some of derived classes of efl_gfx_path (i.e. Vg.Node and Vg.Container) are
none of the Path acutally. They are just mixing Path's interpolation interface.
So, Here patch changes VG.Node to stop calling the super's interpolate method
and Vg.Shape to call both super -gfx_shape and vg_node- interpolate method.
@fix T6996
Summary:
At some point this code stopped being necessary. The image data is already
rotated and width and height match it, so no need to rotate it again
(which produced warnings and incorrect behaviour)
Fixes T5841
Test Plan: This fixed examples/evas_images{2,4,5} which were failing before.
Reviewers: bu5hm4n, zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T5841
Differential Revision: https://phab.enlightenment.org/D6259
Summary:
enabling write on a COW which is already writing is a user error,
which can occur during object invalidate due to reuse of a helper function.
by adding an extra param containing the COW data, this scenario can be avoided
fix T7005
Reviewers: bu5hm4n, segfaultxavi, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7005
Differential Revision: https://phab.enlightenment.org/D6273
Summary:
this is a valid return code which indicates success and is passed randomly to
one of the callers
@fix
Depends on D6267
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6268
Summary:
ensure that this is always called for the first time from the
main thread to avoid triggering asserts during shutdown
ref T7003
Reviewers: bu5hm4n, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7003
Differential Revision: https://phab.enlightenment.org/D6272
Summary:
A variable was mistakenly removed in a previous commit. (It was used
in places other than the check that was removed).
Reviewers: devilhorns, zmike, vtorri
Reviewed By: zmike, vtorri
Subscribers: cedric, #committers
Tags: #efl, #windows
Differential Revision: https://phab.enlightenment.org/D6262
Summary:
tcase_name() was added in 0.11.0 (2016), which is still not widely enough
distributed to rely upon without version checks
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6260
Summary:
this is mainly to handle the case of ecore-file, which fetches external
resources during the test and requires an active network connection which
may fail to resolve/connect/download during the test. if this particular test
fails then it is almost certainly a network issue
a future patch should implement some form of http server to remove the
dependency on external network resources
also probably all test suites should have timeout timers just in case
fix T6950
Depends on D6205
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6950
Differential Revision: https://phab.enlightenment.org/D6206
Summary:
a stack variable was incorrectly used here, along with some lazy timing
calcs which did not accurately measure the time for each timer iteration,
resulting in a test which intermittently failed in some cases
fix T6878
Reviewers: stefan_schmidt, bu5hm4n, ManMower
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Maniphest Tasks: T6878
Differential Revision: https://phab.enlightenment.org/D6256
Summary:
sscanf("%ms", &encoding) allocates memory which must be freed.
It is done in the general case, but not if the image data map fails and the
code jumps to the no_pixels: label.
Reviewers: zmike, bu5hm4n
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6258
So, here is the first-aid, but the last patch for recovering basic vector
rendering. All vg nodes duplicated by container would be constructed without
a parent, they need to get unref() by container when container is freed.
Here code takes deal with it on the invalidation time.
in the provider we accidently flattend out the widget history by
returning the wrong parent. However, this flattening code was required
for the element focus code of the two generic widgets, so the item is
found for every widget, in every subtree.
Summary:
"description.text.text" is not shown after applying a patch for
supporting text translation of Textblock part.
@fix T6997
Test Plan:
- Try to show a TEXTBLOCK part which has built-in text.
ex)
textblock {
scale;
desc { "default";
text {
style: "my_style";
text: "You can't see this text without this patch";
}
}
}
Reviewers: Hermet, subodh6129, herdsman
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6997
Differential Revision: https://phab.enlightenment.org/D6257
Cached roots are constructed out of canvas.
Means, they have no parents, generated efl_add_ref()
which requests to call efl_unref() instead of explicit deletion.
Compiler thinks mname might be used uninitialized, which is never
the case, because cl only exists if mname has been set. It still
creates an annoying warning though, so fix that.
This fixes vg to connect node tree properly on copying nodes.
Vector rendering was broken when vg cache tries to reconstruct the scene-graph
tree on copying from the original cached one. Exactly, nodes lost parents on
copying. Here it fixes the lost links of the scene-graph tree.
@fix T6993
Summary:
the reference from efl_reuse was forgotten & the parent relation was not
correctlty setted, which led to the fact that NOREF was never emitted.
This caused that thte object never really was destructed probebly, and
thus the del_interceptor_cb was not executed, and the object simply
leaked.
The test checks that those properties are correctly set, additionally a
error is printed in the efl code when a part has not the expected
reference properties. This also enforces errors when users are doing
wrong things with objects returned by efl_part.
Reviewers: ManMower, zmike
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6254
Summary:
"cl->svr" was to be null on line 281.
This problem occurred from 384f30c8ec.
Replacing "cl->svr" with "svr" corrects the error
while preserving the changes in 384f30c8ec.
Test Plan: N/A
Reviewers: #committers, cedric, Hermet, zmike
Subscribers: bowonryu, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6255
Summary:
unused groups are pruned during this stage of edje_cc, and it becomes
necessary to update the values in this hash in order to maintain the
key:value pairing between the Edje_Part_Collection_Directory_Entry and
its corresponding Edje_Part_Collection so that lookups return consistent
results after pruning has completed
@fix
Reviewers: cedric, Hermet
Reviewed By: Hermet
Subscribers: Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6041
checks if a object is really freed, even under error conditions.
The test suite now has the following timing:
TC TIME Eo general: 0.035713
SUITE TIME(8227) Eo: 0.036046
Differential Revision: https://phab.enlightenment.org/D6253
this check caused a leaked reference.
Eo objects are having two reference counters a internal and external
one. The external one can be manipulated via efl_ref / efl_unref. The
internal one can be manipulated via _efl_ref _efl_unref.
The external reference counter is keeping a internal reference by the
time the external counter is > 0. When the external counter reaches ==
0 this internal reference is given up with the _efl_unref call in
eo.c:1928.
However, checking unref_compensate in the block in line 1950 leads that
to the leak that this internal reference is not given up at the pointer
user_refcount reaches exactly 0. This check also does not prevent
anything, the object is kept alive anywayys as the efl_unref method
keeps its private internal reference.
This lead to leaks in efl_device_* classes, parts have not been
destructed correctly.
Differential Revision: https://phab.enlightenment.org/D6252
This is an alternative patch for 9fcd03952e.
Since canvas map rendering sequence is quite complex,
Not easy to estimiate the logic sequence by all scenarios.
The brings me to fix the code case by case.
Summary:
this function calls _efl_ref in the beginning, so _efl_unref them in the
end. This fixes bugs where wrong evas_object_del is called to often,
which would lead to the internal refcount rising instead of getting to
0.
Reviewers: cedric, zmike, stefan_schmidt, q66
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6246
Summary:
Animators shouldn't be used as a general purpose timer mechanism,
we could use a timer, but a poller seems to make more sense as
it limits the impact of the instrumentation on the code it's
instrumenting.
Reviewers: stephenmhouston, zmike
Reviewed By: stephenmhouston, zmike
Subscribers: stephenmhouston, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6251
Summary:
this is a longstanding issue which was exposed by recent patches to standardize
object lifecycles. when a native surface is used by multiple images, unsetting
the surface from one image must not destroy the native surface or else the
remaining images
fix T6970
@fix
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6970
Differential Revision: https://phab.enlightenment.org/D6235
Summary:
The ioctls weren't properly used so no locking took place at all, leading
to rendering anomalies when placing dmabuf buffers in hardware planes.
Also, forgetting to check error returns left no indication that the
ioctl was failing, so we now emit a warning if the ioctl fails.
Reviewers: zmike
Reviewed By: zmike
Subscribers: devilhorns, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6237
Summary:
this brings down the first frame time from 2.0 sec. to something at 0.7
sec.
ref T6983
Reviewers: zmike
Reviewed By: zmike
Subscribers: YOhoho, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6983
Differential Revision: https://phab.enlightenment.org/D6244
This reverts commit b2f85bb9ed.
this is a subsquent patch for the previous revert:
77684dc53a
ps. JackDaniel saved efl world from a guy who broke the system and ran away...
This reverts commit 9fcd03952e.
Just noticed from ManMower, this caused a side-effect that drops
enlightenment performance. I need to check it seriously then
decide again how this patch to be.
For some unknown reason, the selected_set has been removed from the
test.
Since no response has been given in D5499, I assume it has been removed
by mistake so I put it back.
Summary:
When _icon_signal_emit is called, "icon" part always exist. so, it only make
"visible" signal.
this fixes that issue
Test Plan:
elm_object_content_unset(button);
elm_object_content_unset(radio);
elm_object_content_unset(check);
elm_object_content_unset(progressbar);
Reviewers: Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6241
Summary:
code was added which ignores the comment explicitly warning not to
do what was done here
ref 9e01cf2698
ref T6970
==4829== Invalid read of size 1
==4829== at 0x246D8F06: evas_gl_common_image_update (evas_gl_image.c:907)
==4829== by 0x246DAA7B: evas_gl_common_image_draw (evas_gl_image.c:1417)
==4829== by 0x246A2AB6: eng_image_draw (evas_engine.c:1240)
==4829== by 0x6A87842: _draw_image (evas_object_image.c:1403)
==4829== by 0x6A8A1BF: _evas_image_render (evas_object_image.c:2171)
==4829== by 0x6A890C1: evas_object_image_render (evas_object_image.c:1868)
==4829== by 0x6B09C82: evas_render_mapped (evas_render.c:2292)
==4829== by 0x6B0CE90: evas_render_updates_internal_loop (evas_render.c:3079)
==4829== by 0x6B0EACA: evas_render_updates_internal (evas_render.c:3522)
==4829== by 0x6B1087C: evas_render_updates_internal_wait (evas_render.c:3946)
==4829== by 0x6B10A4D: _evas_canvas_render_updates (evas_render.c:3971)
==4829== by 0x6A7A234: evas_canvas_render_updates (evas_canvas.eo.c:212)
==4829== by 0x6A7BBD4: evas_render_updates (evas_canvas.eo.c:758)
==4829== by 0x808A7D8: ecore_evas_render (ecore_evas.c:177)
==4829== by 0x808AA58: _ecore_evas_idle_enter (ecore_evas.c:284)
==4829== by 0x5CC1E46: _ecore_call_task_cb (ecore_private.h:442)
==4829== by 0x5CC1EAE: _ecore_factorized_idle_process (ecore_idler.c:35)
==4829== by 0xBFA4DD4: _event_callback_call (eo_base_class.c:1663)
==4829== by 0xBFA50A6: _efl_object_event_callback_call (eo_base_class.c:1747)
==4829== by 0xBFA514C: efl_event_callback_call (eo_base_class.c:1750)
==4829== by 0x5CC661B: _ecore_main_loop_iterate_internal (ecore_main.c:2352)
==4829== by 0x5CC3F65: _ecore_main_loop_begin (ecore_main.c:1175)
==4829== by 0x5CCC856: _efl_loop_begin (efl_loop.c:83)
==4829== by 0x5CCEF6D: efl_loop_begin (efl_loop.eo.c:28)
==4829== by 0x5CC40DF: ecore_main_loop_begin (ecore_main.c:1248)
==4829== by 0x5480EE: main (e_main.c:1090)
==4829== Address 0x2bfc30f8 is 328 bytes inside a block of size 560 free'd
==4829== at 0x4C30D18: free (vg_replace_malloc.c:530)
==4829== by 0x540AE91: _eina_freeq_free_do (eina_freeq.c:118)
==4829== by 0x540B7B0: eina_freeq_ptr_add (eina_freeq.c:372)
==4829== by 0x6BCD23C: _evas_common_rgba_image_delete (evas_image_main.c:555)
==4829== by 0x6B41538: _evas_cache_image_entry_delete (evas_cache_image.c:205)
==4829== by 0x6B43503: evas_cache_image_drop (evas_cache_image.c:945)
==4829== by 0x6B43F4F: evas_cache_image_size_set (evas_cache_image.c:1166)
==4829== by 0x246D6548: evas_gl_common_image_alloc_ensure (evas_gl_image.c:17)
==4829== by 0x246D8EA8: evas_gl_common_image_update (evas_gl_image.c:869)
==4829== by 0x246DAA7B: evas_gl_common_image_draw (evas_gl_image.c:1417)
==4829== by 0x246A2AB6: eng_image_draw (evas_engine.c:1240)
==4829== by 0x6A87842: _draw_image (evas_object_image.c:1403)
==4829== by 0x6A8A1BF: _evas_image_render (evas_object_image.c:2171)
==4829== by 0x6A890C1: evas_object_image_render (evas_object_image.c:1868)
==4829== by 0x6B09C82: evas_render_mapped (evas_render.c:2292)
==4829== by 0x6B0CE90: evas_render_updates_internal_loop (evas_render.c:3079)
==4829== by 0x6B0EACA: evas_render_updates_internal (evas_render.c:3522)
==4829== by 0x6B1087C: evas_render_updates_internal_wait (evas_render.c:3946)
==4829== by 0x6B10A4D: _evas_canvas_render_updates (evas_render.c:3971)
==4829== by 0x6A7A234: evas_canvas_render_updates (evas_canvas.eo.c:212)
==4829== by 0x6A7BBD4: evas_render_updates (evas_canvas.eo.c:758)
==4829== by 0x808A7D8: ecore_evas_render (ecore_evas.c:177)
==4829== by 0x808AA58: _ecore_evas_idle_enter (ecore_evas.c:284)
==4829== by 0x5CC1E46: _ecore_call_task_cb (ecore_private.h:442)
==4829== by 0x5CC1EAE: _ecore_factorized_idle_process (ecore_idler.c:35)
==4829== by 0xBFA4DD4: _event_callback_call (eo_base_class.c:1663)
==4829== by 0xBFA50A6: _efl_object_event_callback_call (eo_base_class.c:1747)
==4829== by 0xBFA514C: efl_event_callback_call (eo_base_class.c:1750)
==4829== by 0x5CC661B: _ecore_main_loop_iterate_internal (ecore_main.c:2352)
==4829== by 0x5CC3F65: _ecore_main_loop_begin (ecore_main.c:1175)
==4829== by 0x5CCC856: _efl_loop_begin (efl_loop.c:83)
==4829== by 0x5CCEF6D: efl_loop_begin (efl_loop.eo.c:28)
==4829== by 0x5CC40DF: ecore_main_loop_begin (ecore_main.c:1248)
==4829== by 0x5480EE: main (e_main.c:1090)
==4829== Block was alloc'd at
==4829== at 0x4C31A1E: calloc (vg_replace_malloc.c:711)
==4829== by 0x6BCCF2F: _evas_common_rgba_image_new (evas_image_main.c:509)
==4829== by 0x6B41588: _evas_cache_image_entry_new (evas_cache_image.c:261)
==4829== by 0x6B44861: evas_cache_image_empty (evas_cache_image.c:1447)
==4829== by 0x246D845B: evas_gl_common_image_native_disable (evas_gl_image.c:624)
==4829== by 0x253F3C09: eng_image_native_set (evas_engine.c:1234)
==4829== by 0x6A86204: _evas_image_native_surface_set (evas_object_image.c:1021)
==4829== by 0x6A7E110: evas_object_image_native_surface_set (evas_image_legacy.c:509)
==4829== by 0x6A8609A: _on_image_native_surface_del (evas_object_image.c:998)
==4829== by 0x6A55190: _eo_evas_object_cb (evas_callbacks.c:184)
==4829== by 0xBFA4EB7: _event_callback_call (eo_base_class.c:1686)
==4829== by 0xBFA51F8: _efl_object_event_callback_legacy_call (eo_base_class.c:1759)
==4829== by 0xBFA529E: efl_event_callback_legacy_call (eo_base_class.c:1762)
==4829== by 0x6A968ED: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1229)
==4829== by 0xBFA529E: efl_event_callback_legacy_call (eo_base_class.c:1762)
==4829== by 0x6A55C3D: evas_object_event_callback_call (evas_callbacks.c:413)
==4829== by 0x6A96D3E: _efl_canvas_object_efl_object_invalidate (evas_object_main.c:1279)
==4829== by 0xBFA7BAB: efl_invalidate (efl_object.eo.c:72)
==4829== by 0xBFA0A09: _efl_invalidate (eo_base_class.c:170)
==4829== by 0xBFA2737: _efl_object_parent_set (eo_base_class.c:734)
==4829== by 0xBFA6BDA: efl_parent_set (efl_object.eo.c:12)
==4829== by 0xBFA2537: efl_del (eo_base_class.c:686)
==4829== by 0x6A96082: evas_object_del (evas_object_main.c:1041)
==4829== by 0x2C9D519F: _bar_icon_preview_del (bar.c:762)
==4829== by 0x6A55190: _eo_evas_object_cb (evas_callbacks.c:184)
==4829== by 0xBFA4EB7: _event_callback_call (eo_base_class.c:1686)
==4829== by 0xBFA51F8: _efl_object_event_callback_legacy_call (eo_base_class.c:1759)
==4829== by 0xBFA529E: efl_event_callback_legacy_call (eo_base_class.c:1762)
==4829== by 0x6A968ED: _efl_canvas_object_efl_object_event_callback_legacy_call (evas_object_main.c:1229)
==4829== by 0xBFA529E: efl_event_callback_legacy_call (eo_base_class.c:1762)
==4829== by 0x6A55C3D: evas_object_event_callback_call (evas_callbacks.c:413)
==4829== by 0x6A96D3E: _efl_canvas_object_efl_object_invalidate (evas_object_main.c:1279)
==4829== by 0xBFA7BAB: efl_invalidate (efl_object.eo.c:72)
==4829== by 0x7BE9326: _efl_access_object_efl_object_invalidate (efl_access_object.c:634)
==4829== by 0xBFA7BAB: efl_invalidate (efl_object.eo.c:72)
==4829== by 0xBFA0A09: _efl_invalidate (eo_base_class.c:170)
==4829== by 0xBFA2737: _efl_object_parent_set (eo_base_class.c:734)
==4829== by 0xBFA6BDA: efl_parent_set (efl_object.eo.c:12)
==4829== by 0xBFA2537: efl_del (eo_base_class.c:686)
==4829== by 0x6A96082: evas_object_del (evas_object_main.c:1041)
==4829== by 0x7CD5F2C: _efl_ui_widget_efl_canvas_group_group_del (efl_ui_widget.c:855)
==4829== by 0x6AAD303: efl_canvas_group_del (evas_object_smart.c:1862)
==4829== by 0x7AFF104: _elm_box_efl_canvas_group_group_del (elm_box.c:362)
==4829== by 0x6AAD303: efl_canvas_group_del (evas_object_smart.c:1862)
==4829== by 0x6AABB79: evas_object_smart_del (evas_object_smart.c:1288)
==4829== by 0x6A97179: _efl_canvas_object_efl_object_invalidate (evas_object_main.c:1336)
==4829== by 0xBFA7BAB: efl_invalidate (efl_object.eo.c:72)
==4829== by 0x7BE9326: _efl_access_object_efl_object_invalidate (efl_access_object.c:634)
==4829== by 0xBFA7BAB: efl_invalidate (efl_object.eo.c:72)
==4829== by 0xBFA0A09: _efl_invalidate (eo_base_class.c:170)
==4829== by 0xBFA2737: _efl_object_parent_set (eo_base_class.c:734)
==4829== by 0xBFA6BDA: efl_parent_set (efl_object.eo.c:12)
==4829== by 0xBFA2537: efl_del (eo_base_class.c:686)
==4829== by 0x6A96082: evas_object_del (evas_object_main.c:1041)
==4829== by 0x2C9D41DA: _bar_icon_preview_hide (bar.c:450)
==4829== by 0x5CFE14C: _ecore_call_task_cb (ecore_private.h:442)
==4829== by 0x5CFE5C4: _ecore_timer_legacy_tick (ecore_timer.c:160)
==4829== by 0xBFA4DD4: _event_callback_call (eo_base_class.c:1663)
==4829== by 0xBFA50A6: _efl_object_event_callback_call (eo_base_class.c:1747)
==4829== by 0xBFA514C: efl_event_callback_call (eo_base_class.c:1750)
==4829== by 0x5CFF880: _efl_loop_timer_expired_call (ecore_timer.c:634)
==4829== by 0x5CFF6AF: _efl_loop_timer_expired_timers_call (ecore_timer.c:587)
==4829== by 0x5CC6522: _ecore_main_loop_iterate_internal (ecore_main.c:2317)
==4829== by 0x5CC3F65: _ecore_main_loop_begin (ecore_main.c:1175)
==4829== by 0x5CCC856: _efl_loop_begin (efl_loop.c:83)
==4829== by 0x5CCEF6D: efl_loop_begin (efl_loop.eo.c:28)
==4829== by 0x5CC40DF: ecore_main_loop_begin (ecore_main.c:1248)
==4829== by 0x5480EE: main (e_main.c:1090)
Reviewers: ManMower
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6234
Summary:
see 421217b150
If parent is NULL, is_legacy in _elm_theme_set is always true. and it will use
"efl/xxx" for mmap_set. this patch avoid this case.
fixes T6921
Test Plan:
1. elementary_test -to tooltip
2. check that "Hello", "Big Icon Tooltip", "Insanel Big Icon Tooltip" is working
Reviewers: zmike
Subscribers: cedric, ManMower, #committers
Tags: #efl
Maniphest Tasks: T6921
Differential Revision: https://phab.enlightenment.org/D6232
Summary:
It should use legacy class in elm_win_add.
this patch fixes T6898, T6899
Test Plan: make check
Reviewers: zmike, Jaehyun_Cho
Reviewed By: Jaehyun_Cho
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6899, T6898
Differential Revision: https://phab.enlightenment.org/D6233
Summary:
It has been widely used for quite some time now.
Fixes T6889
Test Plan:
Manually built the evas-vg-simple.c and evas-vg-batman.c examples after
removing the manual define of EFL_BETA_API_SUPPORT and EFL_EO_API_SUPPORT
that they have at the top.
Reviewers: ajwillia.ms, zmike
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6889
Differential Revision: https://phab.enlightenment.org/D6230
Summary:
the same change as the one for evas table, just for box.
Depends on D6228
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6229
Summary:
when focus events have been emitted the smart parent was persistent, now
its not anymore, lets restore this behaviour
Depends on D6227
Reviewers: cedric, zmike, stefan_schmidt
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6228
Summary:
Before the parent was persistent when the intersept function and events
for clipper changes have been called. Lets get back to this behaviour.
Depends on D6226
Reviewers: cedric, zmike, stefan_schmidt
Reviewed By: zmike
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6227
Summary:
EFL_EVENT_DEL is wrong here, as the callback uses a parent, which is
gone at the time of EFL_EVENT_DEL.
Reviewers: zmike, cedric, stefan_schmidt
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6225
Summary:
if not unique, these bus names will collide if run from separate
connections resulting in test failure
fix T6848
Depends on D6203
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6848
Differential Revision: https://phab.enlightenment.org/D6204
Summary:
these tests are for eldbus; enlightenment has its own dbus namespace and
should not be mentioned here to avoid confusion
Depends on D6202
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6203
Summary:
these values seem to assume that network latency or some other form
of delay exists in dbus communications. dbus is a local socket protocol,
so such lengthy timers do nothing but waste runtime
ref T6952
Depends on D6198
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6952
Differential Revision: https://phab.enlightenment.org/D6199
Summary:
1eeb3cbdf7 causes all tests to run
inside a dbus session, so use this bus to avoid possible issues with
security policies
ref T6838
Depends on D6197
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6838
Differential Revision: https://phab.enlightenment.org/D6198
Summary:
this is supposed to check an fdo dbus spec implementation, so the test
should exit with success after verifying it instead of waiting for a timeout
ref T6952
Depends on D6196
Reviewers: stefan_schmidt, cedric
Reviewed By: cedric
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6952
Differential Revision: https://phab.enlightenment.org/D6197
Summary:
the object is invalidated AFTER the parent is lost, (thats what the doc
says). Returning invalidated as true when the parent is still present is
thus not correctly.
Depends on D6222
Reviewers: cedric, zmike, JackDanielZ
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6223
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Summary:
a swallowed child is per doc not deleted when the edje is deleted.
After the call to invalidate is finished all children will loose theire
parents and also be invalidated. However, in the efl_invalidate call,
the event EVAS_CALLBACK_DEL is issued, so this is the right spot. As in
legacy the swallows are in place when the EVAS_CALLBACK_DEL event is
issued.
Reviewers: cedric, raster, JackDanielZ, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6222
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Summary:
1. remove prior/next action
prior/next key action doesn't look suitable for image.zooamble.
It is not able to support bi-directional interaction.
2. remove logic that refers to step_size the logic has been removed
by applying this commit because api related with step_size has been removed
since the new scrollable interface introduced.
another patch may follow after discussing on community
Reviewers: Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6221
Toggling this option is unlikely happened by user because with autofit=false,
it doesn't gurantee readable visual text.
We don't need this stupid api yet. So remove it.
Summary:
Evas map was not updated when text was updated.
@fix
Test Plan:
1. Run the following test case.
elementary_test -to "efl.ui.textpath"
2. Toggle short text.
3. See a long line from the end of text which is wrong.
If you change angle, Evas map will be updated properly.
But, it should be updated when text is updated.
Reviewers: raster, cedric, thiepha, Hermet
Reviewed By: Hermet
Subscribers: Hermet, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6216
in the process of fixing a bug in elm config i found the eet will
decode junk data with a null edd. check for these where it was missing
and return null so it's easier to see a problem. not really a fix as
it's invalid use of the api, but it's nicer to debug...
This reverts commit 7b80038fa7.
JackDanielz asked nicely, but this hasn't been reverted. As this
totally breaks enlightenment (it's black) and this happens on
everythng I've tested (1 laptop, desktop and Xephyr) I'm calling this
patch a dud.
Now... what kind of review is going on here? This hasn't been tested.
What kind of review doesn't build + run things?
for the reasons of poor review and massive horribler fully complete
desktop like breakage ... this gets reverted as master should not be
broken like this.
Summary:
The round value was not being applied when input the value as an internal entry.
@fix
Test Plan: elementary_test -> spinner sample.
Reviewers: cedric, woohyun, Jaehyun_Cho
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D5843
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
drawing a non-override window before receiving a configure event results
in an unsized window, breaking spec. it also prevents ecore-evas resize
callbacks from triggering, yielding undefined returns from functions which
attempt to get the geometry of the ecore-evas
fix T6907
Reviewers: cedric, raster
Reviewed By: cedric
Subscribers: #committers, vtorri
Tags: #efl
Maniphest Tasks: T6907
Differential Revision: https://phab.enlightenment.org/D6019
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
This reverts commit f37b96a1de.
as pointed out in D5957, this would break use of theme_set during the
efl_add constructor once this is implemented in the future
Reviewers: raster, cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6146
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
4976f1fc5276835940610b72ca4fa48776fc9410 erroneously flipped the
bool flag on this call, accidentally creating another object during
deletion which is illegal now as the notify object is now unparented
at this point which will result in a CRI error
this call was never required in the first place as the corresponding
layout object would have been deleted automatically due to widget parenting
@fix
Reviewers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6147
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
_edje_part_fetch() function gets an Edje which has the requested Edje_Real_Part.
Basically, it gets main Edje of the given object.
But, if a requested part is in a GROUP part, it gets the Edje of GROUP part.
It shouldn't be passed to _edje_efl_text_text_get() function directly.
@fix
Test Plan: N/A
Reviewers: herdsman, raster, cedric, woohyun
Reviewed By: cedric
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6149
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>