Mike Blumenkrantz
5365493788
avoid adding render updates for deleted clients after animation completes
...
Summary:
in the case where deletion is deferred to preserve a window animation this
codepath may be triggered by a deleted client, at which point no render update
should occur in order to avoid compositor errors
ref f78eb3c108
fix T5203
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: netstar, cedric
Tags: #enlightenment-git
Maniphest Tasks: T5203
Differential Revision: https://phab.enlightenment.org/D6367
2018-06-25 06:54:47 -04:00
Mike Blumenkrantz
a6277f4f6d
resolve a number of cases where a null object was passed to efl functions
...
Summary:
these are all harmless but will trigger error messages from efl
ref T7030
Depends on D6315
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Tags: #enlightenment-git
Maniphest Tasks: T7030
Differential Revision: https://phab.enlightenment.org/D6316
2018-06-19 12:01:43 -04:00
Mike Blumenkrantz
bc9bccb2b6
make e_comp_object_frame_icon_update() have a bool return for success
...
Reviewers: ManMower, devilhorns
Reviewed By: devilhorns
Subscribers: cedric
Tags: #enlightenment-git
Differential Revision: https://phab.enlightenment.org/D6315
2018-06-19 11:58:25 -04:00
Derek Foreman
687fd79d25
Fix recent typo in mirror object alpha setting
...
ref 6a04bfb0ff
2018-03-21 15:54:12 -05:00
Derek Foreman
bc3f3c16b7
Fix single frame broken render on wayland client opaque region change
...
Turns out this is called too late in the render pass and a single frame
can occur with the old border setting. This can lead to nasty flicker
artifacts.
2018-03-21 14:19:39 -05:00
Derek Foreman
6a04bfb0ff
Move alpha set for mirrors out of pixels_get callback
...
the pixels_get callback fires too late for this to work properly, so
set it in e_comp_object_dirty() instead.
2018-03-21 14:17:16 -05:00
Derek Foreman
0907d6c9d0
Remove useless pixels_dirty_set from mirror_pixels_get
...
This is implicit at the end of render.
2018-03-21 14:14:52 -05:00
Mike Blumenkrantz
c1cd24a561
process comp object hide/show signals immediately during intercept
...
for objects without animations, it's important to instantly perform
state transitions in order to preserve intended visibility behaviors of
these objects and avoid race conditions due to asynchronous signal
processing
fix T6722
2018-02-22 12:36:47 -05:00
Mike Blumenkrantz
e662727595
Revert "use wl client geometry when calculating input rect geometry"
...
This reverts commit aa404d3916
.
this seems to be an intermittent issue that should probably be fixed
elsewhere...
fix T6646
2018-01-29 12:38:05 -05:00
Mike Blumenkrantz
aa404d3916
use wl client geometry when calculating input rect geometry
...
the x/y values of a comp object are unreliable during init, so ensure
valid coords are used to avoid accidentally moving input rects offscreen
2018-01-25 14:19:19 -05:00
Amitesh Singh
4d340f2114
Revert "re-enable building against latest efl git"
...
This reverts commit a782beba82
.
the legacy API was missing. I added it in EFL now.
Refer 1264fb4af2 in EFL.
Fixes T6500
2017-12-13 13:45:35 +09:00
Chris Michael
a782beba82
re-enable building against latest efl git
...
In EFL git head, this function has changed to be just
evas_object_coords_inside_get. This patch wraps the two different
function names around an #ifdef so we can check EFL version that we
are building against and call the correct function accordingly.
Fixes T6500
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2017-12-12 10:19:37 -05:00
Mike Blumenkrantz
99db9e2557
more E_BITFIELD conversions
2017-11-08 09:22:24 -05:00
Mike Blumenkrantz
19a807bdb2
always emit E_EVENT_COMP_OBJECT_ADD events
...
fix T6322
2017-11-07 10:40:12 -05:00
Mike Blumenkrantz
f78eb3c108
requeue client for render if show animation completes and damages exist
...
attempt to catch clients which have a render queued prior to the image
becoming visible
2017-11-07 10:39:33 -05:00
Carsten Haitzler
147bc7a6da
e comp object - patch volume update case for propagating state signals
...
complete f161edc3f3
with missing update
case
@feature
2017-11-07 16:16:33 +09:00
Carsten Haitzler
f161edc3f3
comp object -> propgate signals to the volume objects from the frame
...
if frame changes (eg by focus signals) the volume object cant adapt.
send signals to it too so it can adapt if it wants to.
@feat
2017-11-07 15:41:35 +09:00
Mike Blumenkrantz
b3356a7e8f
do not unqueue render when deleting a client's render update
...
a render loop may run for reasons other than rendering a specific client
2017-10-20 13:40:20 -04:00
Mike Blumenkrantz
f20765df67
add render update when showing clients if damages exist
...
ensure that these clients render as expected
ref T5593
2017-10-13 09:46:19 -04:00
Mike Blumenkrantz
9983172f32
set comp object alpha state when applying native surface
...
ensure that alpha is set accurately for the native surface
2017-10-03 14:40:03 -04:00
Mike Blumenkrantz
2d2ad13537
add comp object function to get the content of a util_add object
2017-10-03 12:39:03 -04:00
Mike Blumenkrantz
80349d417d
Revert "do not perform client moves during comp updates"
...
This reverts commit def2b0c5fc
.
breaks some resize directions
2017-09-28 13:03:37 -04:00
Mike Blumenkrantz
576c8d0864
use client geometry for visibility effect geometry, not comp object geometry
...
clients may defer object geometry setting, resulting in unreliable values here
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
8d55575bcf
remove input-only client fastpath to resize crashes
...
ref T6023
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
def2b0c5fc
do not perform client moves during comp updates
...
this can trigger zone changes, which triggers resizes, which is bad
ref T6023
2017-09-26 12:26:18 -04:00
Mike Blumenkrantz
4f28e49f46
handle shade <-> unshade toggling in same frame
...
this should result in a no-op instead of a fail-op
fix T6006
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz
500b9a2eb2
use animator del function to delete comp object animators
2017-09-12 13:21:04 -04:00
Mike Blumenkrantz
e5dd1f12f3
set shaped client image alpha after setting image data
...
avoid triggering render sync with old image data
fix T5957
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
f8a599d525
avoid adding render updates on client resize while shading the client
...
this results in a blank render
fix T5929
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
1a651f23af
return during client pixel callback if pixmap is dirty and no updates exist
...
this probably indicates a client update is needed in order to complete the
render, so the existing data should be reused since nothing will render now
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
026ce1a43e
move pending client render queue in pixel callback to before render call
...
no functional changes
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
a76e9aa8fe
do not reset existing client damage on resize if tiler size matches pixmap size
...
this probably indicates a case where the client wasn't actually resized and the
compositor is doing something like shading a window
2017-09-01 13:40:11 -04:00
Mike Blumenkrantz
c7c4470ae0
force client render on mirror show for clients which have not yet been rendered
...
this is the same mechanism in e_comp_object_dirty() which applies now if a
mirror is created for a previously-dirty client
fix T5937
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
a188c4751c
Revert "handle updates_full when adding comp object update regions"
...
This reverts commit fac907e0c5
.
this was already handled and I'm dumb.
2017-08-25 14:47:10 -04:00
Mike Blumenkrantz
096f1084a5
always use client geometry for comp object centering functions
...
this should always be more accurate than the object geometry, which may
or may not have been applied at any given time
2017-08-21 10:16:35 -04:00
Mike Blumenkrantz
6ee841ecd5
use xwindow check to determine whether to check icccm accept/take focus attrs
2017-08-18 15:52:50 -04:00
Mike Blumenkrantz
65fe42fdef
avoid object hide animations during shutdown
2017-08-11 18:48:49 -04:00
Mike Blumenkrantz
a9f6017209
Revert "reset comp object update regions when a render occurs"
...
This reverts commit e6ab84ffd5
.
fix T5817
2017-08-03 11:39:02 -04:00
Mike Blumenkrantz
5702f0975e
reset comp object update regions when a render occurs
...
allow saving the current update regions in case evas decides not to render
this object
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz
fac907e0c5
handle updates_full when adding comp object update regions
...
this flag means that the entire surface should be redrawn
ref T5370
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz
ae748e6487
return updates_full state from e_comp_object_damage_exists()
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz
3bda41f895
reject invalid comp object resizes
...
interceptors are called before any of the normal evas object geometry
validations, so ensure that invalid sizes are not applied
2017-07-28 15:44:55 -04:00
Mike Blumenkrantz
4a766e9e2f
Revert "e comp - stop trying to set size again and again to the same"
...
This reverts commit 6e882d2e4f
.
this is identical to cd3490f35c
which was
also reverted.
2017-07-24 08:12:51 -04:00
Carsten Haitzler
6e882d2e4f
e comp - stop trying to set size again and again to the same
...
i found e spinning at 100% just with 1 windows in wayland... open 2
terminology wins and move mouse form one to the other... 100% cpu. e
was moving seemingly a cursor client window? to the same coord again
and again as it was hidden...
this fixes that. no more spinning cpu
2017-07-23 00:19:51 +09:00
Mike Blumenkrantz
e184ffd49f
do not use elm api to unset centered flag during resize
...
this triggers a full eval which resizes the window and breaks the compositor
2017-07-21 14:43:37 -04:00
Mike Blumenkrantz
4b4b003245
toggle NOGRAB on client input rects during move operations
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz
a1d62d01e8
handle multiple input regions for csd clients
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz
0912906ea1
Revert "handle multiple input regions for csd clients"
...
This reverts commit 950bee7ce4
.
accidentally pushed wrong ref, multiple incomplete broken commits were
merged
:(
fix T5739
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz
219b25aff4
Revert "toggle NOGRAB on client input rects during move operations"
...
This reverts commit 8af555cae0
.
2017-07-17 08:14:24 -04:00
Mike Blumenkrantz
8af555cae0
toggle NOGRAB on client input rects during move operations
2017-07-14 18:40:50 -04:00