Commit Graph

24571 Commits

Author SHA1 Message Date
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 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
Xavi Artigas bd5174b600 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
2018-06-14 11:30:07 -04:00
Hermet Park dc729e8ece 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.
2018-06-14 23:31:03 +09:00
Alastair Poole e680ff7426 examples: fix build on FreeBSD.
Missing header for AF_INET/6. Another small
difference between BSD and Linux et al.
2018-06-14 14:24:04 +01:00
Hermet Park ee2ca991fc evas vg: fix another memory leak
@fix
2018-06-14 22:08:51 +09:00
junsu choi 20404d79d4 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
2018-06-14 08:55:50 -04:00
Hermet Park b1d2f2c49a evas example: removed unnecessary calls for vg shapes. 2018-06-14 20:30:28 +09:00
Hermet Park 6fbcfd5d84 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.
2018-06-14 20:23:51 +09:00
Hermet Park a7e4c67039 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
2018-06-14 20:02:15 +09:00
Xavi Artigas a5f0e2ecdf evas: Remove unnecessary rotation when saving
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
2018-06-13 13:42:59 -04:00
Chris Michael cd376bbe5f elementary: Add missing EINA_UNUSED for unused function parameter 2018-06-13 11:37:40 -04:00
Mike Blumenkrantz cd6b890c73 evas: handle event COW modification when COW is already active
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
2018-06-13 11:33:21 -04:00
Mike Blumenkrantz 92a229f6eb eina_barrier: handle PTHREAD_BARRIER_SERIAL_THREAD return from barrier_wait
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
2018-06-13 10:09:44 -04:00
Mike Blumenkrantz bbf60946e3 eo: call efl_object_class_get() during efl_object_init()
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
2018-06-13 10:09:32 -04:00
Lauro Moura 2fe27e5780 evil: Fix test compilation.
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
2018-06-13 10:09:16 -04:00
Mike Blumenkrantz 407d89f29b tests: make ecore timeout special casing dependent on check version
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
2018-06-12 13:57:01 -04:00
Mike Blumenkrantz 7aeab74e41 tests: add timeout to fixture for ecore tests
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
2018-06-12 11:03:59 -04:00
Mike Blumenkrantz d5a4fba118 tests: improve ecore timer test code
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
2018-06-12 10:52:12 -04:00
Xavi Artigas 2cf05bac09 evas: Fix small string leak
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
2018-06-12 10:51:53 -04:00
Alastair Poole 8e64746a44 ecore_evas: fix crash on free of smart data.
pd is NULL here, adds a check before attempt
to read from pd.

@fix T6974
2018-06-12 15:19:12 +01:00
Hermet Park f4851d311f evas vg: clean up all the duplicated children by container properly.
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.
2018-06-12 19:08:35 +09:00
Marcel Hollerbach 054eab8ad8 elm_gen****: ensure the correct parent is set
fixes T6474
2018-06-12 11:51:08 +02:00
Marcel Hollerbach 42bb537170 efl_ui_focus_parent_provider_gen: do not accidently flatten the widgets
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.
2018-06-12 11:32:51 +02:00
Hermet Park 78d1fdd746 evas vg: get rid of memory leak.
alloc mem only if it didn't alloc'd yet.

@fix
2018-06-12 11:27:51 +09:00
Youngbok Shin a99f337413 edje: fix an issue "description.text.text" is not shown
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
2018-06-11 16:19:38 +03:00
Hermet Park 5733994b02 evas vg: fix wrong obj deletion.
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.
2018-06-11 20:10:07 +09:00
Daniel Kolesa b47782372b eolian: silence a potentially uninitialized warning
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.
2018-06-11 13:07:23 +02:00
Hermet Park ca3fb6bf94 evas vg: fix broken vg rendering.
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
2018-06-11 17:18:36 +09:00
Marcel Hollerbach d1e1adf0bc edje: fix edje_part_helpers refcounting
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
2018-06-10 17:01:33 +02:00
Larry Lira 03e0310a82 examples: fix efl_model parent loop add 2018-06-07 19:15:50 -03:00
Larry Lira 0dfadc2322 elm: fix efl_model property_get and children_slice_get in views 2018-06-07 19:15:50 -03:00
Larry Lira 1fb268ac3c Eio: fix eio_model children_slice_get all 2018-06-07 19:15:50 -03:00
junsu choi 4db762ee6c ecore_con : Fix that null pointer access for segmentation fault
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
2018-06-07 10:49:42 -04:00
Hermet Park 475c93fd75 edje: fix a regression error by 7fb47fc064.
That shouldn't be touched, just confused by its name.
2018-06-07 19:38:05 +09:00
Hermet Park af565966e8 canvas vg: move a comment to right place.
no any logic changes.
2018-06-07 19:14:30 +09:00
Hermet Park 7fb47fc064 edje: code refactoring for readibility.
collection.part is too ambigious, since group has parts as well.
Normally we regard it as "name" (of group) instead of part.
2018-06-07 17:53:12 +09:00
Mike Blumenkrantz 334718a006 edje_cc: fixup edje_collections_lookup hash ids during collection pruning
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
2018-06-07 17:34:22 +09:00
Marcel Hollerbach 4e386c883a eo: add testcase for basic eventing and lifetime checking
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
2018-06-07 09:39:10 +02:00
Marcel Hollerbach 7e72a93283 eo: unref compensate is not requires here
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
2018-06-07 09:39:10 +02:00
Hermet Park 590b52ce75 evas map: an alternative patch for map rendering issue.
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.
2018-06-07 14:50:41 +09:00
Marcel Hollerbach 8d5a398610 eo: _efl_unref correctly
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
2018-06-06 14:20:11 -05:00
Derek Foreman 07d7ae4657 ecore: Use poller instead of animator for mem stats
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
2018-06-06 12:41:05 -05:00
Mike Blumenkrantz a6731320f5 evas engines: do not immediately free native surface when unsetting it
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
2018-06-05 12:14:30 -05:00
Derek Foreman 4ec261064f ecore_wl2: Fix dmabuf locking
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
2018-06-05 11:40:37 -05:00
Marcel Hollerbach e2d143d19e eo: make noref also a special count
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
2018-06-05 10:56:09 -04:00
Hermet Park 72ce12e550 Revert "evas canvas: remove unused goto tag."
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...
2018-06-05 21:38:01 +09:00
Hermet Park 77684dc53a Revert "evas: fix a map rendering problem."
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.
2018-06-05 21:01:15 +09:00
Hermet Park 5a4f16531f elementary widget: fix to trigger object signal emit properly.
This is more generic way to trigger signals for all derived classes of layout.

This fixes the dayselector item signal emit issue as well.

@fix T6981
2018-06-05 20:27:56 +09:00
Daniel Zaoui b062fae36d Test/Genlist: set back selection to item in show/bring test
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.
2018-06-05 10:25:12 +03:00
YeongJong Lee 07c627a977 elm_label: remove needless variable
Reviewers: Hermet

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6238
2018-06-04 20:12:50 +09:00
YeongJong Lee 1b245787fe elementary: fix wrong signal emission
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
2018-06-04 17:48:06 +09:00
Jihoon Kim dbb464e94e ecore_imf: turn off autocapital mode in password layout
Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-06-04 10:47:55 +09:00
YeongJong Lee 9758f99e0b elm_table/grid: remove non-widgets from focus elements.
ref 5a3ee984a1
Differential Revision: https://phab.enlightenment.org/D6236
2018-06-03 12:00:11 +02:00
YeongJong Lee 420128903a ee_wayland: remove needless variable
Reviewers: ManMower, zmike

Reviewed By: ManMower

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6239
2018-06-01 09:13:14 -05:00
YeongJong Lee 4ea4f0486e elm_hoversel: inherit elm_button
Summary:
elm_hoversel is legacy widget. it should inherit legacy Elm_Button instead of
Efl.Ui.Button.
this patch also fixes icon signal emit bug.

fixes T6971

Test Plan:
1. elementary_test -to hoversel
2. check that ther is icon (sky) on "Icon + Lebel" hoversel

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #committers, JackDanielZ, zmike

Tags: #efl

Maniphest Tasks: T6971

Differential Revision: https://phab.enlightenment.org/D6240
2018-06-01 11:36:01 +09:00
Mike Blumenkrantz 5b043be1db gl_common: fix invalid memory access
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
2018-05-31 13:12:18 -05:00
YeongJong Lee 121a85f2fc elm_tooltip: use window as parent instead of NULL for elm_theme_object_set
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
2018-05-31 09:46:13 -04:00
YeongJong Lee 61dc4899b5 elm_win: fix widget type name for backward compatibility
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
2018-05-31 21:39:34 +09:00
Xavi Artigas 2265f2f8f6 Do not consider the Evas_Vg API as BETA anymore
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
2018-05-30 07:33:01 -04:00
Hermet Park df4e54f4aa elementary genlist: optimize data. 2018-05-30 13:46:12 +09:00
Hermet Park b2f85bb9ed evas canvas: remove unused goto tag. 2018-05-30 13:41:41 +09:00
Hermet Park 6e74ab5ac6 elementary: packing data properly. 2018-05-30 13:37:35 +09:00
Marcel Hollerbach fb4eebde95 evas_object_box: adjust to recent EFL_EVENT_DEL changes
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
2018-05-29 12:24:55 -04:00
Marcel Hollerbach 70ab165a6d evas_focus: adjust to recent EFL_EVENT_DEL changes
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
2018-05-29 12:24:53 -04:00
Marcel Hollerbach 6551a954f0 evas_clip: fix current EFL_EVENT_DEL event changes
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
2018-05-29 12:24:44 -04:00
Marcel Hollerbach 23aab73c2f evas: be less error prone
Summary:
Dont spin infinitly when the refcount accidently is already < 0.

Depends on D6225

Reviewers: zmike, cedric, stefan_schmidt, #committers

Reviewed By: zmike, #committers

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6226
2018-05-29 12:24:36 -04:00
Marcel Hollerbach dda7038019 evas_object_table: adjust to recent EFL_EVENT_DEL changes
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
2018-05-29 12:24:31 -04:00
Mike Blumenkrantz ed0c408089 tests: make statically-defined eldbus bus names unique
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
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz 7c777ef053 tests: use eldbus in dbus test naming instead of enlightenment
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
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz 3804ccd0e1 tests: print dbus errors on fail in eldbus_test_eldbus_message
Summary: Depends on D6200

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6201
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz cba7f31a3a tests: print error messages when eldbus tests fail to acquire requested name
Summary: Depends on D6199

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6200
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz 99894d258c tests: reduce duration of all timers in eldbus tests
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
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz 7a8076b228 tests: always use session bus for eldbus tests
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
2018-05-29 13:25:56 +02:00
Mike Blumenkrantz 6421dd68fd tests: fix eldbus_test_eldbus_name_owner_changed test
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
2018-05-29 13:25:55 +02:00
Mike Blumenkrantz c6304aed8c tests: remove eldbus_test_eldbus_main_loop
Summary:
this test has no relation to eldbus

ref T6952

Reviewers: stefan_schmidt, cedric

Reviewed By: cedric

Subscribers: cedric, #committers

Tags: #efl

Maniphest Tasks: T6952

Differential Revision: https://phab.enlightenment.org/D6196
2018-05-29 13:25:55 +02:00
Hermet Park be34971af8 evas render: remove compile warnings.
Some bunch of code is unused when RENDCACHE is disabled.
Migrated them into RENDCACHE scope. No logical changes actually.
2018-05-29 16:28:35 +09:00
Marcel Hollerbach bb2037748a edje: a new testcase for what was happening before
Summary:
this checks explicitly that the lifecycle is alive.

Depends on D6223

Reviewers: cedric, zmike, JackDanielZ

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6224

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
2018-05-28 21:50:19 -07:00
Marcel Hollerbach 608575f5bd eo: do not return efl_invalidated true when its not true
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>
2018-05-28 21:50:17 -07:00
Marcel Hollerbach 665e88f8b4 edje: fix lifecycle of swallowed children
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>
2018-05-28 21:50:12 -07:00
Hermet Park bab45b8537 evas gl: update example code for better user understanding. 2018-05-29 11:27:15 +09:00
Wonki Kim 843850154d elementary: Modify key action logic for image.zoomable
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
2018-05-28 22:02:04 +09:00
YeongJong Lee 55cd0f4970 efl_part: remove unnecessary default_xxx_part_get
Summary:
They can call default_xxx_part_get of layout.

ref 6e49db0739

Test Plan:
elementary_test -to button
elementary_test -to 'efl.ui.button'
elementary_test -to 'efl.ui.popup'
elementary_test -to 'progressbar'
elementary_test -to 'slider'

Reviewers: Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, #committers, herb, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6218
2018-05-28 17:32:46 +09:00
Stefan Schmidt a1d07e6c83 build: make sure new eo header is distributed in tarball
In commit 8a513a522e thsi new header was
added, but never made sure it lands into the distribution tarball.
2018-05-28 09:36:46 +02:00
Hermet Park 9a25bad5bf elementary textpath: use job for deferred drawing task.
textpath performed drawing task multiple times unnecesarily.
It should be performed only one time after all setting up.
2018-05-28 15:39:23 +09:00
Hermet Park d1cce82565 elementary ui_textpath: remove autofit api.
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.
2018-05-28 15:23:57 +09:00
Youngbok Shin 8d249c9445 elementary textpath: update Evas map when text is updated
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
2018-05-28 14:48:41 +09:00
YeongJong Lee cf9d396d82 efl_ui_popup: use "elm.swallow.content" name instead of "default" for scroller
Summary:
efl_part don't support legacy aliases.

ref 495edbd995

Test Plan:
1. elementary_test -to 'efl.ui.popup.alert.text'
2. elementary_test -to 'efl.ui.popup.alert.scroll'

Reviewers: Jaehyun_Cho, herb

Reviewed By: Jaehyun_Cho

Subscribers: stefan_schmidt, cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6192
2018-05-28 12:57:00 +09:00
Carsten Haitzler 060e62061d efl ui win - fix legacy theme support correctly
this fixes T6918. during development legacy theme support was b roken.
473e657120 broke it.
2018-05-27 19:48:48 +09:00
Carsten Haitzler e46a2f95a8 eet - check for null edd's and don't decode junk data
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...
2018-05-27 17:10:19 +09:00
Carsten Haitzler 9edce5e078 elm config - fix derived save crash
derived shutdown nuked the edd's and eet still decoded something...
that was junk. oddly. this fixes T6879.
2018-05-27 17:00:09 +09:00
Carsten Haitzler 4715c099ec Revert "ecore-evas-x: set draw_block until the window receives a configure event"
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.
2018-05-27 04:52:03 +09:00
Cedric BAIL b8396add70 ecore_con: efl_net_socket_ssl_adopted_get is EFL_NET_SOCKET_SSL_PROTECTED. 2018-05-25 10:40:56 -07:00
Woochan Lee 3c96fdfc69 elm_spinner: Spinner value adjust when round enabled.
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>
2018-05-25 10:28:42 -07:00
Mike Blumenkrantz 7b80038fa7 ecore-evas-x: set draw_block until the window receives a configure event
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>
2018-05-25 10:28:32 -07:00
Bryce Harrington 6ba44f9006 eina: Improve eina_array function documentation
Summary:
Define return values when errors occur.  Eliminate use of the term
'vector' to avoid confusion with eina_vector.  Cleanup grammar
throughout.

Reviewers: cedric, Hermet

Reviewed By: Hermet

Subscribers: #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6043

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:19:22 -07:00
Mike Blumenkrantz a0db6b351a Revert "efl_ui_win: simplify checking theme version when adding frame"
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>
2018-05-25 10:14:38 -07:00
Mike Blumenkrantz c5fae98de5 elm_notify: remove allow_events_set call in destructor
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>
2018-05-25 10:13:31 -07:00
Youngbok Shin cae57ff51b edje: don't give a wrong Edje data when an Edje object has group parts
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>
2018-05-25 10:09:15 -07:00
Youngbok Shin 6e6ed72921 elementary widget: Do super's efl_gfx_color_set to apply color to widget itself
Summary:
The efl_gfx_color interface was not applied properly.
The implementation code of evas_object_smart_color_set was moved
to efl_gfx_color_set implementation code. But, these two functions are not same.
In efl_gfx_color_set impl, it has to call super's color set to apply
the given color values to widget object itself.

This bug caused color_set/get test failure and the following bug.
1. elm_image_add
2. evas_object_color_set
3. elm_image_file_set
4. show. See the given color is not applied. It was applied in the past.

Test Plan: color_set/get to elm_image object is included in test suite.

Reviewers: raster, cedric, herdsman, woohyun

Reviewed By: cedric

Subscribers: #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6163

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:08:24 -07:00
junsu choi 7ef4ab6b88 ecore_con : Fix class check to check inner_socket class
Summary:
cl->socket is a Efl.Net.Socket_Simple. it is not inherit the Efl.Loop.fd class.
and The target of the class check have to be the inner_socket.
But inner_socket is Efl.Net.Socket_Ssl. Efl.Net.Socket_Ssl class is not inherit FD class.
Efl.Net.Socket_Tcp is inherit Efl.Loop.fd class. So, Need to add Efl.Net.Socket_Tcp to inheritance.
(The server side is a similar hierarchy. (ssl -> tcp -> ip -> fd))

Test Plan: N/A

Reviewers: cedric, jypark, myoungwoon, zmike, barbieri

Reviewed By: cedric

Subscribers: #committers, bowonryu, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6168

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:07:05 -07:00
Hosang Kim 37f13a9d10 elm_interface_scrollable: change return value for post events.
Summary:
1. Scroller in scroller case, callback process should continue.
     If child scroller does not scroll, parent scroller should be checked whether scroll or not.
     So returning EINA_TRUE is necessary.
2. down.dragged flag is always EINA_FALSE, so scroll is never unlocked.
@fix

Test Plan:
precondition
  elementary_config -> scrolling -> Set Scroll Smooth Amount to 0
elementary_test -> pagescroller

Reviewers: woohyun, zmike, singh.amitesh, cedric

Reviewed By: cedric

Subscribers: #committers, cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6187

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:04:50 -07:00
Lauro Moura a8b7833a48 efl_mono: Fix efl_add_internal_end call.
Summary:
It was missing setting the 'is_ref' parameter to 1 to mirror the
internal_start call.

Test Plan: make check

Reviewers: cedric

Subscribers: #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6193

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:01:09 -07:00
Lauro Moura 7d4c5f5d7c eo_cxx: Fix do_eo_add after lifecycle branch.
Summary:
Also changed the previously failing tests to use ck_assert_int_eqinstead
of fail_if for better reporting.

Test Plan: make check

Reviewers: cedric, felipealmeida

Reviewed By: cedric

Subscribers: #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6194

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 10:00:42 -07:00
Youngbok Shin 455775c2e3 elementary textpath: improves text rendering quality of curved text
Summary:
There was wrong logic for calculating # of slices, dt, dist of each segment.
It caused bad rendering quality by putting too much slices on small text.

In addition, textpath didn't care about smoothness of curve's slope changing.
The patch fixes to check differences of previous points and next points for Evas Map.
So, textpath can show more smoothly curved text.

Also, it fixes "autofit" bug when text is much huge than given circle's size.

@tix

Test Plan:
- I'll attach screenshots for comparing rendering quality.
- To see "autofit" bug.
1. Run the following command.
   ELM_ACCEL=gl ELM_SCALE=2.0 elementary_test -to "efl.ui.textpath"

2. Toggle "autofit" check box.
3. See the bug case. Textpath can't show all text properly.

Reviewers: raster, cedric, thiepha

Subscribers: #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6195

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-25 09:59:04 -07:00
Cedric BAIL 2a5dc74408 elementary: fetch the model explicitely.
T6939
2018-05-25 09:16:45 -07:00
WooHyun Jung 4d0bb5ec35 efl_ui_win: fix wrong comparison in icon_object_set
@fix
2018-05-25 16:42:52 +09:00
Cedric BAIL 311e35a0dd elementary: prevent model from being invalidated when their parent model get destroyed. 2018-05-24 16:02:21 -07:00
Cedric BAIL a098ee4460 elementary: ctxpopup is using legacy Elm.List which use legacy Elm.Object.Item, fix accordingly. 2018-05-24 16:02:21 -07:00
Cedric BAIL 0eacebfec8 elementary: fix elm_list items lifecycle.
Elm.List.Item lifecycle where an exception in Efl. They were trying to prevent the death of
there parent, to avoid dealing with safely walking on items list. This has been on the todo
list for years and is now fixed by this patch.
2018-05-24 16:02:21 -07:00
Cedric BAIL 774ae32108 evas: make smart object deletion more robust to bad child behavior. 2018-05-24 16:02:21 -07:00
Cedric BAIL 40af4fe94b elementary: refactor filesector target cleanup to not leave function handler behind. 2018-05-24 16:02:21 -07:00
Cedric BAIL 85598a8a40 elementary: make sure to use the model that generated the event to fetch information from. 2018-05-24 16:02:21 -07:00
Cedric BAIL 228ecdeb51 elementary: make sure fileselector button model has a parent and self destruct properly. 2018-05-24 16:02:21 -07:00
Cedric BAIL 901eeb94e3 eio: enforce eio model to have a parent that provide main loop access. 2018-05-24 16:02:21 -07:00
Cedric BAIL b59911d5af ecore: during shutdown their is no need to delay anything. 2018-05-24 16:02:21 -07:00
Cedric BAIL 38d8b615c8 eo: an object is invalidated if it is invalidated or if any parent is invalidated. 2018-05-24 16:02:21 -07:00
Cedric BAIL 384f30c8ec ecore_con: disconnect from the server as soon as it request it.
Ecore_Event can still be in flight while the client get freed by the server.
We are protected agaist that and keep the client partially alive until the event
are processed, but we need to disconnect from the server as soon as possible
as we might outlive the server.
2018-05-24 16:02:21 -07:00
Cedric BAIL 256b2103c6 evas: disable del hook when pushed inside the hash.
This is necessary in case of cycling init/shutdown as the hash will
destroy the Event, but the hook will instantly reinsert it.
2018-05-24 16:02:21 -07:00
Cedric BAIL 5b9694da3e eo: match raise of error level in tests. 2018-05-24 16:02:21 -07:00
Cedric BAIL 3489708052 eo: we are actually testing internal function too here. 2018-05-24 16:02:20 -07:00
Cedric BAIL 0c0f2b75e4 eo: add infrastructure to test critical Eina Error. 2018-05-24 16:02:20 -07:00
Cedric BAIL 48738d125c eo: improve tests suite debugging by always displaying the error message before abort. 2018-05-24 16:02:20 -07:00
Cedric BAIL b1954ce1e7 eo: move wref set to NULL to append after last event.
Making wref disapear before the last event require additional work to use
them during the FREE event. As I think we should introduce a wref that
disapear after the invalidate state, it makes sense to move that to a later
stage. Especially because their is no specific event related to them
being set to NULL.
2018-05-24 16:02:20 -07:00
Cedric Bail 4a3b0e7f25 evas: improve test to actually test something meaningful. 2018-05-24 16:02:20 -07:00
Cedric BAIL a5f9ee5ab3 elementary: fix configuration destruction by actually calling the proper way of destruction. 2018-05-24 16:02:20 -07:00
Cedric Bail b671a2c34f evas: actually we expect gradient to live as long as the part that is using them. 2018-05-24 16:02:20 -07:00
Cedric Bail 301340baf6 ecore_con: allow for NULL to do nothing. 2018-05-24 16:02:20 -07:00
Cedric Bail 13ae5b1f0c elementary: the config subsystem expect a stringshare. 2018-05-24 16:02:20 -07:00
Cedric Bail 7e4b66a58d evas: multiple call to evas_object_del are allowed even after the first one succeeded. 2018-05-24 16:02:20 -07:00
Cedric Bail fa795b17d3 eo: allow efl_part during object invalidate. 2018-05-24 16:02:20 -07:00
Cedric BAIL a90b5fa930 eo: remove parent_sink as this hack should not be necessary anymore. 2018-05-24 16:02:20 -07:00
Cedric BAIL 0cc07f4e6b eo: try to make efl_add and efl_add_ref refcounting sane in all case. 2018-05-24 16:02:20 -07:00
Cedric BAIL 2894a2e3c3 ecore_file: on shutdown properly set to NULL to avoid confusion when cycling init/shutdown. 2018-05-24 16:02:20 -07:00
Cedric BAIL c49d293915 ecore: allow for NULL file handler request. 2018-05-24 16:02:20 -07:00
Cedric BAIL 0d52ded215 elementary: destroy timer as they could tick during shutdown. 2018-05-24 16:02:20 -07:00
Cedric BAIL 3d94f477d4 elementary: properly destroy block events object during destruction. 2018-05-24 16:02:20 -07:00
Cedric BAIL 75bb7c049f evas: do not crash if constructor fail and invalidate is run on a partial object. 2018-05-24 16:02:20 -07:00
Cedric BAIL ccf320b06a eo: improve error reporting to display object pointer (without accessing it). 2018-05-24 16:02:20 -07:00
Cedric BAIL 5f5af596e0 elementary: cleanup genlist destructor to order content destruction correctly. 2018-05-24 16:02:20 -07:00
Cedric BAIL 15995ff0eb evas: make evas_object_free work in case of lost reference to Eo object.
This is clearly a workaround to a bad situation, but there is no case
that I can find that solely lead to object being NULL nor is there any
code that should do that, but still it does in some case...
2018-05-24 16:02:20 -07:00
Cedric BAIL 33c278b898 evas: detect incoherency in object content and report problem. 2018-05-24 16:02:20 -07:00
Cedric BAIL 062471b5ee evas: handle Evas_Object constructor failure case better. 2018-05-24 16:02:20 -07:00
Cedric BAIL 94a9a733a5 edje: simplify part handling as we are now guaranteed that a part as no parent when reaching the del intercept. 2018-05-24 16:02:20 -07:00
Cedric BAIL 0bf7a5ea13 eo: make sure that reporting object refcount during efl_noref, doesn't lead to recursive loop. 2018-05-24 16:02:20 -07:00
Cedric BAIL 5c23ea00b4 eo: add warning in case of a terrible situation happen. 2018-05-24 16:02:20 -07:00
Cedric BAIL b0aa5d806b eo: efl_invalidate should also be triggered for object with no parent before the destructor. 2018-05-24 16:02:20 -07:00
Cedric BAIL f7b08c4537 ecore: properly cleanup variable on shutdown, so that cycling another init doesn't crash. 2018-05-24 16:02:20 -07:00
Cedric Bail a8b70953e4 evas: improve evas child destruction order.
Technically I do not thing it is a correct behavior to force destroy
reference that evas do not hold, but evas_object are deaply tied to
the canvas they are build on and even after invalidate it is hard
to not have function call that would lead to crash. Making the pointer
incorrect thanks to eo indirection seems safer here.
2018-05-24 16:02:20 -07:00
Cedric Bail 429084e2fb evas: do not override lifecycle by overriding efl_parent_set. 2018-05-24 16:02:20 -07:00
Cedric Bail 4479d035be evas: reindent code properly. 2018-05-24 16:02:19 -07:00
Cedric Bail e1d41eef3a eo: actually enforcing the efl_parent_set code path is necessary to enforce the predictability of the code path. 2018-05-24 16:02:19 -07:00
Cedric Bail 23e2c0bdb8 eo: as efl_del is not an Eo API call anymore, manually protect call with refcount. 2018-05-24 16:02:19 -07:00
Cedric Bail 48b8118123 eo: update refcount before sending efl_noref event to avoid double update during events propagation. 2018-05-24 16:02:19 -07:00
Cedric Bail a16d127997 ecore: because fd_handler do not have the main loop as parent, the main loop can die before them. 2018-05-24 16:02:19 -07:00
Cedric Bail 5c9815676b evas: move the del event to match invalidate and free event to the end of the destructor. 2018-05-24 16:02:19 -07:00
Cedric BAIL b5b9f72f57 elementary: when there is no file listed yet, no need to request them. 2018-05-24 16:02:19 -07:00
Cedric BAIL 842b2ec381 eina: make it possible to return an EINA_VALUE_EMPTY by just requesting a new value of type NULL. 2018-05-24 16:02:19 -07:00
Cedric BAIL 671fc92f08 eina: check the type before looking at anything else to avoid triggering valgrind warning. 2018-05-24 16:02:19 -07:00
Cedric BAIL e4a6aaa4c1 elementary: enforce walk to protect the object existence by using eo refcounting. 2018-05-24 16:02:19 -07:00
Cedric BAIL 048a93e6e3 elementary: reorder operation to only call efl_parent_set when the object still has a chance to exist. 2018-05-24 16:02:19 -07:00
Cedric BAIL ddccd9e306 evas: destructor can not be called recursively, we should rely on Eo refcount. 2018-05-24 16:02:19 -07:00
Cedric Bail d052f001be eo: move destruction of the link with children to be always after invalidate. 2018-05-24 16:02:19 -07:00
Cedric Bail 3a1fe14742 eo: propagate invalidate before destroying the link to the parent. 2018-05-24 16:02:19 -07:00
Cedric Bail 91cd4f7c0c evas: actually we do not even need to NULL it, if we wref it. 2018-05-24 16:02:19 -07:00
Cedric Bail 3347db4bea edje: do not reparent when the object is dead already. 2018-05-24 16:02:19 -07:00
Cedric Bail a3c91d14a9 eo: improve message for debugging life cycle issues. 2018-05-24 16:02:19 -07:00
Cedric Bail f49ccff71d edje: forgot to propagate invalidate upward. 2018-05-24 16:02:19 -07:00
Lauro Moura 02f77eb092 cxx: Fix examples after part changes
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Lauro Moura 969efc6399 examples: Elm: Add dependency on efl.la due to efl_part
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Lauro Moura f510d536a4 efl_mono: Fixes after efl_part/del changes.
Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:19 -07:00
Cedric Bail bff5c37c1b ecore_evas: we shouldn't do anything when we are deleted. 2018-05-24 16:02:19 -07:00
Cedric Bail 741f3e39ed evas: preserve evas_object_del logic to not really destroy an object until it is fully unref first. 2018-05-24 16:02:19 -07:00
Cedric Bail c2e8b492b1 evas: enforce legacy parent to be the canvas. 2018-05-24 16:02:19 -07:00
Cedric Bail f44511d0f9 elementary: refactor by using elm_legacy_add. 2018-05-24 16:02:19 -07:00
Cedric Bail b482107a19 evas: add a way to figure out the evas class that should be the real parent for all legacy object. 2018-05-24 16:02:19 -07:00
Cedric BAIL f29e1db94b elementary: make toolbar 'more_item' properly self destruct. 2018-05-24 16:02:19 -07:00
Cedric BAIL 2ce788063a elementary: no need to recalculate the layout during invalidate. 2018-05-24 16:02:19 -07:00
Cedric BAIL 9e0f9539dd elementary: the pan object of the map object was created with efl_add, adjust accordingly. 2018-05-24 16:02:19 -07:00
Cedric BAIL 0fe3b7962d elementary: due to lifecycle difference between legacy object and unified object, we need to track their lifecycle more explicitely.
It is my understanding that some items view are created with efl_add directly
and manipulate VIEW directly with Eo new API. This clash with the inconsistent
behavior that evas_object_del expect. To work around this, we track object life
by explictely relying on efl_wref_add while holding the pointer to the object.
2018-05-24 16:02:19 -07:00
Cedric BAIL 0239099d01 eo: efl_del should not be something anyone can override this can break so many things.
Allowing override of efl_del allow for messing with object life cycle which can create
problem for binding where an object was expected to be invalidated, but isn't really.
2018-05-24 16:02:19 -07:00
Cedric BAIL 30d02a7410 evas: try to protect old legacy lifecycle without overloading Efl.Del. 2018-05-24 16:02:19 -07:00
Cedric BAIL 590304d597 eio: properly handle Eio.Model lifecycle inside Elm.Fileselector.
Differential Revision: https://phab.enlightenment.org/D6107
2018-05-24 16:02:18 -07:00
Cedric BAIL c753fc793b elementary: dayselector use efl_add to create the object, calling efl_del during destructor make no sense.
Differential Revision: https://phab.enlightenment.org/D6106
2018-05-24 16:02:18 -07:00
Cedric BAIL 1991900fd6 elementary: no need to check for part during destruction.
Differential Revision: https://phab.enlightenment.org/D6105
2018-05-24 16:02:18 -07:00
Cedric BAIL 6476896ec5 elementary: no need for resize an object during destruction.
Differential Revision: https://phab.enlightenment.org/D6104
2018-05-24 16:02:18 -07:00
Cedric BAIL 2508c1a3ae elementary: colorselector item are created with efl_add, so they are dead when they reach the destructor.
Differential Revision: https://phab.enlightenment.org/D6103
2018-05-24 16:02:18 -07:00
Cedric BAIL dbbcfa4a59 elementary: small correction in the API of Efl.Access.Object to have proper lifecycle.
This API require more review, I have just fixed API that return type that are
inconsistent over time and fail to allow for proper lifecycle of event, which
lead to crash when those event trigger at unexpected point.

Differential Revision: https://phab.enlightenment.org/D6102
2018-05-24 16:02:18 -07:00
Cedric BAIL fe14abd929 evas: refactor efl_input_event and remove some of the lifecycle hack.
Differential Revision: https://phab.enlightenment.org/D6101
2018-05-24 16:02:18 -07:00
Cedric BAIL c447b61756 eo: actually during invalidating we already have an invalidated object.
Differential Revision: https://phab.enlightenment.org/D6100
2018-05-24 16:02:18 -07:00
Cedric BAIL 4c9a33a388 eo: move EFL internal function ___efl_ref2 also to eo_internal.h
Differential Revision: https://phab.enlightenment.org/D6099
2018-05-24 16:02:18 -07:00
Cedric BAIL 8a513a522e efl: major rewrite of efl_part.
The interface efl_part_get should not be directly called from C, but the efl_part
wrapper should. It rely on efl_noref to properly destroy the object. Binding can
control the lifecycle of the reference the way they want by either calling the
wrapper or efl_part_get directly. It also means that the ugly ___efl_auto_unref_set
doesn't need to be exposed outside of EFL anymore.

Differential Revision: https://phab.enlightenment.org/D6098
2018-05-24 16:02:18 -07:00
Cedric BAIL c28eb28728 eo: check for allow_parent_unref during efl_unref and silence warning.
Differential Revision: https://phab.enlightenment.org/D6097
2018-05-24 16:02:18 -07:00
Cedric BAIL dcfddcd283 eo: make sure efl_noref is always called at the proper time.
Differential Revision: https://phab.enlightenment.org/D6096
2018-05-24 16:02:18 -07:00
Cedric BAIL 79e4947f3e eo: add an automatic fallback at the moment when efl_unref instead of efl_del is called.
Differential Revision: https://phab.enlightenment.org/D6095
2018-05-24 16:02:18 -07:00
Cedric Bail c1cef1e74b elementary: object created with efl_add should be destroyed with efl_del.
Differential Revision: https://phab.enlightenment.org/D6094
2018-05-24 16:02:18 -07:00
Cedric Bail 0135b23e45 elementary: object allocated with efl_add should be destroyed with efl_del.
Differential Revision: https://phab.enlightenment.org/D6093
2018-05-24 16:02:18 -07:00
Cedric Bail aaa827c2d2 eldbus: fix unref of eldbus to not throw warning all over the place.
Especially to note, that when giving a message to send, the caller
do not own it anymore and should not unref it.

Differential Revision: https://phab.enlightenment.org/D6092
2018-05-24 16:02:18 -07:00
Cedric Bail 6e078edaa9 eldbus: manage death of children during invalidate.
Differential Revision: https://phab.enlightenment.org/D6091
2018-05-24 16:02:18 -07:00
Cedric Bail 71cd44c176 eldbus: object created with efl_add should be destroyed with efl_del.
Differential Revision: https://phab.enlightenment.org/D6090
2018-05-24 16:02:18 -07:00
Cedric Bail 6bb450d7ee ecore: first invalidate the loop and its children, then destroy all the object capability.
Differential Revision: https://phab.enlightenment.org/D6089
2018-05-24 16:02:18 -07:00
Cedric BAIL 93a49da161 eo: optimize efl object reuse by limiting the amount of call to pointer translation.
Differential Revision: https://phab.enlightenment.org/D6088
2018-05-24 16:02:18 -07:00
Cedric BAIL ae5d0005d3 edje: properly handle lifecycle of edje global object.x
Differential Revision: https://phab.enlightenment.org/D6087
2018-05-24 16:02:18 -07:00
Cedric BAIL ef6cac1476 eo: prevent parenting to an already invalidated parent.
Differential Revision: https://phab.enlightenment.org/D6086
2018-05-24 16:02:18 -07:00
Cedric BAIL 546a4c79e0 eo: only call efl_parent_set(NULL) at the end of invalidate if the object is not invalidating.
Add also a comment to justify why we do force parent to NULL during invalidate.

Differential Revision: https://phab.enlightenment.org/D6085
2018-05-24 16:02:18 -07:00
Cedric BAIL 69c9d5bb50 ecore_con: correct lifecycle of object used by Efl.Net.Dialer.Ssl.
Differential Revision: https://phab.enlightenment.org/D6084
2018-05-24 16:02:18 -07:00
Cedric BAIL 594c254183 ecore_con: trigger teardown during invalidate.
Delaying teardown might result in code expecting parent to still be valid,
especially call to efl_provider_find won't work anymore.

Differential Revision: https://phab.enlightenment.org/D6083
2018-05-24 16:02:18 -07:00
Cedric BAIL e46369a569 ecore_con: it is best to call the super destructor and not touch the object anymore after.
Differential Revision: https://phab.enlightenment.org/D6082
2018-05-24 16:02:18 -07:00
Cedric BAIL 67e48c679d ecore_con: correct a typo wrongly calling super destructor instead of super invalidate.
Differential Revision: https://phab.enlightenment.org/D6081
2018-05-24 16:02:18 -07:00
Cedric BAIL 7ca25cae0f ecore: correct lifecycle of object used by Ecore_Con legacy.
Differential Revision: https://phab.enlightenment.org/D6080
2018-05-24 16:02:18 -07:00
Cedric BAIL 56fb2cf377 eo: improve error message by pointing to the class that is creating trouble.
Differential Revision: https://phab.enlightenment.org/D6079
2018-05-24 16:02:18 -07:00
Cedric BAIL bb66aa37ca eo: preventing infinite loop by safely iterating over children during destructor.
Differential Revision: https://phab.enlightenment.org/D6078
2018-05-24 16:02:18 -07:00
Cedric BAIL 93893def9f ecore: properly handle shutdown of Efl.Loop children by using invalidate.
Differential Revision: https://phab.enlightenment.org/D6077
2018-05-24 16:02:18 -07:00
Cedric BAIL 23281bc54a ecore: disable signal during shutdown.
Differential Revision: https://phab.enlightenment.org/D6076
2018-05-24 16:02:18 -07:00
Cedric BAIL 2160fe0d4d eo: invalidate at the end of efl_invalidate only and prevent infinite recursion with an invalidating phase.
Differential Revision: https://phab.enlightenment.org/D6075
2018-05-24 16:02:18 -07:00
Cedric BAIL 266dabc096 ecore: force close during invalidate of Efl.Io.Buffered_Stream.
Differential Revision: https://phab.enlightenment.org/D6074
2018-05-24 16:02:18 -07:00
Cedric BAIL 0ac6e47697 elementary: use invalidate instead of overriding del for widget items.
Differential Revision: https://phab.enlightenment.org/D6073
2018-05-24 16:02:18 -07:00
Cedric BAIL 95f8bf2ebd elementary: rely on inheritance instead of faking efl_del behavior.
Differential Revision: https://phab.enlightenment.org/D6072
2018-05-24 16:02:18 -07:00
Cedric BAIL b265c5c887 elementary: make del_pre not return a bool and force rely on Eo ref counting.
Differential Revision: https://phab.enlightenment.org/D6071
2018-05-24 16:02:18 -07:00
Cedric BAIL a669fb820a elementary: prevent death of list item using Eo ref counting.
Differential Revision: https://phab.enlightenment.org/D6070
2018-05-24 16:02:18 -07:00
Cedric BAIL ad009667b5 elementary: remove now useless walking in item.
Differential Revision: https://phab.enlightenment.org/D6069
2018-05-24 16:02:18 -07:00
Cedric BAIL 4b30a7df8e elementary: use Eo ref counting to prevent death of genlist items.
Differential Revision: https://phab.enlightenment.org/D6068
2018-05-24 16:02:18 -07:00
Cedric BAIL 2a51465593 elementary: use Eo ref counting to prevent death of gengrid items.
Differential Revision: https://phab.enlightenment.org/D6067
2018-05-24 16:02:18 -07:00
Mike Blumenkrantz 6932f0fdd6 elm_list: prevent list item operations during item deletion
ref T6880

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>

Differential Revision: https://phab.enlightenment.org/D6066
2018-05-24 16:02:17 -07:00
Mike Blumenkrantz 499beb9162 elm_list: fix crash in item deletion
this is still broken

ref T6881

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>

Differential Revision: https://phab.enlightenment.org/D6065
2018-05-24 16:02:17 -07:00
Cedric BAIL ccb5642eb9 Revert "efl_add_ref - fis to use efl_add properly with a parent."
This reverts commit 2fb5cc3ad0.

Most of this change where wrong as they didn't affect the destruction
of the object. efl_add_ref allow for manual handling of the lifecycle
of the object and make sure it is still alive during destructor. efl_add
will not allow you to access an object after invalidate also efl.parent.get
will always return NULL once the object is invalidated.

Differential Revision: https://phab.enlightenment.org/D6062
2018-05-24 16:02:17 -07:00
Cedric Bail 36f8a70041 eo: to avoid mistake in timing, efl_invalidate should always be triggered before any destructor code.
Differential Revision: https://phab.enlightenment.org/D6061
2018-05-24 16:02:17 -07:00
Marcel Hollerbach 0090384ef5 elm_ctxpopup: prevent a giant load of errors
Summary:
i)  There have been 2 sorts of errors, first the items have been deleted
    after the list was deleted, thus the list items have already been
    destructed. which lead to the error as the popup items destroyed the list
    items on destruction as well.

ii) sd->box was attached to the ctxpopup when getting into group_del the
    box has already been destroyed by the cleanup logic.

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6166

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-24 16:02:17 -07:00
WooHyun Jung ea1760380e elm_main: call _elm_config_shutdown() after loop_iterate()
In _elm_config_shutdown(), _elm_config is freed.
So, if some ecore events call efl_ui_xxx API which refers _elm_config,
there can be crashes.

@fix
2018-05-24 15:30:29 +09:00
Cedric BAIL 9dce56687b eina: path get actually allocate memory and can't be pure. 2018-05-23 21:33:04 -07:00
Marcel Hollerbach d5fd76c190 efl_ui_focus_composition: track the deletion state of child objects
Reviewers: cedric, zmike

Reviewed By: cedric

Subscribers: #committers, cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6186

Reviewed-by: Cedric BAIL <cedric@osg.samsung.com>
2018-05-23 21:16:01 -07:00
Lauro Moura 54f1e56b34 efl_mono: Generate support for accessors in .eos
Summary: Depends on D6190

Reviewers: felipealmeida, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6191
2018-05-23 18:59:26 -03:00
Lauro Moura cfafd01bbe efl_mono: Initial support for Accessors.
Summary:
Plain conversion to IEnumerable, which is the base of LINQ
Depends on D6189

Reviewers: felipealmeida, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6190
2018-05-23 18:59:26 -03:00
Lauro Moura 2bbaada66e efl_mono: Reject the promise when it's disposed.
Summary:
As futures are tied to a given promises and are usually handled in
a 'attach and forget' scheme, we can't cancel them as it would cancel
the whole chain.

Reviewers: felipealmeida, vitor.sousa

Reviewed By: vitor.sousa

Subscribers: cedric, #committers, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6189
2018-05-23 18:59:26 -03:00
Mike Blumenkrantz b7530726c8 ecore-evas-buffer: defer resize callback until pre-render
Summary:
this mimics other engines, all of which have the same mechanics due
to display server interactions. it also avoids unnecessary recalcs before
pre-render if the canvas size was changing repeatedly

fix T6924
ref D6019

Reviewers: cedric, JackDanielZ

Reviewed By: JackDanielZ

Subscribers: #committers, JackDanielZ

Tags: #efl

Maniphest Tasks: T6924

Differential Revision: https://phab.enlightenment.org/D6145
2018-05-23 17:35:18 -04:00
Lauro Moura c4572d3f79 efl_mono: Fix events after Event_Description rename. 2018-05-23 17:33:47 +02:00
Xavi Artigas e5ef9057b5 efl: rename Efl.Ui.Zoom.Mode -> Efl.Ui.Zoom_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas 61b409015e efl: rename Efl.Ui.Widget.Orientation_Mode -> Efl.Ui.Widget_Orientation_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas e31b3213ec efl: rename Efl.Ui.Text.Change_Info -> Efl.Ui.Text_Change_Info 2018-05-23 17:33:47 +02:00
Xavi Artigas 4ab7e3fda0 efl: rename Efl.Ui.Tab_Page.* -> Efl.Ui.Tab_Page_* 2018-05-23 17:33:47 +02:00
Xavi Artigas a7d29f7185 efl: rename Efl.Ui.Stack.Event_* -> Efl.Ui.Stack_Event_* 2018-05-23 17:33:47 +02:00
Xavi Artigas ee27519432 efl: rename Efl.Ui.Slider.Indicator_Visible_Mode -> Efl.Ui.Slider_Indicator_Visible_Mode 2018-05-23 17:33:47 +02:00
Xavi Artigas a0d4d3b140 efl: rename Efl.Ui.Pager.Loop -> Efl.Ui.Pager_Loop 2018-05-23 17:33:47 +02:00
Xavi Artigas 1e8b7cc405 efl: rename Efl.Ui.Focus.Composition.Adapter -> Efl.Ui.Focus.Composition_Adapter 2018-05-23 17:33:47 +02:00
Xavi Artigas cd349762c6 efl: rename Efl.Ui.Drag.Dir -> Efl.Ui.Drag_Dir 2018-05-23 17:33:47 +02:00
Xavi Artigas 761aaa269d efl: rename Efl.Ui.*_Legacy.Part -> Efl.Ui.*_Legacy_Part 2018-05-23 17:33:47 +02:00
Xavi Artigas d808147e6f efl: rename Efl.Text.Bidirectional_Type -> Efl.Text_Bidirectional_Type 2018-05-23 17:33:47 +02:00
Xavi Artigas 0f47f53f57 efl: rename Efl.Task.* -> Efl.Task_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 0e848ccf2d efl: rename Efl.Selection.* -> Efl.Selection_* 2018-05-23 17:33:47 +02:00
Xavi Artigas f78c5f3e6c efl: rename Efl.Observable.Tuple -> Efl.Observable_Tuple 2018-05-23 17:33:47 +02:00
Xavi Artigas f477d4ad36 efl: rename Efl.Net.*.* -> Efl.Net.*_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 92bf45bf7c efl: rename Efl.Input.Device.Type -> Efl.Input.Device_Type 2018-05-23 17:33:47 +02:00
Xavi Artigas 88e92a63ed efl: rename Efl.Gfx.*.* -> Efl.Gfx.*_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 8e0e1b702e efl: rename Efl.Gfx.Color_Class.Layer -> Efl.Gfx.Color_Class_Layer 2018-05-23 17:33:47 +02:00
Xavi Artigas 4396687b6c efl: rename Efl.Exe.* -> Efl.Exe_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 029f0769a5 efl: rename Efl.Event.Description -> Efl.Event_Description 2018-05-23 17:33:47 +02:00
Xavi Artigas 7a427b3bfc efl: rename Efl.Event.Animator_Tick -> Efl.Event_Animator_Tick 2018-05-23 17:33:47 +02:00
Xavi Artigas 18ae917be6 efl: rename Efl.Canvas.Gesture.* -> Efl.Canvas.Gesture_* 2018-05-23 17:33:47 +02:00
Xavi Artigas 3e8b809999 efl: rename Efl.Canvas.Object.Animation.* -> Efl.Canvas.Object_Animation_* 2018-05-23 17:33:46 +02:00
Xavi Artigas 57b078f3df efl: rename Efl.Canvas.Animation.* -> Efl.Canvas.Animation_* 2018-05-23 17:33:46 +02:00
Hermet Park 9fcd03952e evas: fix a map rendering problem.
When map of a smart object is turned off, redraw-updation area could be incorrect.
This results in a mirror image problem.

for fixing this, let smart object request update-area in render_pre() properly only in case of map changed.

Thanks to akanad for reviewing together.

@fix
2018-05-23 22:58:57 +09:00
YeongJong Lee 495edbd995 elm: fix backward compatibility for "default" name part
Summary:
If you use legacy content/text set/get/unset with "default" part name,
_elm_layout_part_aliasing_eval change the part name to "elm.swallow.content".
Because internal _content_set/get/unset checked only "default" string,
legacy content/test set/get/unset with "default" part name was not working.
This patch fixes that bug.

Test Plan: elm_object_part_content/text_set(obj, "default", content)

Reviewers: Jaehyun_Cho, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6185
2018-05-23 19:35:18 +09:00
Mike Blumenkrantz efe5f92377 efl_ui_win: always force resize job on first pre-render
Summary:
ensure that a resize eval occurs after the frame edje has been thawed
so that sizing will be correct in engines which either still have
broken size handling (D6019) or have sub-optimal size handling (D6145)

Reviewers: bu5hm4n, cedric

Reviewed By: bu5hm4n

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6165
2018-05-23 10:28:06 +02:00
Jihoon Kim 379ee0d0db elm_entry: add elm_entry_prediction_hint_hash_set/del API
elm_entry_prediction_hint_hash_set API sets the prediction hint data at the specified key, and
elm_entry_prediction_hint_hash_del API is for deleting the prediction hint data identified by a key.

@feature

Signed-off-by: Jihoon Kim <jihoon48.kim@samsung.com>
2018-05-23 11:27:34 +09:00
Derek Foreman 249ae8e5f0 ecore_wl2_window: Silence early commit ERR for mouse cursors
Summary:
Our wayland mouse cursor code can trigger commits with commit pending
when mousing into a window across CSD, which results in quickly setting
the default cursors then an animated resize cursor before the first commit
has finished.

Fixing this is non trivial, and the bug is just a harmless inefficiency
of little impact, so just disable the ERR for that specific case instead.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6184
2018-05-22 12:33:36 -04:00
Daniel Kolesa 1673b620b0 eolian: push missing event type changes in tests 2018-05-21 20:32:57 +02:00
Woochan Lee 428d74ebc1 efl_ui_tags: Fixed bug when setting format string.
Summary:
efl_ui_format_string_set was not working well.

Changed default format text. ("++++ %d" text for test only.)

@fix

Reviewers: Jaehyun_Cho, cedric, woohyun

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6044
2018-05-20 03:58:41 +09:00
Woochan Lee 976b9d877e efl_ui_spin: Added special value feature.
Summary:
User may want to set as meanignful words for the value instead of numberic value.

@feature

Test Plan: elementary_test->test_ui_spin_button.

Reviewers: cedric, woohyun, Jaehyun_Cho, herb

Reviewed By: Jaehyun_Cho

Subscribers: zmike, felipealmeida, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5969
2018-05-20 03:11:55 +09:00
Daniel Kolesa 175b25ab2e eolian: integrate event type requirement into eo file grammar 2018-05-19 01:49:06 +02:00
Daniel Kolesa f747df69f9 eolian: force-enable event type checks
Now that event types have all been fixed, force-enable the
validation check.
2018-05-19 01:45:38 +02:00
Xavi Artigas 35bbedc96f efl: Add missing event types
Summary:
All events must have a type now, otherwise bindings don't know how to handle
the event_info field.
Most of the missing event types were actually "void" (no event_info present).
Some struct definitions had to be moved to eo instead of h files, so they
are available to bindings. Some have not, and are marked with FIXME.
Some namespaces have been fixed (like Efl_Event_Cb -> Efl.Event_Cb).

In general, there are hundreds of changed files, but mostly to add a type which
was not present before, so there's no harm done.
Also, A lot of FIXMEs have been added which should be, like, fixed.
For example, some events can send different types of event_info, which is
very inconvenient (and error prone).

Test Plan: make with c# bindings works, make check and make examples work too.

Reviewers: cedric, q66, lauromoura

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6169
2018-05-19 01:42:26 +02:00
YeongJong Lee 6fdc3794eb ecore_con: add check for invalid space("") name
Summary:
space("") name check had existed, but it was removed on f4306d654d
(in the _efl_network_connector_efl_object_finalize)
This patch restore the safety checks

Reviewers: barbieri, Hermet, Jaehyun_Cho, myoungwoon, zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6177
2018-05-18 13:47:04 -04:00
Derek Foreman 27316746f5 ee_wayland: Fix device leak on disconnect
Summary:
A reference was taken on these when they were added, so by passing NULL
here we're not allowing that reference to be dropped.  This results in
not only leaking the device forever, but also potentially leaving it as
a default device after it's removed so that no new attach will replace it.

Under weston all devices are removed on a VT switch, and when you switch
back the default device is wrong, which leads to problems with events
like "mouse in" which, for legacy reasons, don't take a seat, but
instead look up the default seat.

This allows the delete callback to be fired for the first time ever,
and while I've tried to fix some bugs this has revealed, I'm not
actually sure I've caught them all.
Depends on D6182

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6183
2018-05-18 13:46:47 -04:00
Derek Foreman 83e1a456a4 evas_main: Fix deleting pointer data
Summary:
This appears to be called from a delete callback that takes place well
after the eo parent relationship is deleted, however
efl_input_device_get_seat() finds the seat by finding the parent.  That
will always be NULL during this callback, so we'll leak the data.

Instead, search all seats for the pointer.
Depends on D6181

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6182
2018-05-18 13:46:36 -04:00
Derek Foreman 250b69c239 evas_device: Only remove pointer data on deletion of pointer devices
Summary:
This delete callback is shared for mouse, pointer, touch, and seat.  We
should only delete pointer data when we're called on a pointer.

Note that (at least under wayland) this particular bug is irreproducible
right now because, due to a ref leak, this deletion callback can never
fire.
Depends on D6180

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6181
2018-05-18 13:46:31 -04:00
Derek Foreman 7df3299070 efl_input_device: Fix seat_get
Summary: This was testing the same thing twice.

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6180
2018-05-18 13:46:28 -04:00
SangHyeon Lee ebdb3b71a1 cursor: fix ABI break in widget item cursor APIs
Summary:
fix ABI break in widget item cursor APIs
by efl_ui_cursor interface implementing.

item's view were not elementary widget mostly,
reimplementing efl_ui_cursor on efl_ui_widget
cannot resolve item's cursor API call.

Test Plan:
check,
elm_object_item_cursor_XXX
API is working properly on elm_object_item.

Reviewers: cedric, jpeg, raster

Reviewed By: raster

Subscribers: stefan_schmidt, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6046
2018-05-19 01:21:12 +09:00
Xavi Artigas 5d1898dd9e eo: do not expose callback,add and del events in bindings
These events have been removed from efl_object.eo. Bindings can
still use the EFL_EVENT_CALLBACK_ADD and EFL_EVENT_CALLBACK_DEL
events from C, but they won't be available to the bound language.
The rationale is that bound languages probably will have their
own way to handle callbacks and C function pointers will mean
very little to them. For example, the binding code could route
the native callback through a dispatcher so the received
function ptr would always be that of the dispatcher method.

Closes D6179.
2018-05-18 16:45:11 +02:00
Lauro Moura e1cb483643 efl_mono: Remove callback,add from event tests.
Test Plan: make check

Reviewers: segfaultxavi

Reviewed By: segfaultxavi

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6178
2018-05-18 11:17:38 -03:00
Lauro Moura c8fbc31ee2 efl_mono: Start generating eina future in eolian_mono.
Summary:
Besides the normal methods returning Futures, we now generate
a wrapper with the "Async" suffix. This wrapper returns a
Systems.Threading.Tasks.Task which can be awaited on and reflect the
status of the Future.

When an eina.Future fails with ECANCELED, TaskCanceledException is
raised in the Task. Otherwise, an efl.FutureException(eina.Error) is
raised.
Depends on D6174

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6175
2018-05-17 16:56:31 -03:00
Lauro Moura fff0c86d99 efl_mono: Initial support for Futures/Promises
Summary:
Promise/Future cleanup:

In the promises, we use a wrapper Eina_Promise_Cancel_Cb to
invalidate the wrapper if it ever gets cancelled from outside. When
invalidating from C#, we can do it directly.

For the futures, likewise, in order to be able to invalidate the
wrapper when the chain it belongs to gets resolved we then() an
internal future with a callback to invalidate the wrapper we return to
C#. The return of this intermediate then() is the future we actually
return to the user.

Also added ECANCELED to the list of default eina.Errors
Depends on D6173

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6174
2018-05-17 16:56:25 -03:00
Lauro Moura 95c8a7d28c efl_mono: Fix eldbus warnings and typo.
Summary: Depends on D6172

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6173
2018-05-17 16:56:18 -03:00
Lauro Moura f8a033fd70 efl_mono: Add support for Eina.Error/Empty in eina.Value
Summary:
eina.Value.Empty now means that we have an zeroed (empty) eina value.
For optional values that are empty use eina.Value.OptionalEmpty.

This was required to support the empty values passed with
EINA_VALUE_EMPTY in some Ecore futures.

Also, returning an eina_value by value is not supported in eolian
for safety reasons, so we removed some tests that tried to use this
behavior.
Depends on D6171

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6172
2018-05-17 16:56:11 -03:00
Lauro Moura 2b8cbfe2f4 efl_mono: Add documentation tag in part decl
Summary: Depends on D6170

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6171
2018-05-17 16:56:02 -03:00
Lauro Moura bafa91be20 efl_mono: Fix generation of event arguments
Summary:
Event argument was getting its type name from another path, different
from the type_generator.

In later commits the other functions from name_helpers should use the
type_generator too.

Reviewers: felipealmeida

Reviewed By: felipealmeida

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6170
2018-05-17 16:55:52 -03:00
Daniel Kolesa 42baaa046d eolian: add code to run static checks but don't enable yet
This adds code to run the Eolian static checker as part of tests,
but considering how many failures there are at this point, does
not enable it. Once they're all fixed, it can be enabled by
removing the #if 0.
2018-05-17 16:11:03 +02:00
Hosang Kim ec670e9a22 efl_ui_scrollable: apply scroll_hold_push/pop and scroll_freeze_push/pop
Test Plan: elementary_test -> Efl.Ui.Scroller -> move slider

Reviewers: jpeg, woohyun, akanad, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, Jaehyun_Cho, eagle001, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5796
2018-05-17 18:17:44 +09:00
Youngbok Shin f17cae08e6 evas textblock: manage default style properly for new interfaces
Summary:
Calling efl_canvas_text_style_set() with empty key means
setting a default style to object. But, it counldn't store style
as default properly. It caused a crash issue from elementary_test.
@fix

Test Plan:
New test case is included. Run test suite. Or,
1. Run elementary_test
2. Find and launch "Image Zoomable animation" test.
3. Close the image test window.
4. See the crash issue.

Reviewers: raster, herdsman, jpeg, cedric, zmike

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5692

Committer's note: rebased and removed unrelated test.
2018-05-16 22:24:11 +03:00
Youngbok Shin f437a3075a evas textblock: update format nodes when a Evas Textblock Style is updated
Summary:
A style tag among a text has to be replcaed by its matched tag when
a format node is created. If the matched tag is changed, format nodes
should be updated.
But, if a style text for Evas Textblock Style is changed,
related format nodes are not updated without setting new text.
The patch changes to update format nodes when new style text is set.
@fix

Test Plan: Included in Evas Test Suite.

Reviewers: raster, tasn, herdsman, subodh6129, zmike

Subscribers: zmike, cedric, z-wony, Blackmole

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D4697

Committer's note: rebased.
2018-05-16 22:24:11 +03:00
Marcel Hollerbach 5de88592bc efl_ui_win: hand-ref-count the provider object
Summary: Depends on D6108

Reviewers: cedric

Reviewed By: cedric

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6109
2018-05-16 13:30:33 -04:00
Marcel Hollerbach a218c883c7 Introduce efl_ui_widget_focus_manager
Summary:
The mixin encapsulates the correct
- creation
- composition attaching
- Lifecycle handling

of the focus managers that are assosiated with the object.

This fixes error messages on shutdown, and additionally lifetime issues
where the composite_attached object was deleted before the object was
deleted.

Reviewers: cedric, zmike

Reviewed By: zmike

Subscribers: segfaultxavi, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6108
2018-05-16 13:30:28 -04:00
Wonki Kim f1c03000c9 Modify initial visibility of a extn_socket
Summary:
extn socket should be rendered even if it is not visible to answer client's requests

extn_socket was rendered even if it's not visible for the first render.
however, it's not rendered as expected because there has been changes for ecore evas idle enterer.
so that this patch changes visibility of extn_socket to answer client's requests immediately.

ref D6054

Reviewers: zmike, jypark

Subscribers: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6167
2018-05-16 11:41:27 -04:00
Wonki Kim d92b195fe2 ecore_evas_extn: Remove aka latch logic on fn_prepare function
Summary:
current extn_socket_prepare function logic could run into dead-end
because extnbuf_lock return null on failure of taking a lock.

this patch removes aka latch logic that guide the function to dead-end.

Reviewers: cedric, raster, zmike, jypark

Subscribers: zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6054
2018-05-16 11:41:19 -04:00
Stefan Schmidt 5be9b1929e build: ensure we delete all new check-results*xml files
When we split up the tests to run them in parallel we also created a lot
more xml report files. Make sure we delete them when cleaning up.
Nicely spotted by distcheck by complaining about non removed files.
2018-05-16 17:03:51 +02:00
SubodhKumar b8c691ebd2 edje: Fix to support translation for textblock part
Summary:
Text translation in edc for textblock is missing.
Added to support it.

@fix

Reviewers: cedric, zmike

Reviewed By: cedric, zmike

Subscribers: shilpasingh, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6164
2018-05-15 12:44:29 -04:00
Daniel Kolesa ba31824a86 eolian: more useful namespace checks with no false negatives 2018-05-15 16:42:01 +02:00
Daniel Kolesa d26b6d0f22 eolian: initial simple namespace conflict check 2018-05-15 16:25:23 +02:00
Xavi Artigas 048adae83d Eo: introduce convenience macro efl_new()
Summary:
This is just a wrapper around efl_add_ref() with a NULL parent.
It only simplifies a bit object creation when no parent is desired, but it
simplifies a lot the explanation of the refcounting concepts (and tutorials).

Reviewers: cedric, bu5hm4n

Reviewed By: cedric, bu5hm4n

Subscribers: bu5hm4n, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6024
2018-05-15 09:53:24 -04:00
Andy Williams 114873c545 remove potential double free 2018-05-15 14:49:41 +01:00
Andy Williams 767c211e70 Add missing continue keyword from Go definition 2018-05-15 14:49:04 +01:00
Marcel Hollerbach cfc66c08a1 evas: error out when there appeared a object while a new one is focused
Summary:
this is on the one side error prone and race, as reacting to a focus out
with a new focused object leads to weird cases. On the other side we are
then using eina hash wrong which leads to later weirdness as the element
that is assosiated with &key is broken.

Reviewers: raster, zmike, stefan_schmidt, cedric

Reviewed By: zmike

Subscribers: cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6158
2018-05-15 09:32:20 -04:00
Hosang Kim 19833657e8 elm_slider: fix test suite fail
Summary: change legacy widget name.

Reviewers: Jaehyun, stefan_schmidt, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: cedric, zmike

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D6162
2018-05-15 20:13:06 +09:00
Jaehyun Cho bce7e7d0d7 examples: Fix slider cxx example based on Efl.Ui.Slider
Unlike Elm_Slider, Efl.Ui.Slider does not support text_set,
format_cb_set, and format_string_set.
To support Efl.Ui.Slider, slider cxx example is modified.
2018-05-15 20:03:20 +09:00
Hosang Kim 5db61e4d64 efl_ui_slider: refactor slider widget.
Test Plan: elementary_test -> Efl.Ui.Slider, Efl.Ui.Slider_Interval, slider

Reviewers: woohyun, cedric, Jaehyun_Cho

Reviewed By: Jaehyun_Cho

Subscribers: zmike, cedric

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D5908
2018-05-15 14:16:00 +09:00
Mike Blumenkrantz 9c7f5ca33b elm: use build dir data when EFL_RUN_IN_TREE is set
Summary:
this prevents tests from loading user configs and providing inconsistent
results or accidentally modifying a user's config

fix T6863
Depends on D6013

Reviewers: cedric, stefan_schmidt

Reviewed By: stefan_schmidt

Subscribers: stefan_schmidt

Tags: #efl

Maniphest Tasks: T6863

Differential Revision: https://phab.enlightenment.org/D6014
2018-05-14 18:26:21 +02:00
Marcel Hollerbach 8c14de8541 edje_cc: do not keep the filedescriptor
we have a limited number of filedescriptors available, a theme can
consist out of a number of groups with scripts, keeping the fd for later
use is going above the maximum number of open files, thus use the path
of the file, not the fd to access the file.

fix  T6922

Differential Revision: https://phab.enlightenment.org/D6159
2018-05-14 17:26:28 +02:00
Jaehyun Cho 1ea2f75015 elm_multibuttonentry: Fix to install eo header files
Move elm_multibuttonentry and its sub eo files to the correct location
in Makefile_Elementary.am to install eo header files.

@fix
2018-05-14 22:26:10 +09:00
SubhransuSekhar Mohanty bdca8f0c71 edje: return proper value from the function.
@fix
2018-05-14 13:26:54 +09:00
Alastair Poole a92b80ff86 elm_code: add EOAPI to refresh theme after a user layout change.
Hopefully this retains the object hierarchy. Gives us a method
to update the widget theme after a layout change.
2018-05-13 17:16:13 +01:00
Daniel Kolesa 577c00789a eolian: second batch of unused import removals
This fixes all remaining occurences introduced by false negatives
in 6bcd70f01d. The rest was already
fixed in 6be3809c04.
2018-05-13 18:13:12 +02:00
Daniel Kolesa 6bcd70f01d eolian: fix false negatives in unused dependency static checker
It is not necessary to check entire classes/typedecls/variables
when referenced, as that also checks their contents and adds
false negatives. It is enough to simply add their own unit
as a 'used' dependency and let the system do the work, besides
for actual declarations in the checked file.
2018-05-13 18:10:37 +02:00