Mike Blumenkrantz [Tue, 3 Jul 2018 16:44:13 +0000 (12:44 -0400)]
tests/ecore-con: fix dns test to use correct ordering
Summary:
it's unclear to me why this test was implemented with the expected
event ordering of SERVER_DEL -> SERVER_ERROR; going as far back
as efl 1.7, the behavior has always been ERROR -> DEL
this fixes the test to verify the expected event ordering on a dns
resolve failure
Depends on D6481
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6482
Mike Blumenkrantz [Tue, 3 Jul 2018 16:42:00 +0000 (12:42 -0400)]
ecore-con/legacy: kill server with DEL event if a dialer error occurs
Summary:
in the course of the efl-net rewrite, the previous relied-upon behavior
sequence of error -> disconnect -> del was broken, and error events no
longer triggered disconnects or server deletion.
the failure was caused by a check for the 'connecting' flag, preventing
DEL events from being triggered
further, the ordering of the events was flipped from ERROR -> DEL to
DEL -> ERROR; this is also fixed now
this caused any failed connection to leak the entire server connection
since existing handlers for the del event were never triggered and the
server was never destroyed
@fix
fix T6330
Reviewers: devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6330
Differential Revision: https://phab.enlightenment.org/D6481
Mike Blumenkrantz [Tue, 3 Jul 2018 16:39:36 +0000 (12:39 -0400)]
elm_test: fix invalid read in dnd image drop
Summary:
this selection is data with a specified length, not a terminated string
@fix
Depends on D6484
Reviewers: devilhorns
Subscribers: netstar, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6485
Mike Blumenkrantz [Tue, 3 Jul 2018 16:39:33 +0000 (12:39 -0400)]
efl/selection_manager: fix some invalid memory reads
Summary:
these selections are data with specified lengths, not strings
Depends on D6483
Reviewers: devilhorns, bu5hm4n
Subscribers: bu5hm4n, netstar, cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6484
Mike Blumenkrantz [Tue, 3 Jul 2018 16:39:26 +0000 (12:39 -0400)]
efl/selection_manager: make selection manager a child of the app
Summary:
a selection manager is application-wide, not per-window. creating separate
managers for each window duplicates all callbacks for the window's display
server, guaranteeing broken behavior at any time when more than one window
exists
fix T6937
Reviewers: bu5hm4n, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6937
Differential Revision: https://phab.enlightenment.org/D6483
Mike Blumenkrantz [Mon, 2 Jul 2018 18:28:35 +0000 (14:28 -0400)]
eina/debug: remove global lock for session list access
this list is now only accessed from the main thread so there's no reason
to have a lock for it
Mike Blumenkrantz [Mon, 2 Jul 2018 18:14:32 +0000 (14:14 -0400)]
eina/debug: rework session thread destruction to avoid deadlock on shutdown
when debugging was active, this would frequently result in the monitor thread
blocking in a read() call for a fd which had already been closed by the main
thread. the main thread would be waiting for the monitor thread to fail its read()
and destroy itself, but the read() would never end without an interrupt
this reworks the monitor thread destruction to stop relying on the thread to
remove its session from the session list and instead only access the list from
the main thread, allowing sessions to always be immediately destroyed
fix T7103
Marcel Hollerbach [Sat, 30 Jun 2018 10:37:58 +0000 (12:37 +0200)]
efl_ui_focus_layer: do not call on NULL objects
This fixes the following backtrace
#5 0x00007ffff4ee87d0 in efl_ui_focus_manager_root_get (obj=0x0) at lib/elementary/efl_ui_focus_manager.eo.c:17
#6 0x00007ffff4ef50cb in _efl_ui_focus_layer_enable_set (obj=0x40000004adfe, pd=0x12fde40, v=0 '\000') at lib/elementary/efl_ui_focus_layer.c:127
#7 0x00007ffff4ef52dd in efl_ui_focus_layer_enable_set (obj=0x40000004adfe, v=1 '\001') at lib/elementary/efl_ui_focus_layer.eo.c:4
#8 0x00007ffff4ef4df0 in _efl_ui_focus_layer_efl_gfx_entity_visible_set (obj=0x40000004adfe, pd=0x12fde40, v=1 '\001') at lib/elementary/efl_ui_focus_layer.c:35
#9 0x00007ffff0f366a3 in efl_gfx_entity_visible_set (obj=0x40000004adfe, v=1 '\001') at ../src/lib/efl/interfaces/efl_gfx_entity.eo.c:15
#10 0x00007ffff5d832bb in evas_object_show (eo_obj=0x40000004adfe) at lib/evas/canvas/evas_object_main.c:1917
#11 0x00007fffcc365c74 in _bar_icon_preview_show (data=0xfaa7e0) at ../src/modules/luncher/bar.c:906
#12 0x00007ffff6d4305a in _ecore_call_task_cb (func=0x7fffcc36549c <_bar_icon_preview_show>, data=0xfaa7e0) at lib/ecore/ecore_private.h:442
#13 0x00007ffff6d434d2 in _ecore_timer_legacy_tick (data=0x12ca950, event=0x7ffffffc57c0) at lib/ecore/ecore_timer.c:160
#14 0x00007ffff0d06e90 in _event_callback_call (obj_id=0x4000001f25b2, pd=0x923820, desc=0x7ffff6f673e0 <_EFL_LOOP_TIMER_EVENT_TICK>, event_info=0x0, legacy_compare=0 '\000') at lib/eo/eo_base_class.c:1671
#15 0x00007ffff0d07162 in _efl_object_event_callback_call (obj_id=0x4000001f25b2, pd=0x923820, desc=0x7ffff6f673e0 <_EFL_LOOP_TIMER_EVENT_TICK>, event_info=0x0) at lib/eo/eo_base_class.c:1755
#16 0x00007ffff0d07208 in efl_event_callback_call (obj=0x4000001f25b2, desc=0x7ffff6f673e0 <_EFL_LOOP_TIMER_EVENT_TICK>, event_info=0x0) at lib/eo/eo_base_class.c:1758
#17 0x00007ffff6d4478e in _efl_loop_timer_expired_call (obj=0x4000000003dc, pd=0x890bf0, when=333436.
894054887) at lib/ecore/ecore_timer.c:634
#18 0x00007ffff6d445bd in _efl_loop_timer_expired_timers_call (obj=0x4000000003dc, pd=0x890bf0, when=333436.
894054887) at lib/ecore/ecore_timer.c:587
#19 0x00007ffff6d0b423 in _ecore_main_loop_iterate_internal (obj=0x4000000003dc, pd=0x890bf0, once_only=0) at lib/ecore/ecore_main.c:2317
#20 0x00007ffff6d08e66 in _ecore_main_loop_begin (obj=0x4000000003dc, pd=0x890bf0) at lib/ecore/ecore_main.c:1175
#21 0x00007ffff6d11757 in _efl_loop_begin (obj=0x4000000003dc, pd=0x890bf0) at lib/ecore/efl_loop.c:83
#22 0x00007ffff6d13e6e in efl_loop_begin (obj=0x4000000003dc) at lib/ecore/efl_loop.eo.c:28
#23 0x00007ffff6d08fe0 in ecore_main_loop_begin () at lib/ecore/ecore_main.c:1248
#24 0x000000000054817c in main (argc=2, argv=0x7fffffffdc78) at ../src/bin/e_main.c:1090
fix T7034.
Differential Revision: https://phab.enlightenment.org/D6492
Marcel Hollerbach [Mon, 2 Jul 2018 09:16:41 +0000 (11:16 +0200)]
elm_toolbar: handle the cleanup in the invalidate call
there is actaully no need to add the event, we can cleanup the pointer
in the invalidate call. Further more, the event was executed before the
method, thus checks against more_item failed because that was already
NULL. The result have been error messages, this fixes the error.
Differential Revision: https://phab.enlightenment.org/D6496
Marcel Hollerbach [Mon, 2 Jul 2018 08:58:52 +0000 (10:58 +0200)]
elm_toolbar: fix _item_visiblity
'more' should indicate when a more item is needed, this is needed if one
item is set to visibility false, thus checking this here is required.
#FocusBug
fix T6806
Differential Revision: https://phab.enlightenment.org/D6495
Marcel Hollerbach [Mon, 2 Jul 2018 06:31:54 +0000 (08:31 +0200)]
efl_ui_bg: set scale manually to hand by hand
according to
09d3d5b85ad4a0b7441b5b1e508db0e595bef395 elm scale should
be ignored. However, setting no_scale breaks efl_ui_bg as no_scale
disables scale types, which are required to work.
fix T7080
Differential Revision: https://phab.enlightenment.org/D6494
Marcel Hollerbach [Mon, 2 Jul 2018 06:26:01 +0000 (08:26 +0200)]
efl_ui_image: apply the whole sizing eval
orientation no_scale etc. can have impact on the min max calculation.
Thus that should be called on every property set.
ref T7080
Differential Revision: https://phab.enlightenment.org/D6493
Marcel Hollerbach [Sat, 30 Jun 2018 09:46:29 +0000 (11:46 +0200)]
efl_ui_focus_graph: improve results based on lvls
This improves the results from the graph calculations.
Everything is documented in the comments.
The genlist of focus 6 is placed in a way that the button
at the top is not in reach, before we only had lvl1 and lvl2
(as described in the code comment), thus the button was only
reachable via right not via top. lvl3 makes it accessable
via top AND right.
fix T7098
Differential Revision: https://phab.enlightenment.org/D6491
Youngbok Shin [Mon, 2 Jul 2018 13:17:33 +0000 (16:17 +0300)]
Evas Textblock: Don't convert <br/> to <ps/> after changing text
Summary:
It was only happened when legacy newline is enabled. By default,
legacy newline is enabled. As I know, legacy newline option has
to change textblock's internal behavior. But, it shouldn't change
the given original text. It fixes T3399.
Test Plan: A Test case is included in Evas test suite.
Reviewers: Jaehyun_Cho, z-wony, tasn, woohyun, herdsman, Blackmole, devilhorns
Subscribers: #committers, zmike, raster, cedric, jpeg
Tags: #efl
Maniphest Tasks: T3399
Differential Revision: https://phab.enlightenment.org/D3874
Xavi Artigas [Mon, 2 Jul 2018 13:45:55 +0000 (13:45 +0000)]
elementary: fix buffer overflow in efl/calendar widget
I missed this one in the previous part name refactor, where the efl
namespace was added.
Differential Revision: https://phab.enlightenment.org/D6498
Alastair Poole [Mon, 2 Jul 2018 12:37:51 +0000 (12:37 +0000)]
data: install icon according to FDO specification.
install to icons/hicolor/128x128/apps instead of icons/
Differential Revision: https://phab.enlightenment.org/D6497
Marcel Hollerbach [Mon, 2 Jul 2018 11:14:17 +0000 (20:14 +0900)]
efl_ui_focus_parent_provider_gen: provide results for adapters
Summary:
a adapter is used whenno real widget is created during realization, when
a adapter is used, the parent cannot be fetched via
elm_widget_parent_get, there we need efl_parent_get
Reviewers: ManMower, devilhorns, stephenmhouston, zmike, Hermet
Reviewed By: Hermet
Subscribers: Hermet, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6339
Daniel Hirt [Fri, 29 Jun 2018 14:05:06 +0000 (17:05 +0300)]
Evas textblock: clear ellipsis item at start of layout
The ellipsis item was tracked so it can be inserted at the correct
position. It was not cleared properly, leading to a randomly failing
test suite.
Actually, it seems that there is no need to even store the ellipsis item
as the object data, so it was also moved to be in the layout context,
instead.
A special shoutout to ManMower for lending me his machine, as the test
suite didn't fail on mine.
Fixes T6986
@fix
Daniel Hirt [Sat, 30 Jun 2018 07:15:00 +0000 (10:15 +0300)]
Evas font: simplify fallback parsing step
@fix
Youngbok Shin [Fri, 29 Jun 2018 20:09:08 +0000 (23:09 +0300)]
Evas font: add comparison for fallbacks in evas_font_desc_cmp()
Summary:
fallbacks string also has to be compared to load proper fdesc.
If a font which does not have fallback fonts is loaded,
fallback fonts can't be appended to the same font.
@fix
Reviewers: tasn, woohyun, herdsman, zmike, devilhorns
Reviewed By: herdsman
Subscribers: #committers, zmike, raster, Blackmole, z-wony, cedric, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D3707
Youngbok Shin [Thu, 28 Jun 2018 15:50:50 +0000 (18:50 +0300)]
Evas font: fix inifinite loop problem for fallback fonts
Summary:
When multiple fallback fonts was passed to evas_font_load(),
the while loop could run forever. I think it is never tested.
@fix
Test Plan:
Set the following textblock style and set it to a textblock object.
"font=Sans font_fallbacks=Ubuntu,Inconsolata,BlahBlah font_size=..."
Run and see application is in stuck.
Reviewers: tasn, woohyun, herdsman, devilhorns
Subscribers: #committers, zmike, raster, Blackmole, z-wony, cedric, jpeg
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D3703
Xavi Artigas [Fri, 29 Jun 2018 15:49:19 +0000 (11:49 -0400)]
default theme: fix part names in elm/clock
Summary: Ref T6965
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6965
Differential Revision: https://phab.enlightenment.org/D6452
Marcel Hollerbach [Fri, 29 Jun 2018 15:36:30 +0000 (11:36 -0400)]
efl_ui_focus_manager_calc: only perform operation if really required
Summary:
_manager_in_chain_set is not needed to be called if the focus property
is already correct. If a manager is moved out of the redirect property,
then the focus is dropped completly
Reviewers: ManMower, devilhorns, zmike, stephenmhouston
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6338
Mike Blumenkrantz [Fri, 29 Jun 2018 15:36:12 +0000 (11:36 -0400)]
eet: set parent struct member when adding a child to a parent node
Summary:
this relation can be retrieved with eet_node_parent_get() but is never
set internally
fix T4600
@fix
Reviewers: artem.popov, devilhorns, Hermet, vtorri
Reviewed By: Hermet
Subscribers: Hermet, cedric, #committers
Tags: #efl
Maniphest Tasks: T4600
Differential Revision: https://phab.enlightenment.org/D6336
Xavi Artigas [Fri, 29 Jun 2018 15:34:57 +0000 (11:34 -0400)]
default theme: fix part names in efl/uiclock
Summary:
Ref T6965
Depends on D6450
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6965
Differential Revision: https://phab.enlightenment.org/D6451
Xavi Artigas [Fri, 29 Jun 2018 15:34:36 +0000 (11:34 -0400)]
default theme: remove unused elm/uiclock
Summary:
Legacy widget is elm/clock, and the new one is efl/uiclock.
There does not exist a legacy elm/uiclock.
This also reverts commit
20404d79d43876c546ba8e969f6cb9ea38122772
(elm_datetime, efl_ui_clock : Add check 'legacy widget' for layout signal emission)
Since there is no need to check for legacy versions of uiclock.
Ref T6965
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6965
Differential Revision: https://phab.enlightenment.org/D6450
Marcel Hollerbach [Fri, 29 Jun 2018 15:33:18 +0000 (11:33 -0400)]
elm_genlist: prepare items before realising them
Summary: Depends on D6339
Reviewers: ManMower, devilhorns, zmike, stephenmhouston
Reviewed By: zmike
Subscribers: Hermet, cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6340
Xavi Artigas [Fri, 29 Jun 2018 15:32:54 +0000 (11:32 -0400)]
default theme: fix part names in efl/calendar
Summary:
Ref T6967
Depends on D6453
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6967
Differential Revision: https://phab.enlightenment.org/D6454
Xavi Artigas [Fri, 29 Jun 2018 15:32:03 +0000 (11:32 -0400)]
default theme: fix part names in elm/calendar
Summary: Ref T6967
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6967
Differential Revision: https://phab.enlightenment.org/D6453
Marcel Hollerbach [Fri, 29 Jun 2018 15:31:56 +0000 (11:31 -0400)]
efl_ui_focus_layer: elm_widget_top_get considered harmfull
Summary:
You think elm_widget_top_get returns a window object ? Oh no! For the
case that the widget tree splits, and the widget_parent gets NULL of
some widget in the chain, elm_widget_top_get returns where the NULL
reference is placed.
For the case of elm_notify this is somehow intended, as the notify does
not have a parent when the parent is deleted.
ref T7090
Reviewers: netstar, zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7090
Differential Revision: https://phab.enlightenment.org/D6471
Mike Blumenkrantz [Fri, 29 Jun 2018 15:31:10 +0000 (11:31 -0400)]
eo: improve thread check during class construction
Summary:
a common use case is for a class to be constructed during a thread+mainloop
sync (e.g., ecore_thread_main_loop_begin() ecore_thread_main_loop_end())
and then naturally destroyed in the main thread during shutdown
ref
023a9ca2ee32529849e770f057f58592956dee47
Reviewers: bu5hm4n, devilhorns
Reviewed By: bu5hm4n
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6472
Xavi Artigas [Fri, 29 Jun 2018 15:29:56 +0000 (11:29 -0400)]
default theme: fix part names in notification
Summary:
Ref T6966
Depends on D6462
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6463
Xavi Artigas [Fri, 29 Jun 2018 15:29:40 +0000 (11:29 -0400)]
default theme: fix part names in dialog
Summary:
Ref T6966
Depends on D6461
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6462
Xavi Artigas [Fri, 29 Jun 2018 15:29:33 +0000 (11:29 -0400)]
default theme: fix part names in illume
Summary:
Ref T6966
Depends on D6460
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6461
Xavi Artigas [Fri, 29 Jun 2018 15:29:27 +0000 (11:29 -0400)]
default theme: fix part names in systray
Summary:
Ref T6966
Depends on D6459
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6460
Xavi Artigas [Fri, 29 Jun 2018 15:29:17 +0000 (11:29 -0400)]
default theme: fix group names in music_control
Summary:
Ref T7072
Depends on D6458
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966, T7072
Differential Revision: https://phab.enlightenment.org/D6459
Xavi Artigas [Fri, 29 Jun 2018 15:29:08 +0000 (11:29 -0400)]
default theme: fix group names in fileman
Summary:
Ref T6966
Depends on D6457
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6458
Xavi Artigas [Fri, 29 Jun 2018 15:29:02 +0000 (11:29 -0400)]
default theme: fix part names in elm/ews
Summary:
Fixes T7046
Depends on D6456
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966, T7046
Differential Revision: https://phab.enlightenment.org/D6457
Xavi Artigas [Fri, 29 Jun 2018 15:28:57 +0000 (11:28 -0400)]
default theme: fix part names in elm/scrollable/panel
Summary:
Ref T6966
Depends on D6455
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6456
Xavi Artigas [Fri, 29 Jun 2018 15:28:50 +0000 (11:28 -0400)]
default theme: fix part names in elm/popup
Summary: Ref T6966
Reviewers: zmike, devilhorns
Reviewed By: zmike
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T6966
Differential Revision: https://phab.enlightenment.org/D6455
Vincent Torri [Fri, 29 Jun 2018 13:56:15 +0000 (09:56 -0400)]
Evil: fix usage of Evil in a program compiled with vc++ this should be enough to fix T5206
Summary: Fix EFL errors when compiling a program with vc++
Test Plan: compilation
Reviewers: zmike, devilhorns, an.kroitor
Reviewed By: zmike
Subscribers: cedric, an.kroitor, zmike, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6478
Myoungwoon Roy, Kim [Fri, 29 Jun 2018 09:57:19 +0000 (05:57 -0400)]
Add information about the location of CC BY-SA 3.0 related icon files.
Summary: COPYING.images does not have any information about the location of files.
Test Plan: N/A
Reviewers: cedric, jpeg, raster, Hermet, stefan_schmidt, Jaehyun_Cho, devilhorns
Reviewed By: devilhorns
Subscribers: #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6479
Jaehyun Cho [Fri, 29 Jun 2018 05:43:03 +0000 (14:43 +0900)]
configure: check if realpath program exists
Summary: If realpath program does not exist, then readlink program can be used.
Test Plan:
Execute configure and check the log "checking for realpath".
If realpath program does not exist, then "checking for readlink" log is also printed.
Reviewers: woohyun, lauromoura, devilhorns
Reviewed By: lauromoura
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6470
Daniel Hirt [Fri, 29 Jun 2018 01:25:57 +0000 (10:25 +0900)]
Elm label: fix "horizontal_fixed" usage with different styles
Summary:
This adds the "horizontal_fixed" description to each of the inheriting
parts in their respective inheriting groups "left" and "right".
An issue was observed when an emitted signal caused the part's
description to change to the one inherited from the "default" group.
Fixes T5382
@fix
Reviewers: #committers, devilhorns, Hermet
Reviewed By: #committers, Hermet
Subscribers: cedric, zmike
Tags: #efl
Maniphest Tasks: T5382
Differential Revision: https://phab.enlightenment.org/D6467
Mike Blumenkrantz [Fri, 29 Jun 2018 01:21:01 +0000 (10:21 +0900)]
tests/eo: add explicit ref check when setting an invalid parent
Summary: ref
f4a55e9266520773de96bfc55b603443cd61696d
Reviewers: bu5hm4n, devilhorns, Hermet
Reviewed By: Hermet
Subscribers: cedric, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6473
Hermet Park [Fri, 29 Jun 2018 00:58:41 +0000 (09:58 +0900)]
evas map: check render condition more elaborately.
Summary:
Ok, this was started from a bug that canvas getting not be updated.
If map is just disabled, at least one frame in the map region should be redrawn
So I added a condition 'map changed' in the render even though map is off
status. Now, I got a performance regression issue because it makes dirty
region is always true for the map object.
That is a corner case acutally, that object is not rendered but map still
have changed status.
I replaced the condition only if object is changed + map is changed.
At least, my test case works better with this patch.
@fix T6975
Reviewers: #committers, ManMower, devilhorns
Reviewed By: #committers, ManMower
Subscribers: ApB, ManMower, cedric, #committers, zmike
Tags: #efl
Maniphest Tasks: T6975
Differential Revision: https://phab.enlightenment.org/D6429
Mike Blumenkrantz [Thu, 28 Jun 2018 20:03:15 +0000 (15:03 -0500)]
evas: remove ecore init/shutdown calls from everywhere besides evas_main
Summary:
these separate inits and shutdowns make it impossible to effectively control
ecore's lifetime which makes evas_shutdown unreliable as objects may be
destroyed at any point
ref T7052
Depends on D6475
Reviewers: ManMower, devilhorns
Reviewed By: ManMower, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7052
Differential Revision: https://phab.enlightenment.org/D6476
Change-Id: I3d62667879896b0c3047ff7caebdc2f7f4c55dd7
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
Change-Id: Ia1fc676abf2893849210c308e269e920b472784e
Jiyoun Park [Fri, 29 Jun 2018 04:04:00 +0000 (13:04 +0900)]
Revert "ee_wayland_egl: Remove some amazing weirdness"
calendar widget has black because of this patch
This reverts commit
0fdf4204a5977d66604f3a2bd65d76eb4ed4293e.
Change-Id: I9a9e0015b134965d1070f923ba9f699d730e7f37
Jiyoun Park [Fri, 29 Jun 2018 04:03:26 +0000 (13:03 +0900)]
Revert "ecore_evas_wayland: Handle region updates and alpha setting in engine"
lock screen loses focus because of this patch
This reverts commit
26aa5dab423fd874bd9529d0682f9bc71f93819e.
Mike Blumenkrantz [Thu, 28 Jun 2018 19:53:10 +0000 (14:53 -0500)]
evas/main: move common shutdown to after ecore shutdown
Summary:
ecore_shutdown will trigger object deletions which require common
components to still be active in order to avoid crashes
ref
3433be343779424c5e030ace30e211298cd060f8
ref T7052
Reviewers: ManMower, devilhorns
Reviewed By: ManMower, devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7052
Differential Revision: https://phab.enlightenment.org/D6475
Derek Foreman [Thu, 28 Jun 2018 18:12:03 +0000 (13:12 -0500)]
ecore_anim: Simplify timeline terminal condition
Summary:
We should only ever have a pos of 1.0 once, the current terminal
condition gives the impression that it might be possible to have
more than one 1.0 firing.
This would break a lot of code.
No functional change intended.
Depends on D6464
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6465
Derek Foreman [Thu, 28 Jun 2018 18:11:59 +0000 (13:11 -0500)]
evas_render: Make some code easier to read
Summary:
The variable "clean_them" can only ever be EINA_FALSE for much of this
function, but using it as a return value ensures that anyone not
intimately familiar with the code will have to read a lot of code
to figure out that this is so.
Instead, return EINA_FALSE up until the point clean_them can actually
be something else.
No functional change.
Reviewers: devilhorns, zmike
Reviewed By: zmike
Subscribers: cedric, #committers, zmike
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6464
Mike Blumenkrantz [Thu, 28 Jun 2018 16:41:12 +0000 (12:41 -0400)]
evas/main: shuffle shutdown order of filters and modules
Summary:
these both deallocate resources which can be needed during ecore_shutdown
ref
df652673febd8617d3f458a5c14478534e927940
fix T7052
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric, #committers
Tags: #efl
Maniphest Tasks: T7052
Differential Revision: https://phab.enlightenment.org/D6474
Mike Blumenkrantz [Wed, 27 Jun 2018 12:48:59 +0000 (08:48 -0400)]
eio/fallback: avoid emitting monitor events if the backend is pending deletion
emitting events if the delete_me flag is set may result in events being emitted
for an already-freed monitor, resulting in both invalid memory access and a
deadlock later on if eio_shutdown has been called at this point
this causes the monitoring thread to check the status of the backend during the
block where the main loop and thread are in sync, avoiding any data races which
could occur when checking the flag at another time, and also avoiding accessing
the internals of the Ecore_Thread which could also have been deallocated during
shutdown
fix T7086
Differential Revision: https://phab.enlightenment.org/D6449
Mike Blumenkrantz [Tue, 26 Jun 2018 22:22:11 +0000 (18:22 -0400)]
tests: check eio monitors for fallback monitoring
the corresponding tests cannot be run when using fallback monitoring,
so be sure to skip them when fallback is detected to avoid erroneous
failure reporting
fix T7042
Differential Revision: https://phab.enlightenment.org/D6448
Mike Blumenkrantz [Tue, 26 Jun 2018 22:20:37 +0000 (18:20 -0400)]
eio: add method for determining if a monitor is using the fallback mechanism
the fallback method of calling stat() on the monitored paths does not allow
for various eio events to be emitted, meaning that any application which relies
on those events can never receive them
this provides a method for checking a monitor to determine which functionality
is available, and also provides more explicit documentation regarding events
that are not provided by fallback monitoring
this method is marked as beta
@feature
Differential Revision: https://phab.enlightenment.org/D6447
Mike Blumenkrantz [Tue, 26 Jun 2018 22:17:24 +0000 (18:17 -0400)]
tests: cancel the timeout timer when cleaning up eio tests
this timer could persist and cause cascading failures for subsequent
tests when running in non-forked mode
@fix
Differential Revision: https://phab.enlightenment.org/D6446
Mike Blumenkrantz [Tue, 26 Jun 2018 22:15:53 +0000 (18:15 -0400)]
tests: increase eio monitor+sentry test initial delay to 0.05s
this helps ensure that the fallback monitor can perform an initial
scan during the test while under load
fix T7042
Differential Revision: https://phab.enlightenment.org/D6445
Mike Blumenkrantz [Tue, 26 Jun 2018 22:15:10 +0000 (18:15 -0400)]
eio/fallback: do not modify the children hash while iterating it
this is invalid use of the hash api and will cause a crash
@fix
Differential Revision: https://phab.enlightenment.org/D6444
Mike Blumenkrantz [Tue, 26 Jun 2018 22:10:19 +0000 (18:10 -0400)]
eio/fallback: mark all fallback monitors as fallbacks, not just for win32
@fix
Differential Revision: https://phab.enlightenment.org/D6443
Mike Blumenkrantz [Tue, 26 Jun 2018 21:49:56 +0000 (17:49 -0400)]
eio/fallback: fix MODIFY event emission on base path when monitoring
previously this sent a DELETE event any time the target file was modified
@fix
fix T7042
Differential Revision: https://phab.enlightenment.org/D6442
Mike Blumenkrantz [Tue, 26 Jun 2018 20:42:04 +0000 (16:42 -0400)]
eio/fallback: remove intermediate idler
for some reason, the fallback thread would exit -> create timer ->
create idler -> create thread; the existence of the idler makes little
sense and introduces variability in the timer interval
@fix
Differential Revision: https://phab.enlightenment.org/D6441
Mike Blumenkrantz [Tue, 26 Jun 2018 20:39:53 +0000 (16:39 -0400)]
eio/fallback: fix fallback shutdown when threads exist
threads should not be waited on here during shutdown since these same
threads may be waiting on the main loop anyway
instead, perform as much deallocation as possible,
mark the monitor as deleted, and then set the thread to canceled and
allow the thread to clean itself up during its cancel/end callback
@fix
Differential Revision: https://phab.enlightenment.org/D6440
Mike Blumenkrantz [Tue, 26 Jun 2018 20:38:20 +0000 (16:38 -0400)]
eio/fallback: always create timer hash on fallback init
this is a required call in order for the fallback system to work
Differential Revision: https://phab.enlightenment.org/D6439
Mike Blumenkrantz [Tue, 26 Jun 2018 20:37:08 +0000 (16:37 -0400)]
ecore/thread: flush main loop threads during ecore_thread_wait()
this avoids the case where the main loop is waiting on a thread
and that same thread is waiting on the main loop
@fix
Differential Revision: https://phab.enlightenment.org/D6438
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