Commit Graph

435 Commits

Author SHA1 Message Date
Marcel Hollerbach 85f08899ad MORE 2018-05-28 12:10:58 +02:00
Marcel Hollerbach 9d31a60a91 WIP 2018-05-28 11:49:05 +02: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
Mike Blumenkrantz 950bee7ce4 handle multiple input regions for csd clients 2017-07-14 18:40:50 -04:00