Alastair Poole [Wed, 20 Jun 2018 14:24:02 +0000 (15:24 +0100)]
ecore_con: FreeBSD 11.2 not providing TLS generic methods.
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.
Alastair Poole [Wed, 20 Jun 2018 13:11:52 +0000 (14:11 +0100)]
Patch for T6342
Summary: Deprecate SSLv3.
Reviewers: zmike, raster, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6334
Shinwoo Kim [Tue, 19 Jun 2018 06:55:37 +0000 (15:55 +0900)]
ecore_wl2_display: remove infinite loop possibility
The wl_display_dispatch_pending returns -1 on failure.
This could make infinite loop in _ecore_wl_cb_pre_handle_data.
Change-Id: I1730e6007fd08db308be4412f0a8c9f51d7f3726
Bowon Ryu [Mon, 18 Jun 2018 11:29:57 +0000 (20:29 +0900)]
elm_toolbar: fix icon sizing issue
icon size * scale - this causes the issue.
this is not wrong,
but Tizen UX did not consider scale to icon size.
so, this is removed for compatibility.
@tizen_fix
Change-Id: Ib71ec1998767988bc7ad39299c3282132f8a0fd5
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Mike Blumenkrantz [Tue, 19 Jun 2018 18:08:08 +0000 (14:08 -0400)]
tests: remove eldbus special casing from checks to enable parallel test runs
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
Mike Blumenkrantz [Tue, 19 Jun 2018 18:08:20 +0000 (14:08 -0400)]
tests: use unique dbus bus names for each eldbus test case fixture
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
Mike Blumenkrantz [Tue, 19 Jun 2018 18:04:45 +0000 (14:04 -0400)]
eina_debug_bt: only enable SIGPROF handler when profiling is enabled
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
Mike Blumenkrantz [Tue, 19 Jun 2018 18:04:40 +0000 (14:04 -0400)]
tests: add test for eina_debug signal handling
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:54:16 +0000 (13:54 -0400)]
ecore: call eina_debug_fork_reset() in fork reset function
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:56:06 +0000 (16:56 -0400)]
eina_debug: add function to reset debug subsystem after fork
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:51:03 +0000 (16:51 -0400)]
eina_debug: make shutdown perform cleanups and kill the timer thread
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:51:03 +0000 (16:51 -0400)]
eina_debug_cpu: make shutdown perform cleanups and kill the timer thread
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:51:03 +0000 (16:51 -0400)]
eina_debug_timer: make shutdown perform cleanups and kill the timer thread
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:43:39 +0000 (16:43 -0400)]
eina: prevent threads subcomponent from being shutdown while eina is active
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:42:29 +0000 (16:42 -0400)]
eina: call eina_threads_init from eina_debug_init
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:40:23 +0000 (16:40 -0400)]
eina: don't init subcomponents inside eina_debug
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:42:16 +0000 (13:42 -0400)]
eo: CRI when class constructor or destructor is called from thread
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:41:44 +0000 (13:41 -0400)]
elm_list: return from sizing_eval immediately if called during constructor
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:41:16 +0000 (13:41 -0400)]
elm_colorselector: avoid calling functions with null objects
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:41:02 +0000 (13:41 -0400)]
elm_colorselector: avoid passing null to efl functions
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:40:52 +0000 (13:40 -0400)]
evas: switch to EFL_EVENT_INVALIDATE for event grabber sub-object deletion
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:40:43 +0000 (13:40 -0400)]
efl_ui_win: check frame_obj existence before operating on it in pre_render
Summary:
this object will not exist for fake win objects, e.g., in enlightenment
fix T7033
Depends on D6319
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7033
Differential Revision: https://phab.enlightenment.org/D6320
Mike Blumenkrantz [Tue, 19 Jun 2018 17:40:27 +0000 (13:40 -0400)]
efl_ui_win: do not attempt to focus a null object on focus-in
Summary:
ref T7033
Depends on D6318
Reviewers: bu5hm4n, Hermet, woohyun, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7033
Differential Revision: https://phab.enlightenment.org/D6319
Marcel Hollerbach [Tue, 19 Jun 2018 17:36:04 +0000 (13:36 -0400)]
eo: make the debug build print leaked errors
Summary: Depends on D6328
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6329
Marcel Hollerbach [Tue, 19 Jun 2018 17:35:53 +0000 (13:35 -0400)]
eo: get rid of eo_id
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
Marcel Hollerbach [Tue, 19 Jun 2018 17:35:38 +0000 (13:35 -0400)]
eo: only call efl_parent_set when parent_id is available
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:33:30 +0000 (13:33 -0400)]
tests: set monitoring interval for eio tests to 0.05s
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:33:19 +0000 (13:33 -0400)]
tests: use fixtures for eio tests
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:33:14 +0000 (13:33 -0400)]
eio: add method for setting the global file polling rate for fallback monitors
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:30:44 +0000 (13:30 -0400)]
eina_threadqueue: add locking for variable used between threads
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:30:36 +0000 (13:30 -0400)]
eina_threadqueue: simplify/unify some locking code
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:30:26 +0000 (13:30 -0400)]
eina_threadqueue: fix spinlock destruction by using spinlock api
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:30:20 +0000 (13:30 -0400)]
eina: replace memsets in thread debugging lock create/free with manual zeroing
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:29:16 +0000 (13:29 -0400)]
emotion_generic: clean up event handlers on fork failure
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
Lauro Moura [Tue, 19 Jun 2018 17:28:57 +0000 (13:28 -0400)]
efl_mono: Fix call to System.Threading.Thread.
Summary: It was resolving to efl.Thread instead.
Reviewers: devilhorns, felipealmeida, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6261
Mike Blumenkrantz [Tue, 19 Jun 2018 17:28:27 +0000 (13:28 -0400)]
theme: rename non-API actionslider part to avoid confusion when reading
Summary:
no functional changes
Depends on D6211
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6212
Mike Blumenkrantz [Tue, 19 Jun 2018 17:28:15 +0000 (13:28 -0400)]
elm_dayselector: fix improperly named API theme parts
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:27:49 +0000 (13:27 -0400)]
theme: fix part namespacing in multibuttonentry theme
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
Mike Blumenkrantz [Tue, 19 Jun 2018 17:27:26 +0000 (13:27 -0400)]
theme: change part in elm photo group from swallow to spacer
Summary:
this appears to be a remnant of the time before edje had spacer parts
and other part types were randomly used instead
there is no library reference to this part and it is not namespaced so
there is no reason to leave it as a (confusing) swallow
Depends on D6040
Reviewers: cedric, Hermet
Reviewed By: Hermet
Subscribers: Hermet, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6208
Mike Blumenkrantz [Tue, 19 Jun 2018 17:27:00 +0000 (13:27 -0400)]
theme: use elm namespace for spinner button signal source
Summary:
ref D6036
Depends on D6037
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6040
Mike Blumenkrantz [Tue, 19 Jun 2018 17:26:28 +0000 (13:26 -0400)]
theme: rename 'sizer.content' parts to 'sizer_content'
Summary: non-api parts should avoid using '.' in the name to avoid confusion
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6037
Marcel Hollerbach [Tue, 19 Jun 2018 16:31:32 +0000 (18:31 +0200)]
ecore-audio: make this a Efl_Object
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.
Marcel Hollerbach [Tue, 19 Jun 2018 13:44:35 +0000 (15:44 +0200)]
ecore_audio: add back function that is stable
this function was removed, but should not have been removed.
Differential Revision: https://phab.enlightenment.org/D6330
Hermet Park [Tue, 19 Jun 2018 03:42:09 +0000 (12:42 +0900)]
Revert "elementary: fix wrong signal emission"
This reverts commit
1b245787fe1fc5da41b6ed77dd67cb022900afa6.
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)
Hermet Park [Tue, 19 Jun 2018 01:50:50 +0000 (10:50 +0900)]
evas map: fix a typo.
Hermet Park [Mon, 18 Jun 2018 23:35:46 +0000 (08:35 +0900)]
evas vg: add warning msgs for users.
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.
Bowon Ryu [Mon, 18 Jun 2018 11:29:57 +0000 (20:29 +0900)]
elm_toolbar: fix icon sizing issue
icon size * scale - this causes the issue.
this is not wrong,
but Tizen UX did not consider scale to icon size.
so, this is removed for compatibility.
@tizen_fix
Change-Id: Ib71ec1998767988bc7ad39299c3282132f8a0fd5
Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
Jaehyun Cho [Tue, 19 Jun 2018 06:41:49 +0000 (15:41 +0900)]
elm_slider: do not clip indicator to slider
By calling evas_object_smart_member_add(), indicator is clipped to slider.
To keep backward compatibility, indicator should not be clipped to slider.
Change-Id: I2028b5edb8b6ce911d83771480ad18f9bf803a41
Mike Blumenkrantz [Wed, 7 Feb 2018 16:50:57 +0000 (11:50 -0500)]
ecore: fix event flushing to not erase+leak events
stealing the message data here prevents events which aren't being flushed from
ever being usable again and is unnecessary since the free callback will be
automatically called during the destructor
ref
5dd52fd09b7d79c70b3134423a87aa6400a2d994
Change-Id: I981b597e42e47c5d94e6d009e241da4d7aec09d3
Signed-off-by: Hosang Kim <hosang12.kim@samsung.com>
Derek Foreman [Mon, 18 Jun 2018 20:12:41 +0000 (15:12 -0500)]
evas_cpu: Avoid SIGILL in evas startup on x86
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
Derek Foreman [Mon, 18 Jun 2018 20:12:36 +0000 (15:12 -0500)]
evas_cpu: Refactor checks that use eina_cpu_features_get
Summary: Minor code simplification.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6313
Felipe Magno de Almeida [Mon, 18 Jun 2018 17:49:43 +0000 (14:49 -0300)]
eo: Fix internal reference count wrongly 0 when constructor returns a different object
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.
Marcel Hollerbach [Mon, 18 Jun 2018 13:54:26 +0000 (15:54 +0200)]
Revert "eina debug - fix segv if an app is compiled with -pg for profiling"
This reverts commit
8343de6ce3163f27257d386fb212d1eacf78ba7d.
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
Marcel Hollerbach [Mon, 18 Jun 2018 10:45:12 +0000 (12:45 +0200)]
ecore_con: fix possible segfault
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
Mike Blumenkrantz [Tue, 12 Jun 2018 23:20:21 +0000 (19:20 -0400)]
tests: wrap critical errors to disable aborting in eo tests
ref T7002
Differential Revision: https://phab.enlightenment.org/D6271
Mike Blumenkrantz [Tue, 12 Jun 2018 22:37:15 +0000 (18:37 -0400)]
tests: disable eo test timeouts when not forked
this makes debugging much easier
Differential Revision: https://phab.enlightenment.org/D6270
Mike Blumenkrantz [Tue, 12 Jun 2018 20:57:48 +0000 (16:57 -0400)]
tests: add macros to selectively disable aborting on critical log messages
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
Carsten Haitzler (Rasterman) [Mon, 18 Jun 2018 03:05:03 +0000 (12:05 +0900)]
emotion - emotion_test - dont limit fps to 30 as this doesn't help tests
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.
Carsten Haitzler (Rasterman) [Mon, 18 Jun 2018 02:51:21 +0000 (11:51 +0900)]
eina debug - fix segv if an app is compiled with -pg for profiling
gprof uses SIGPROF ... and this causes all sorts of bad things with
the eina debug profiling too. so - use SIGRT instead ... fixes T7028
Jihoon Kim [Sun, 17 Jun 2018 23:45:29 +0000 (08:45 +0900)]
ecore_imf: Remove security_code in autofill type
Change-Id: Ice2c20358f37ecd047b6012b8a9a619b37e211df
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Jihoon Kim [Sun, 17 Jun 2018 23:45:29 +0000 (08:45 +0900)]
ecore_imf: Remove security_code in autofill type
Change-Id: I7221d1bbe311da5523151c889e71585785eead26
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
Jaehyun Cho [Mon, 18 Jun 2018 08:48:47 +0000 (17:48 +0900)]
elm_slider: keep backward compatibility of Tizen 3.0
This commit sets indicator hidden by default for backward compatibility.
This commit restores overwritten code of
6dae707407894f16a9bd87b62cbc087695f0e868
Change-Id: I6df50a8bdfa82c442c6e6d61c319c9a512c14d66
Juyeon Lee [Fri, 15 Jun 2018 06:39:20 +0000 (15:39 +0900)]
Revert "eocre_wl2_window: unset zxdg_surface zxdg_toplevel when hide"
This reverts commit
520034511855d67b5da9d5e63b179788d581f784.
Change-Id: I94564c39f5e8c50dcd32365fdd06fe0b33d468f6
Zbigniew Kempczyński [Sun, 17 Jun 2018 06:52:48 +0000 (15:52 +0900)]
ecore - handle G_IO_ERR conditions for net sockets
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
Daniel Zaoui [Sat, 16 Jun 2018 20:14:47 +0000 (23:14 +0300)]
efl_debugd: don't force unlinking UNIX socket before binding
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).
Mike Blumenkrantz [Fri, 15 Jun 2018 20:34:50 +0000 (16:34 -0400)]
tests: disable toggling clouseau_enabled option in elm tests
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:34:39 +0000 (16:34 -0400)]
eet: handle decode failures as errors in variant decoding
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:34:32 +0000 (16:34 -0400)]
eet: print errors any time an error occurs while decoding
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
Mike Blumenkrantz [Fri, 15 Jun 2018 20:34:00 +0000 (16:34 -0400)]
eet: add #if 0 around macro which will cause compile errors if used
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
Mike Blumenkrantz [Fri, 15 Jun 2018 19:38:49 +0000 (15:38 -0400)]
eina_lock: remove safety checks for main thread
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
Mike Blumenkrantz [Fri, 15 Jun 2018 19:38:33 +0000 (15:38 -0400)]
eina: disable abort on shutdown when triggered by system monitoring thread
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
Mike Blumenkrantz [Fri, 15 Jun 2018 19:38:20 +0000 (15:38 -0400)]
eina_lock: remove locks from eina tracking list on free while thread debugging
Summary:
this prevents invalid memory access during subsequent inlist operations
@fix
sq
Depends on D6265
Reviewers: stefan_schmidt, ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6266
Mike Blumenkrantz [Fri, 15 Jun 2018 19:37:56 +0000 (15:37 -0400)]
eina_lock: modify mutex debugging to ignore recursive locks
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
Derek Foreman [Fri, 15 Jun 2018 18:18:56 +0000 (13:18 -0500)]
ecore_wl2: purge surface buffers in semi_free
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
Derek Foreman [Fri, 15 Jun 2018 18:18:52 +0000 (13:18 -0500)]
ecore_wl2: Add purge to ecore_wl2_window_surface_flush
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
Derek Foreman [Fri, 15 Jun 2018 18:18:39 +0000 (13:18 -0500)]
ecore_wl2: Handle purging flush in dmabuf module
Summary:
Allow destroying all buffers, even attached ones, in the dmabuf surface
module.
Depends on D6279
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6280
Derek Foreman [Fri, 15 Jun 2018 18:18:30 +0000 (13:18 -0500)]
ecore_wl2: Add a purge option to surface flush
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
Derek Foreman [Fri, 15 Jun 2018 18:18:15 +0000 (13:18 -0500)]
ecore_wl2: Set the parent window's surface to NULL on surface destroy
Summary:
Prevents potential use after free.
Depends on D6277
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6278
Mike Blumenkrantz [Fri, 15 Jun 2018 17:27:19 +0000 (12:27 -0500)]
edje_cc: temporarily disable aborting compile when namespace validation fails
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
Mike Blumenkrantz [Fri, 15 Jun 2018 17:27:01 +0000 (12:27 -0500)]
build: enable namespace verification for default theme
Summary:
this will trigger a build failure if someone modifies the theme in such
a way that namespacing is not used correctly, saving some time when
reviewing larger patches which have many theme changes
ref T6911
Depends on D6036
Reviewers: cedric
Reviewed By: cedric
Subscribers: #committers
Tags: #efl
Maniphest Tasks: T6911
Differential Revision: https://phab.enlightenment.org/D6042
Mike Blumenkrantz [Fri, 15 Jun 2018 17:26:44 +0000 (12:26 -0500)]
edje_cc: add option for verifying namespace usage
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
Mike Blumenkrantz [Fri, 15 Jun 2018 15:39:53 +0000 (11:39 -0400)]
eina_cow: rework debug profile safety checks for recursive writes
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
Mike Blumenkrantz [Fri, 15 Jun 2018 15:22:37 +0000 (11:22 -0400)]
Revert "evas: handle event COW modification when COW is already active"
Summary:
This reverts commit
cd6b890c7322ec67d3c41281bda3b22d4a481775.
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
Mike Blumenkrantz [Fri, 15 Jun 2018 15:21:43 +0000 (11:21 -0400)]
eina_lock: do not set PTHREAD_MUTEX_ERRORCHECK on recursive locks
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
Alastair Poole [Fri, 15 Jun 2018 09:42:54 +0000 (10:42 +0100)]
efreet: make efreet_menu_async_get() deprecated.
Marking deprecated. Func will warn and instantly return on
call.
Daniel Zaoui [Fri, 15 Jun 2018 07:10:38 +0000 (10:10 +0300)]
Clouseau: use the config flag only for the old Clouseau
Lukasz Stanislawski [Wed, 6 Jun 2018 09:37:26 +0000 (11:37 +0200)]
elm: remove access_type set API
The api was initially designed to skip objects in accessibility
hierarchy, however it was later replaced with usage of
REDUNDANT_OBJECT role on accessibility object.
Remove this api as it is unused, it obfuscates code even more
and may cause other problems.
Change-Id: I3202ee73ccf545e79d509d3b00569db896d4f975
Jiyoun Park [Thu, 14 Jun 2018 17:47:05 +0000 (02:47 +0900)]
ecore_wl2: change not to render after hide.
show->hide-> configure_cb state case, efl client deals the code like show state.
but efl client already changed into invisible state.
so menual_render_set cdoe should not run.
we will change manual render set code to draw_block code.
Change-Id: Id83a995567dc4c4da7a54366bf6ece97e16d2429
Signed-off-by: Jiyoun Park <jy0703.park@samsung.com>
Juyeon Lee [Tue, 12 Jun 2018 09:53:06 +0000 (18:53 +0900)]
eocre_wl2_window: unset zxdg_surface zxdg_toplevel when hide
ecore_wl2_window_show creates shell surface and its role
eocre_wl2_window_hide destroys them in pair
so, display server know explicit show /hide condition
as a result server would not map a client which attach buffer in background
if client destroyed its shell surface.
@tizen_fix
Change-Id: Idd5a671b69497936c59455b46eaeb1131565b784
Marcel Hollerbach [Thu, 14 Jun 2018 19:23:28 +0000 (14:23 -0500)]
evas: make objects again delete correctly
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
Alastair Poole [Thu, 14 Jun 2018 18:00:22 +0000 (19:00 +0100)]
efreet: mark efreet_menu_async_parse() deprecated.
Marking deprecated, with warnning and instant return.
Disabling test code also (for now). Awaiting a fresh
implementation.
@fix T585
Hermet Park [Thu, 14 Jun 2018 16:00:53 +0000 (01:00 +0900)]
evas vg: prevent a corner-case crash.
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.
Xavi Artigas [Thu, 14 Jun 2018 15:29:37 +0000 (11:29 -0400)]
eina: Turn stringshare printfs into EINA_LOG_DBG
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
Hermet Park [Thu, 14 Jun 2018 14:28:48 +0000 (23:28 +0900)]
evas vg: code refactoring.
No logic changes.
I know this is not a good case in alpha freeze.
but code was too dirty, need more polishing.
Alastair Poole [Thu, 14 Jun 2018 13:22:09 +0000 (14:22 +0100)]
examples: fix build on FreeBSD.
Missing header for AF_INET/6. Another small
difference between BSD and Linux et al.
Hermet Park [Thu, 14 Jun 2018 13:08:14 +0000 (22:08 +0900)]
evas vg: fix another memory leak
@fix
JunsuChoi [Thu, 14 Jun 2018 12:55:50 +0000 (08:55 -0400)]
elm_datetime, efl_ui_clock : Add check 'legacy widget' for layout signal emission
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
Hermet Park [Thu, 14 Jun 2018 11:30:28 +0000 (20:30 +0900)]
evas example: removed unnecessary calls for vg shapes.
Hermet Park [Thu, 14 Jun 2018 11:23:51 +0000 (20:23 +0900)]
efl interface: remove weired implementation.
This color interpolation should not a part of efl_gfx_shape.
Color should be interpolated by Vg.Node which implements Efl.Gfx.Color.
Hermet Park [Thu, 14 Jun 2018 10:51:13 +0000 (19:51 +0900)]
evas vg: fix broken morphing(interpolation)
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