Commit Graph

59411 Commits

Author SHA1 Message Date
Mike Blumenkrantz 46081e4e6a eina_debug_bt: add ifdef for windows build
Summary: ref D7028

Reviewers: vtorri, devilhorns

Reviewed By: vtorri

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6348
2018-06-21 17:44:46 -04:00
Xavi Artigas dc2aa79843 eo_debug: Fix segfault when parsing EO_LIFECYCLE_DEBUG envvar
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
2018-06-21 17:11:40 +02:00
Chris Michael 6c0af430cc efl: Bump required libinput version for Elput
Since commit 7a7abb, LIBINPUT_EVENT_SWITCH_TOGGLE was introduced to
Elput, however this enum did not get released into libinput until 1.7
so we need to require updated libinput now in our configure.ac

@fix
2018-06-21 10:14:18 -04:00
Alastair Poole 11b291aabe ecore_cocoa_cnp: Check for nil object before adding.
This is fixing a segfault. More work needs to be done in
efl_selection_manager.c. Current status is broken.
2018-06-21 14:58:25 +01:00
Alastair Poole a939b57c7b ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS.
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
2018-06-21 13:39:22 +01:00
Daniel Kolesa 1bcdc8af7b efl: include sys/types.h where ssize_t is used
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.
2018-06-21 14:09:59 +02:00
Hermet Park 2663dceaf1 Revert "edje: code refactoring for readibility."
This reverts commit 7fb47fc064.

subsequential revert for previous one.

90a89d1ab2b5d23b29ad0f2680b77b5ba7f56b42.
2018-06-21 19:33:41 +09:00
Hermet Park b70c86f1fc Revert "edje: fix a regression error by 7fb47fc064b8f429242b4d5cdf57071475087821."
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.
2018-06-21 19:33:41 +09:00
Alastair Poole afa0c52351 ecore_con: do proper version test for TLS_method. 2018-06-21 10:22:08 +01:00
Marcel Hollerbach 5a1e954a13 efl_ui_navigation_bar: less warnings
Reviewers: zmike, ManMower, devilhorns, Hermet

Reviewed By: Hermet

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6344
2018-06-21 14:53:36 +09:00
Marcel Hollerbach a2df08cb20 efl_ui_focus_manager_calc: fix warnings
Summary: its a false positive...

Reviewers: zmike, ManMower, devilhorns, Hermet

Reviewed By: Hermet

Subscribers: Hermet, cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6342
2018-06-21 14:52:29 +09:00
SangHyeon Lee ac9dfe7e46 elm_gengrid : fix gengrid cached items disapearing issue by wrong reference counting
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>
2018-06-21 14:09:13 +09:00
Marcel Hollerbach d85abe5e03 efl_ui_widget_focus_manager: less warnings
Summary: fix T7050

Reviewers: zmike, ManMower, devilhorns, Hermet

Reviewed By: Hermet

Subscribers: Hermet, cedric, #committers

Tags: #efl

Maniphest Tasks: T7050

Differential Revision: https://phab.enlightenment.org/D6341
2018-06-21 12:56:07 +09:00
Mike Blumenkrantz 4a2b411287 elm_colorselector: fix improperly named API theme parts
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
2018-06-20 11:57:26 -05:00
Daniel Hirt ff8c383649 Edje load: add safecheck for TEXTBLOCK-specific code path
There is a specific TEXTBLOCK part code path that shouldn't be taken
for other parts.

@fixes T6279
2018-06-20 19:34:00 +03:00
Marcel Hollerbach b2409153aa elm: refactor do not call efl_data_scope_get on a object without data
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
2018-06-20 12:24:06 -04:00
Alastair Poole 271113de0b 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.
2018-06-20 15:24:02 +01:00
Alastair Poole d1cbd161bd 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
2018-06-20 14:17:25 +01:00
Mike Blumenkrantz a8532e4ed6 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
2018-06-19 14:08:27 -04:00
Mike Blumenkrantz b2f2823cb8 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
2018-06-19 14:08:27 -04:00
Mike Blumenkrantz 217f30001a 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
2018-06-19 14:04:45 -04:00
Mike Blumenkrantz 00bc3af4dd 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
2018-06-19 14:04:40 -04:00
Mike Blumenkrantz 83124559cc 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz 1de5c251d1 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz bd9edfad00 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz 9d2d1a2677 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz d4a8856426 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz c043f55a43 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz d886b18fc3 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
2018-06-19 13:55:36 -04:00
Mike Blumenkrantz 0e49bfda65 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
2018-06-19 13:55:36 -04:00
Derek Foreman ee3df4efc3 ecore_wl2: Better error handling for dmabuf sync ioctls
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
2018-06-19 13:43:55 -04:00
Mike Blumenkrantz 023a9ca2ee 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
2018-06-19 13:42:16 -04:00
Mike Blumenkrantz a43cb224c1 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
2018-06-19 13:41:44 -04:00
Mike Blumenkrantz 30197a488f 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
2018-06-19 13:41:16 -04:00
Mike Blumenkrantz 209aca1654 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
2018-06-19 13:41:02 -04:00
Mike Blumenkrantz b7cb24c323 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
2018-06-19 13:40:52 -04:00
Mike Blumenkrantz 13b702816e 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
2018-06-19 13:40:43 -04:00
Mike Blumenkrantz 865774bf81 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
2018-06-19 13:40:27 -04:00
Marcel Hollerbach 4201893048 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
2018-06-19 13:36:04 -04:00
Marcel Hollerbach 6e46950169 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
2018-06-19 13:35:53 -04:00
Marcel Hollerbach 39d8a36b5e 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
2018-06-19 13:35:38 -04:00
Mike Blumenkrantz 8c89015795 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
2018-06-19 13:33:30 -04:00
Mike Blumenkrantz 229ba6d337 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
2018-06-19 13:33:19 -04:00
Mike Blumenkrantz 2acb5e506a 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
2018-06-19 13:33:14 -04:00
Mike Blumenkrantz 6353a699e3 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
2018-06-19 13:30:44 -04:00
Mike Blumenkrantz a446fb86fc 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
2018-06-19 13:30:36 -04:00
Mike Blumenkrantz df2f614431 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
2018-06-19 13:30:26 -04:00
Mike Blumenkrantz 44bafb0741 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
2018-06-19 13:30:20 -04:00
Mike Blumenkrantz 90cb995ac9 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
2018-06-19 13:29:16 -04:00
Lauro Moura ba771f8b69 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
2018-06-19 13:28:58 -04:00