Commit Graph

59411 Commits

Author SHA1 Message Date
Mike Blumenkrantz f80847c87f 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
2018-06-19 13:28:27 -04:00
Mike Blumenkrantz 9889352bc0 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
2018-06-19 13:28:15 -04:00
Mike Blumenkrantz 3c094d8146 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
2018-06-19 13:27:50 -04:00
Mike Blumenkrantz 3c7bf82efe 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
2018-06-19 13:27:27 -04:00
Mike Blumenkrantz 20889496c0 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
2018-06-19 13:27:00 -04:00
Mike Blumenkrantz 3e47335d88 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
2018-06-19 13:26:28 -04:00
Marcel Hollerbach 680285bf6e 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.
2018-06-19 18:31:32 +02:00
Marcel Hollerbach 10ac0c6036 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
2018-06-19 15:45:33 +02:00
Hermet Park 95852ba504 Revert "elementary: fix wrong signal emission"
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)
2018-06-19 12:54:15 +09:00
Hermet Park 013dfe7013 evas map: fix a typo. 2018-06-19 10:50:50 +09:00
Hermet Park 803025f919 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.
2018-06-19 08:36:00 +09:00
Derek Foreman 6b1ab3cd9c 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
2018-06-18 15:12:54 -05:00
Derek Foreman 1d8a93aa78 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
2018-06-18 15:12:36 -05:00
Felipe Magno de Almeida 4a60c60528 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.
2018-06-18 14:55:57 -03:00
Marcel Hollerbach 0d91088d0f Revert "eina debug - fix segv if an app is compiled with -pg for profiling"
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
2018-06-18 16:09:14 +02:00
Marcel Hollerbach 3846750b2d 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
2018-06-18 12:48:58 +02:00
Mike Blumenkrantz dfe703b9bc tests: wrap critical errors to disable aborting in eo tests
ref T7002

Differential Revision: https://phab.enlightenment.org/D6271
2018-06-18 12:11:27 +02:00
Mike Blumenkrantz e5d4f9f63c tests: disable eo test timeouts when not forked
this makes debugging much easier

Differential Revision: https://phab.enlightenment.org/D6270
2018-06-18 12:11:27 +02:00
Mike Blumenkrantz abd1db8b1e 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
2018-06-18 12:11:27 +02:00
Carsten Haitzler ebf1f71194 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.
2018-06-18 12:05:03 +09:00
Carsten Haitzler 8343de6ce3 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
2018-06-18 11:52:39 +09:00
Jihoon Kim 24536de3a9 ecore_imf: Remove security_code in autofill type
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-06-18 08:45:55 +09:00
Zbigniew Kempczyński 1adb73cef8 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
2018-06-17 15:59:02 +09:00
Daniel Zaoui 4294561c88 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).
2018-06-16 23:21:09 +03:00
Mike Blumenkrantz 0accfb12fa 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
2018-06-15 16:34:50 -04:00
Mike Blumenkrantz 25e6b218db 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
2018-06-15 16:34:39 -04:00
Mike Blumenkrantz 4631d4ce7e 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
2018-06-15 16:34:32 -04:00
Mike Blumenkrantz c74d964afa 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
2018-06-15 16:34:00 -04:00
Mike Blumenkrantz 032e4bd116 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
2018-06-15 15:38:49 -04:00
Mike Blumenkrantz 8ef0cd0950 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
2018-06-15 15:38:33 -04:00
Mike Blumenkrantz 66bfc5ff4b 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
2018-06-15 15:38:20 -04:00
Mike Blumenkrantz fb534b328e 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
2018-06-15 15:37:56 -04:00
Derek Foreman e4641649e2 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
2018-06-15 13:18:56 -05:00
Derek Foreman 54a877981c 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
2018-06-15 13:18:53 -05:00
Derek Foreman b8d6923782 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
2018-06-15 13:18:39 -05:00
Derek Foreman a310667bec 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
2018-06-15 13:18:30 -05:00
Derek Foreman 551101b4cd 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
2018-06-15 13:18:15 -05:00
Derek Foreman 03793c4c64 ecore_wl2: Remove ecore_wl2_window_raise
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
2018-06-15 13:18:00 -05:00
Derek Foreman dc75d6b5d3 ee_wayland: Don't offer a raise callback
Summary: This isn't possible under wayland.

Reviewers: devilhorns, zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6276
2018-06-15 13:17:39 -05:00
Mike Blumenkrantz 0dc492087e 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
2018-06-15 12:27:19 -05:00
Mike Blumenkrantz ddd2da2ae5 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
2018-06-15 12:27:01 -05:00
Mike Blumenkrantz 5e31eaf4a1 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
2018-06-15 12:26:44 -05:00
Mike Blumenkrantz 4ca3a51ca6 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
2018-06-15 11:39:53 -04:00
Mike Blumenkrantz 46941804a0 Revert "evas: handle event COW modification when COW is already active"
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
2018-06-15 11:22:38 -04:00
Mike Blumenkrantz 1c52aede2b 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
2018-06-15 11:21:43 -04:00
Alastair Poole 48dc758688 efreet: make efreet_menu_async_get() deprecated.
Marking deprecated. Func will warn and instantly return on
call.
2018-06-15 10:42:54 +01:00
Daniel Zaoui 1ab3094dac Clouseau: use the config flag only for the old Clouseau 2018-06-15 10:10:50 +03:00
Marcel Hollerbach 81519b195f 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
2018-06-14 14:23:28 -05:00
Alastair Poole 6baaab4b21 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
2018-06-14 19:00:22 +01:00
Hermet Park c8c0dbb32b 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.
2018-06-15 01:11:26 +09:00