Mike Blumenkrantz [Tue, 26 Jun 2018 20:35:55 +0000 (16:35 -0400)]
ecore/thread: flush main loop threads while waiting during shutdown
if a thread is actively waiting on the main loop in order to proceed
with its exit, a flush here avoids the case where the thread waits
until the main loop has exited
Differential Revision: https://phab.enlightenment.org/D6437
Mike Blumenkrantz [Tue, 26 Jun 2018 20:34:24 +0000 (16:34 -0400)]
ecore/thread: increase loop iterations when waiting during shutdown
since this is now a smaller wait interval, looping more times helps
ensure success for threads which have longer blocking operations
between lifetime checks
Differential Revision: https://phab.enlightenment.org/D6436
Mike Blumenkrantz [Wed, 27 Jun 2018 10:18:14 +0000 (06:18 -0400)]
eina/mempool: remove debug thread check to verify mempool deletion thread
Summary:
a common use case for mempools is that they get created by a thread but then
exist for the duration of the app's lifetime until shutdown() occurs in the
main thread. there is no reason to have an assert here which blocks that
use case
Depends on D6434
Reviewers: ManMower, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6435
Mike Blumenkrantz [Wed, 27 Jun 2018 10:18:00 +0000 (06:18 -0400)]
tests: ignore ibus module in ecore-imf tests when DISPLAY is not set
Summary:
ibus module will refuse to load if DISPLAY is not set, so avoid failing
for no reason in this case
Depends on D6433
Reviewers: ManMower, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6434
Mike Blumenkrantz [Wed, 27 Jun 2018 10:17:45 +0000 (06:17 -0400)]
tests: avoid cascading failure in ecore-imf tests when not forking
Summary:
these tests explicitly call ecore_imf_init, so they must call ecore_imf_shutdown
even on failure cases to avoid propagating their failure to subsequent tests
ref T7085
Reviewers: ManMower, bu5hm4n, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7085
Differential Revision: https://phab.enlightenment.org/D6433
Carsten Haitzler (Rasterman) [Wed, 27 Jun 2018 05:13:00 +0000 (14:13 +0900)]
eina debug - fix setuid process shutdown by initting fully except conn
init eina debug fully except for the debug daemon connection that the
setuid check was meant to skip. this fixes T7055
Mike Blumenkrantz [Tue, 26 Jun 2018 03:25:38 +0000 (12:25 +0900)]
ecore-evas-x: set draw_block until the window receives a configure event (#2)
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
this patch improves upon the previous version by handling the case of windows
which are created with the correct initial size, bypassing an initial configure
event
there is still a lot of work to be done in this engine to improve/consolidate
resize-related code and ensure protocol correctness
ref T7008
fix T6907
Reviewers: devilhorns, ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7008, T6907
Differential Revision: https://phab.enlightenment.org/D6275
Carsten Haitzler (Rasterman) [Tue, 26 Jun 2018 03:25:17 +0000 (12:25 +0900)]
Revert "elm win - fix resizing on show. rage was broken last week. this fixes it"
This reverts commit
7bf845b24ca7bd12273f5207022e1e5db4ad2e78.
Hosang Kim [Wed, 27 Jun 2018 11:50:30 +0000 (07:50 -0400)]
evas: move clearing cows to right place.
Summary:
Evas is child of main loop now, so evas is deleted when main loop is quitted.
In case of not calling evas_free() explicitly by app side, a crash occurs.
So move clearing cows to below ecore_shutdown().
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6346
Change-Id: I28633f1246805a89a6bb915ca852a217fa21fda0
Jeonghyun Yun [Wed, 27 Jun 2018 02:34:48 +0000 (11:34 +0900)]
focus: Add second_level for focus direction weight calculate
@tizen_fix
Change-Id: I6deae4f1ef16bea5a92e301f85d532c7425fd6ac
Signed-off-by: Jeonghyun Yun <jh0506.yun@samsung.com>
Sunghyun kim [Wed, 27 Jun 2018 04:50:40 +0000 (13:50 +0900)]
Delete unnecessarty log for tbm surface
Change-Id: I555e4790f6f3846918ee6ffc1ec87c414e3d94e1
Jeonghyun Yun [Tue, 26 Jun 2018 07:23:03 +0000 (16:23 +0900)]
elm_spinner: call _label_write for update text button label when theme is changed
@tizen_feature
Change-Id: Ic56ab038c0a93ca735ef3a7cc6cf1fdd7bbbdda0
Signed-off-by: Jeonghyun Yun <jh0506.yun@samsung.com>
Jongmin Lee [Fri, 22 Jun 2018 05:50:33 +0000 (14:50 +0900)]
elementary: resolve fail to load some elementary module
elm_module_helper.h include elm_priv.h which undef EAPI inside of it.
So that, some elementary module that include elm_module_helper.h could not
export module init/shutdown symbol correctly.
this commit prevent EAPI define to be removed.
@tizen_fix
Change-Id: I67c44033a9eaabe9685e809440eed7fbfbffd87d
Joogab Yun [Fri, 15 Jun 2018 02:17:15 +0000 (11:17 +0900)]
evas : disable GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
There is a problem when scaling down the 4K image.
so add the EVAS_GL_ANISOTROPY environment variable.
Change-Id: I0d62d597131df4d8481139c33a2274791e565933
Derek Foreman [Tue, 26 Jun 2018 19:28:07 +0000 (15:28 -0400)]
ecore_drm2: Fix failure to properly set up new plane
Summary:
When we add a plane we need to add it to the list before doing the atomic
test to ensure we're testing new state that includes the plane, and to
ensure the next screen update includes the plane we just added.
Fix T7066
Reviewers: devilhorns
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7066
Differential Revision: https://phab.enlightenment.org/D6432
Xavi Artigas [Tue, 26 Jun 2018 16:38:22 +0000 (12:38 -0400)]
Revert "eina: provide full string length to vsnprintf to allow for null character"
Summary:
This reverts commit
e0f8e65d2044d49df4fd6355e7835a5f01d854e7 which changed the
behavior of eina_stringshare_nprintf() and was not really needed to fix T6903.
Reviewers: zmike, Jaehyun_Cho, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6903
Differential Revision: https://phab.enlightenment.org/D6431
Marcel Hollerbach [Tue, 26 Jun 2018 16:21:54 +0000 (12:21 -0400)]
elm: register legacy_type correctly
Summary:
What happened before is that we registered efl_ui_leyout_legacy for
"elm_layout", which is not that good, since checking a (lets say) elm_button, for the type "elm_layout" would result in false. The same is with elm_button.
fixes T7081
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T7081
Differential Revision: https://phab.enlightenment.org/D6430
Mike Blumenkrantz [Mon, 25 Jun 2018 21:55:25 +0000 (17:55 -0400)]
eina/threadqueue: use mempool_del for hash free function
Summary:
I typod this in
14ae3e3dec7866e74f2990dca417eac44da41058 and when using
mempools other than chained, this probably caused all apps to crash on
shutdown
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6428
Mike Blumenkrantz [Mon, 25 Jun 2018 21:27:18 +0000 (17:27 -0400)]
ecore/thread: greatly reduce usleep time during shutdown loop
Summary:
now that ecore accurately waits on all threads while exiting, this
loop needs to run much more frequently in order to avoid waiting for
an unreasonably long time when exiting
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6427
Mike Blumenkrantz [Mon, 25 Jun 2018 18:19:59 +0000 (14:19 -0400)]
ecore/thread: track "no_queue" threads
these threads are still managed by the main loop, meaning they must be
accounted for so that they can be waited on if necessary during shutdown
this resolves some issues where ecore-con threads would persist after the
main thread had exited or called ecore_shutdown
@fix
fix T7041
this is the final version of the patch and not the mangled version which
was previously committed
Differential Revision: https://phab.enlightenment.org/D6354
Mike Blumenkrantz [Mon, 25 Jun 2018 20:53:40 +0000 (16:53 -0400)]
Revert "ecore/thread: track "no_queue" threads"
This reverts commit
1e47db6a711a1f605bc765cb694d575af28ab85e.
somehow arc managed to land an old revision of this which was not consistent
with the final version of D6354
Mike Blumenkrantz [Mon, 25 Jun 2018 19:18:23 +0000 (15:18 -0400)]
tests: split a large failure case for eina_file tests to provide more info
Summary:
each failure case should always be separate in order to provide the highest
degree of detail available if a test fails
Reviewers: devilhorns, ManMower
Reviewed By: ManMower
Subscribers: ManMower, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6373
Mike Blumenkrantz [Mon, 25 Jun 2018 19:18:11 +0000 (15:18 -0400)]
eina/lock: add errno wrapping for backtrace() calls in thread debug blocks
Summary:
somehow backtrace() is able to generate EINVAL in certain cases even though
this is not documented anywhere. these irrelevant errors should not be noticed
by users of the api during debugging, as this can cause some tests/apps to
randomly fail without explanation
@fix
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6377
Mike Blumenkrantz [Mon, 25 Jun 2018 19:20:27 +0000 (15:20 -0400)]
elm/win: move trigger for "shot" to first pre-render callback
Summary:
in the case where the first render took far longer then the specified
shot interval, this would end up recording garbage since there was nothing
drawn yet
@fix
fix T6929
Reviewers: bu5hm4n, JackDanielZ, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6929
Differential Revision: https://phab.enlightenment.org/D6426
Mike Blumenkrantz [Mon, 25 Jun 2018 19:19:33 +0000 (15:19 -0400)]
edje: return available text data in part_text_get without recalc when possible
Summary:
based on the codepaths taken when setting text to a part, a recalc should
only be necessary when returning markup from a textblock, and this is only
the case because the function returns a non-allocated string
in the case where the object is textblock and (legacy || not fetching markup),
the current text is guaranteed to be set on this pointer. the reason a
recalc is necessary for the markup case is because edje TEXTBLOCK parts only
set text to the internal textblock during a recalc, meaning that attempting
to fetch text on a just-set part will fail; this does not mean that the internal
textblock object doesn't exist, only that the text has not yet been set to it
Depends on D6422
Reviewers: herdsman, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6423
Mike Blumenkrantz [Mon, 25 Jun 2018 19:11:00 +0000 (15:11 -0400)]
edje: remove recalc during part_recursive_get
Summary:
this adds perf overhead in order to work around a bug in text_get
all part objects are instantiated during edje_object_file_set, and forcing
a recalc here does nothing more than perform unnecessary operations
ref
8f95b17f39cb87cb4627150b0761fc95376bd026
ref D6365
Reviewers: herdsman, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6422
Mike Blumenkrantz [Mon, 25 Jun 2018 19:16:39 +0000 (15:16 -0400)]
eina/debug_cpu: rework thread usage
Summary:
this changes the explicit pthread usage (and reimplementation of eina_thread_create)
to just use eina function calls. it also causes the thread to start and stop when
profiling is enabled and resolves some possible errors which could occur after
a fork or when trying to compile under windows
pthread usage: this code appears to have been 100% copied from eina_thread.c, and it
isn't clear to me why existing eina_thread api was not used. this has no functional
benefit, but it makes the code more readable
thread lifetime: there is no need to have a thread running at all times for a feature
which will be rarely used and which must be explicitly enabled by the user
windows: this file previously generated a lot of compiler warnings from unused functions
and variables since nothing here is available under windows. the entire file is now
a giant #ifndef _WIN32 to avoid any compile warnings or unexpected runtime behavior
fix T7055
Depends on D6371
Reviewers: ManMower, vtorri, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7055
Differential Revision: https://phab.enlightenment.org/D6372
Mike Blumenkrantz [Fri, 22 Jun 2018 19:52:16 +0000 (15:52 -0400)]
eina/debug: replace some explicit pthread_t usage with Eina_Thread
no functional changes
Differential Revision: https://phab.enlightenment.org/D6371
Mike Blumenkrantz [Mon, 25 Jun 2018 19:15:34 +0000 (15:15 -0400)]
eina/lock: rework meaning of EINA_DEBUG_THREADS variable
Summary:
previously this used to mean 'the number of ms that a lock can wait for
until abort() is called once the lock is acquired' and it was useful
when trying to find contention issues with locks
unfortunately this required a bit of reading into the code to determine,
and it made the common case of setting values to 1 fail in some cases,
as this is a very short amount of time. also the documentation explicitly
gives '1' as an example setting for this variable, which will cause immediate
abort() in most cases when debugging was enabled since things are much slower
this variable now is the number of usec that a lock can wait for before abort()
is called, and the lowest value that will be checked for abort()ing is 100, meaning
that '1' is valid again
Depends on D6375
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6376
Mike Blumenkrantz [Mon, 25 Jun 2018 19:15:32 +0000 (15:15 -0400)]
eina/lock: when debug threads are enabled, always call trylock in lock function
Summary:
when debugging thread issues, it's not actually helpful to immediately
deadlock--this defeats any attempt at debugging. instead, call trylock first
in order to detect a possible deadlock and then throw an error which can be
caught by the user
Depends on D6374
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6375
Mike Blumenkrantz [Mon, 25 Jun 2018 19:15:29 +0000 (15:15 -0400)]
eina/lock: reorder inline posix lock functions
Summary: no functional changes
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6374
YeongJong Lee [Mon, 25 Jun 2018 19:14:01 +0000 (15:14 -0400)]
ecore_evas: prevent duplicated ecore_evas registration
Summary:
After
a44697c37a304c0d4d574b6772775c6936869e24, we can register same ecore_evas
to ecore_evases using ecore_evas_input_event_register.
(ecore_evas_input_event_register -> ecore_evas_done -> _ecore_evas_register)
This can make infinite loop in EINA_INLIST_FOREACH(ecore_evases, ee) because
next inlist of ecore_evases is ecore_evases after double call of
_ecore_evas_register.
This patch prevent it.
Test Plan:
Ecore_Evas *ee = ecore_evas_new(NULL, 0, 0, 800, 600, NULL);
ecore_evas_input_event_register(ee);
(part of document of ecore_fb_input_device_window_set)
Check that there is no infinite loop
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6390
Mike Blumenkrantz [Mon, 25 Jun 2018 19:13:22 +0000 (15:13 -0400)]
ecore_con: make dns resolver thread stop blocking when canceled
Summary:
if the user or system attempts to cancel this thread then it should
stop blocking and exit in order to avoid potentially exiting after
efl has expected ecore-con to stop being active
@fix
fix T7041
Depends on D6354
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7041
Differential Revision: https://phab.enlightenment.org/D6355
Mike Blumenkrantz [Thu, 21 Jun 2018 22:38:22 +0000 (18:38 -0400)]
ecore/thread: track "no_queue" threads
these threads are still managed by the main loop, meaning they must be
accounted for so that they can be waited on if necessary during shutdown
this resolves some issues where ecore-con threads would persist after the
main thread had exited or called ecore_shutdown
@fix
fix T7041
Differential Revision: https://phab.enlightenment.org/D6354
Mike Blumenkrantz [Thu, 21 Jun 2018 22:17:33 +0000 (18:17 -0400)]
eina_thread_queue: use normal mempools for block allocation
there's no need to reimplement mempools here when we already have a great
mempool api
this makes the code slightly more readable
Differential Revision: https://phab.enlightenment.org/D6353
Mike Blumenkrantz [Wed, 20 Jun 2018 21:12:51 +0000 (17:12 -0400)]
ecore: reformat ecore_thread.c
no functional changes
Differential Revision: https://phab.enlightenment.org/D6352
Mike Blumenkrantz [Thu, 21 Jun 2018 22:44:54 +0000 (18:44 -0400)]
eo: remove some erroneous mutex unlocks during base class parent_set errors
recent changes added unlocks for these mutexes in some other places, so only
do the unlocks where necessary
fix T7020
Mike Blumenkrantz [Tue, 19 Jun 2018 19:19:29 +0000 (15:19 -0400)]
tests: add coverage for efl_parent_set with invalidated parent object
this hits a codepath which was otherwise never triggered by unit tests
Chris Michael [Mon, 25 Jun 2018 15:31:32 +0000 (11:31 -0400)]
edje_lua: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6419
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6420
Chris Michael [Mon, 25 Jun 2018 15:30:32 +0000 (11:30 -0400)]
efl_ui_layout_pack: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6418
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6419
Chris Michael [Mon, 25 Jun 2018 15:30:27 +0000 (11:30 -0400)]
elm_clock: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6417
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6418
Chris Michael [Mon, 25 Jun 2018 15:30:20 +0000 (11:30 -0400)]
elm_calendar: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6416
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6417
Chris Michael [Mon, 25 Jun 2018 15:30:15 +0000 (11:30 -0400)]
elc_popup: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6415
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6416
Chris Michael [Mon, 25 Jun 2018 15:30:11 +0000 (11:30 -0400)]
efl_ui_win: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6414
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6415
Chris Michael [Mon, 25 Jun 2018 15:30:01 +0000 (11:30 -0400)]
elc_naviframe: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6413
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6414
Chris Michael [Mon, 25 Jun 2018 15:29:55 +0000 (11:29 -0400)]
elc_multibuttonentry: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6412
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6413
Chris Michael [Mon, 25 Jun 2018 15:29:50 +0000 (11:29 -0400)]
efl_ui_calendar: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6411
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6412
Chris Michael [Mon, 25 Jun 2018 15:29:46 +0000 (11:29 -0400)]
elm_spinner: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6410
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6411
Chris Michael [Mon, 25 Jun 2018 15:29:41 +0000 (11:29 -0400)]
efl_ui_layout_object: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6409
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6410
Chris Michael [Mon, 25 Jun 2018 15:29:26 +0000 (11:29 -0400)]
elm_access: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6407
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6408
Chris Michael [Mon, 25 Jun 2018 15:29:21 +0000 (11:29 -0400)]
elm_panel: Wrap calls to edje_object_part_object_get with freeze/thaw
Summary:
@ref T6884
Depends on D6406
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6407
Chris Michael [Mon, 25 Jun 2018 15:29:12 +0000 (11:29 -0400)]
efl_ui_view_list: Wrap calls to edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6404
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: bu5hm4n, cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6405
Chris Michael [Mon, 25 Jun 2018 15:29:10 +0000 (11:29 -0400)]
tests: Update edje test to wrap edje_object_part_object_get with
Summary:
freeze/thaw
@ref T6884
Depends on D6403
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6404
Chris Michael [Mon, 25 Jun 2018 15:28:56 +0000 (11:28 -0400)]
elementary_bin: Wrap calls to edje_object_part_object_get with edje_freeze/thaw
Summary: @ref T6884
Reviewers: zmike, ManMower
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6884
Differential Revision: https://phab.enlightenment.org/D6402
Mike Blumenkrantz [Thu, 21 Jun 2018 22:45:59 +0000 (18:45 -0400)]
tests: add some more failure cases for efl_parent_set in eo tests
ref T6837
Differential Revision: https://phab.enlightenment.org/D6358
Mike Blumenkrantz [Mon, 25 Jun 2018 10:38:07 +0000 (06:38 -0400)]
eo: remove some erroneous mutex unlocks during base class parent_set errors
recent changes added unlocks for these mutexes in some other places, so only
do the unlocks where necessary
fix T7020
Depends on D6356
Differential Revision: https://phab.enlightenment.org/D6357
Mike Blumenkrantz [Tue, 19 Jun 2018 18:35:49 +0000 (14:35 -0400)]
tests: ensure class constructor is called in eo_domain test
failing to call this prior to the thread invocation would result in a CRI
from class initialization in a thread
ref T7003
Differential Revision: https://phab.enlightenment.org/D6333
Marcel Hollerbach [Mon, 25 Jun 2018 15:00:59 +0000 (11:00 -0400)]
eo: get back the eo test suite
Summary: I accidently broke the test suite, due to missing rebuilds.
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6421
Marcel Hollerbach [Mon, 25 Jun 2018 10:57:08 +0000 (06:57 -0400)]
elm_web: convert the enum fields correctly, as previously done
Summary:
ensure that everything stays in the allowed and previously used ranges.
The enums that are passed here are not equivalent.
Depends on D6383
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6384
Marcel Hollerbach [Mon, 25 Jun 2018 10:56:42 +0000 (06:56 -0400)]
elm_map: convert enums correctly
Summary:
ensure that everything stays in the allowed and previously used ranges.
The enums that are passed here are not equivalent.
Depends on D6382
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6383
Marcel Hollerbach [Mon, 25 Jun 2018 10:56:09 +0000 (06:56 -0400)]
efl_ui_layout_object: fix warnings
Summary:
ensure that the signal is correctly composed.
For the case that the eina value is carrying a error, then we just error
out.
Depends on D6378
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6379
Bowon Ryu [Mon, 25 Jun 2018 10:55:57 +0000 (06:55 -0400)]
elm_slider: add null check to avoid seg fault.
Summary: a segmentation fault occurs once the argument is not valid.
Test Plan: N/A
Reviewers: eagleeye, devilhorns, zmike
Reviewed By: eagleeye, zmike
Subscribers: #committers, cedric, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6362
Marcel Hollerbach [Mon, 25 Jun 2018 10:50:31 +0000 (06:50 -0400)]
eo: lower from CRI to ERR
Summary:
unreffing too often is not good. However, its definitly not a critical
error. Most of the wikipedia articles (*) that are speaking about ciritcal or
fatal errors are highlighting that no reasonable recovery can be done.
In our case a recovery is not even needed, due to our pointer safety we
dont need to recover anything since the refcounting safed us from doing
something stupid.
ref T6987.
Depends on D6384
Reviewers: zmike, segfaultxavi, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6987
Differential Revision: https://phab.enlightenment.org/D6385
Hermet Park [Mon, 25 Jun 2018 10:49:49 +0000 (06:49 -0400)]
evas canvas: add exceptional case.
Summary:
parent_container should have eina_false as given null parent
in order to avoid call vg_node_changed() for parent.
Reviewers: #committers, devilhorns, zmike
Reviewed By: #committers, zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6387
Jean-Philippe Andre [Thu, 21 Jun 2018 22:51:43 +0000 (18:51 -0400)]
elm_scroll: Avoid calls to non-existing part
In case of Bryce's style, there are no scroll bars.
this avoids errors for non-existent objects
ref T7030
Signed-off-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D6317
YeongJong Lee [Mon, 25 Jun 2018 07:15:56 +0000 (16:15 +0900)]
ecore_wl2: Take a library reference on tbmsurface create
We need to call ecore_wl2_init in tbmbuf_surface_create because of this commit
0d27985677897363f148c92042ef3d3917796981
reproduction:
1. Call elm_init(0, NULL);
2. Call elm_shutdown();
3. Check that there is no CRI error message
[CRI<14619>:eina_log lib/ecore_wl2/ecore_wl2.c:238 ecore_wl2_shutdown() unknown log domain -1, original message was: ERR: 'Ecore_Wl2 shutdown called without Ecore_Wl2 Init']
or
1. In efl-test-suite, execute utc_elm_bg_add
2. Check that there is no CRI error message
Change-Id: If8ec5795109e7a87bb893bd1633ec454873b3de7
Derek Foreman [Tue, 8 May 2018 18:26:42 +0000 (13:26 -0500)]
ecore_wl2: Remove ecore_wl2_input_grab/ungrab
Summary:
These should never be called, so they shouldn't be API.
This kind of internal state fiddling should happen implicitly in the
API that need it.
@beta_break
Depends on D6126
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6127
Change-Id: Ifd4de43a241cfb27bf85bce8bbb0a7199565ec4b
Derek Foreman [Tue, 8 May 2018 18:26:25 +0000 (13:26 -0500)]
ee_wayland: clean up warnings
Summary:
Pretty sure these are my fault.
Depends on D6122
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6123
Change-Id: Iaeff36cfc00f72bc0e7a169e8c77726551a635ab
Derek Foreman [Tue, 8 May 2018 18:26:22 +0000 (13:26 -0500)]
ee_wayland: remove edges flag
Summary:
Nothing needs this anymore.
Depends on D6121
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6122
Change-Id: I2db879c52a27a6ecd9ad1924c47ed91232447c14
Derek Foreman [Tue, 8 May 2018 18:26:12 +0000 (13:26 -0500)]
ee_wayland_egl: Remove some amazing weirdness
Summary:
I don't even know what to put here, but I'll try.
wl_egl_window_resize()'s final two parameters indicate new attachment
points for a buffer relative to the previous top left corner. When the
compositor is resizing a window it already handles the corner placement.
Fortunately, compositors seem to ignore the new attach co-ords during
resize, so this code hasn't broken anything. It's just a complicated
NOP.
The new attachment points are intended for use in spontaneous resize,
not drag resize, but the only time these functions are called is for
drag resize.
Depends on D6119
Reviewers: zmike, cedric
Reviewed By: zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6120
Change-Id: I00722662988871502b8ee41d98ec0951b3e72451
Derek Foreman [Tue, 24 Apr 2018 20:44:09 +0000 (15:44 -0500)]
ee_wayland: Remove pointless ack_configure
If we don't ack_configure here, it'll just automatically happen in
ecore_wl2_commit() next time we render anyway.
If we do ack_configure here, we can totally screw up E's internal window
handling.
Removing it seems like a win.
Change-Id: I58b1e0a17919a7c5a3561b0db59ae2d9e4fe1384
Derek Foreman [Mon, 12 Feb 2018 20:59:09 +0000 (14:59 -0600)]
ecore_wl2: Don't do anything but update alpha in alpha_set
This is now done in ecore_evas where it should be. alpha_set now does
only what its name claims it does - sets whether a surface has an alpha
channel or not.
Change-Id: I8c6dc82404e417318d1c41e9f3d466e14cb951a7
Derek Foreman [Mon, 12 Feb 2018 20:58:01 +0000 (14:58 -0600)]
ecore_evas_wayland: Handle region updates and alpha setting in engine
Instead of having elm handle all this stuff, handle it in ee. This fixes
a loooong standing bug where we would always use an alpha enabled surface
because CSD needs shadows - even if we aren't drawing CSD.
Change-Id: Ifdbba2fe672f26ef84c54abd07fa5179c15267f0
YeongJong Lee [Mon, 25 Jun 2018 01:48:14 +0000 (10:48 +0900)]
elm_focus: fix comment range in focus_next_object_set
We can set next parameter to NULL.
reported by utc_elm_object_focus_next_object_get in efl-test-suite
@tizen_fix
Change-Id: I09c56cbb5ea1dac6eeaf572f7beb4d1671e25303
Derek Foreman [Tue, 13 Feb 2018 21:04:17 +0000 (15:04 -0600)]
wayland_egl: Fix color depth when not using alpha
Since we don't actually set the color depth at all we can end up with
an RGB565 buffer. We don't ask for depths because apparently the N900
had a problem with this under X.
I'm not aware of any efforts to bring wayland to the N900, so let's do
this normally.
Change-Id: I3c0651efe5623233f39c7d927cbce67a44fcd854
Derek Foreman [Thu, 12 Apr 2018 18:44:10 +0000 (13:44 -0500)]
ee_wayland: Stop using manual_render_set
Now we use draw_block instead, so we don't accidentally stomp on other
code's usage of manual_render_set
fix T6834
Change-Id: I073dc71d56fa56e4ab2390503a66f820a6bcfa8c
Marcel Hollerbach [Mon, 25 Jun 2018 06:02:55 +0000 (15:02 +0900)]
efl_ui_focus_graph: remove unused functions
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6378
Marcel Hollerbach [Mon, 25 Jun 2018 05:55:13 +0000 (14:55 +0900)]
eina_stringshare: cast in order to fix a warning
Summary:
casting here is safe, as before we check and return on size < 1.
Depends on D6379
Reviewers: devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6380
Marcel Hollerbach [Mon, 25 Jun 2018 05:26:43 +0000 (14:26 +0900)]
efl_gfx_path: remove unsued function.
Summary:
the function can be regained by reverting this.
Depends on D6381
Reviewers: devilhorns
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6382
Marcel Hollerbach [Mon, 25 Jun 2018 05:25:52 +0000 (14:25 +0900)]
efl_gfx_path: make counters unsigned
Summary:
we are comparing to unsigned number, and the number are moving strongly
from 0 up.
Depends on D6380
Reviewers: devilhorns
Subscribers: Hermet, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6381
Mike Blumenkrantz [Mon, 25 Jun 2018 04:48:15 +0000 (13:48 +0900)]
evas_vg_node: do not propagate node changed callbacks for invalidated objects
Summary: this callback is triggered on the parent object. invalidated objects have no parent.
Reviewers: bu5hm4n, devilhorns, Hermet
Reviewed By: Hermet
Subscribers: Hermet, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6335
Carsten Haitzler (Rasterman) [Sun, 24 Jun 2018 02:56:52 +0000 (11:56 +0900)]
elm focus - fix focus composition prepare to not seg by unsafe list mods
efl_ui_focus_composition_prepare() methods in 2 widgets were modifying
the list (removing items) as they walked, using unsafe walking macros.
fix - use the safe variants.
Carsten Haitzler (Rasterman) [Sat, 23 Jun 2018 14:57:00 +0000 (23:57 +0900)]
elm win - fix resizing on show. rage was broken last week. this fixes it
rage window with no file passed ended up like 10x40 ... which is
wrong. it wasn't. rage code explicitly resizes the window before show
and this wsas being overriden. tested rage, terminology, em test in
both x and wl. all still work (for me) post commit.
Thierry HUCHARD [Fri, 22 Jun 2018 21:41:29 +0000 (17:41 -0400)]
ecore/main: fix build with --enable-g-main-loop
this resolves compiler errors with this option which resulted from refactoring
fix T7011
Mike Blumenkrantz [Fri, 22 Jun 2018 18:18:59 +0000 (14:18 -0400)]
ecore/glib: add #ifdef guards for newly added includes
these headers are not available on all platforms (e.g., windows) and so
the corresponding #ifdef checks must be used in order to correctly include
them
ref
1adb73cef82c45f2cc8766f43ffb88288e7e8a65
ref T5725
fix T7063
Differential Revision: https://phab.enlightenment.org/D6369
Mike Blumenkrantz [Fri, 22 Jun 2018 18:18:43 +0000 (14:18 -0400)]
evas/cpu: rework SIGILL code for non-x86 (and fix windows build)
Summary:
the previous patch which improved this code for x86 archs broke compiling
for non-x86 and, coincidentally, for windows builds on x86 due to some
unusual #ifdef blocks
this attempts to restore handling on non-x86 and adds additional #ifdefs for
functions which did not build on windows due to removed code
ref
6b1ab3cd9c7e19908690e9e913df7504cc8ae7c8
Reviewers: ManMower, devilhorns
Reviewed By: ManMower
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7062
Differential Revision: https://phab.enlightenment.org/D6368
Lauro Moura [Fri, 22 Jun 2018 16:43:47 +0000 (12:43 -0400)]
tests: Use EFL_START/END_TEST in cxx tests
Summary: Will enable timing info in these tests.
Test Plan: run make check
Reviewers: zmike, felipealmeida, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6359
Alastair Poole [Fri, 22 Jun 2018 16:41:05 +0000 (12:41 -0400)]
ecore_cocoa: explicity allocate for keyname and key
Summary:
Allocate memory for keyname and key. Also refactor
unnecessary calloc and free.
Reviewers: #committers, zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6366
Daniel Hirt [Fri, 22 Jun 2018 09:46:40 +0000 (12:46 +0300)]
Edje: recalc edje before fetching the real part
Summary:
There are many calls to `_edje_real_part_recursive_get`. Though, it is
not guaranteed that the Edje object had instantiated all of the real
parts.
This change makes edje to always recalc before retrieving the real part.
The D6364 patch raised a good point, but presented a local fix, where
it seems that a global fix such as this is needed, instead.
The local fix is removed in favor of this. Test suite still passes.
ref T7057
@fix
Test Plan: See T7057
Reviewers: devilhorns
Subscribers: cedric, zmike, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6365
Derek Foreman [Fri, 22 Jun 2018 13:38:03 +0000 (09:38 -0400)]
genlist: Don't search for an item we know we won't find
Summary:
We track list presence already, so we can just do a boolean test instead
of an O(n) lookup.
Depends on D6349
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6350
Youngbok Shin [Fri, 22 Jun 2018 09:15:11 +0000 (12:15 +0300)]
edje: fix text set/get issue without edje calculation
Summary:
Some changes broke really basical function behavior of text.
I couldn't get text from an edje object which I just set to the given edje object.
In the past code, edje called recalc function before trying to get text.
So, this patch bring that code to fix this issue.
@fix
Test Plan: Included. Run "make check"
Reviewers: herdsman, raster, cedric, woohyun, devilhorns
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6364
Derek Foreman [Thu, 21 Jun 2018 17:39:15 +0000 (12:39 -0500)]
efl_ui_focus_manager: track list presence
By keeping track of whether a node is on the dirty list or not we can
save ourself list walks trying to remove items that aren't present.
Differential Revision: https://phab.enlightenment.org/D6349
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
Alastair Poole [Fri, 22 Jun 2018 08:11:32 +0000 (09:11 +0100)]
efl_ui_widget: silence warnings with clang.
Clang doesn't like dangling else.
Alastair Poole [Fri, 22 Jun 2018 06:16:50 +0000 (07:16 +0100)]
efreet: silent deprecated API build warnings.
Silent warnings on EFL build. Warn on API "mis-use".
Carsten Haitzler (Rasterman) [Fri, 22 Jun 2018 00:29:21 +0000 (09:29 +0900)]
Revert "Revert "eina debug - fix segv if an app is compiled with -pg for profiling""
This reverts commit
0d91088d0fe00ab64e1e852551e850d403e9db37.
It also includes a workaround for OSX where RT signals aren't
supported due to kernel age (too old a fork of freebsd). fixes D6310
and T7029
Lauro Moura [Thu, 21 Jun 2018 22:36:35 +0000 (18:36 -0400)]
eldbux-cxx: Remove test accessing system bus.
Summary: Tests should use session bus only.
Reviewers: zmike, felipealmeida, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6351
Mike Blumenkrantz [Thu, 21 Jun 2018 21:44:34 +0000 (17:44 -0400)]
eina_debug_bt: add ifdef for windows build
Summary: ref D7028
Reviewers: vtorri, devilhorns
Reviewed By: vtorri
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6348
Derek Foreman [Thu, 12 Apr 2018 18:42:12 +0000 (13:42 -0500)]
ecore_evas: Make draw_block block drawing
This was only used in the X custom render function, now it's meaningful
everywhere. (Nothing that uses this code path currently sets it)
ref T6834
Change-Id: Icff5151235ea160931fe75e2ed7a75146c50dc81
Derek Foreman [Thu, 12 Apr 2018 18:39:29 +0000 (13:39 -0500)]
ee_x: Rename draw_ok to draw_block and invert logic
I want to use this in other engines, but no other engine initializes this
properly, so draw_ok would be EINA_FALSE everywhere. This way draw_block
is EINA_FALSE after calloc in all engines that don't know about it.
ref T6834
Change-Id: I0c499ebc940b05e436941cb2b7d7bce6d0d35ac5
Derek Foreman [Thu, 12 Apr 2018 18:33:53 +0000 (13:33 -0500)]
efl_ui_win: Always show the wayland pointer
It's hidden by the compositor as required, so this just makes life much
more complicated in other code.
ref T6834
Change-Id: Ib40f9fd189edea084acdf99b18436adc5ce2f3e5