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
Mike Blumenkrantz
b008dce0a0
add "focus" mode for render debug
2017-07-07 16:26:28 -04:00
Derek Foreman
c0751ef3eb
Make wayland clients render when only visible from mirrors
...
Under some circumstances we can defer frame callbacks forever for clients
that are only visible on desk mirrors.
I'm not certain those circumstances should actually occur (Ref T5678) but
at least for now this is a trivial and harmless workaround.
Fix T5654
2017-07-06 15:40:59 -05:00
Mike Blumenkrantz
789eccf12f
try redirecting failed clients again during resize
...
it seems like this is a good place to try, and this seems to resolve
some render updating issues on restart, such as with maximized chrome
windows
ref T5599
2017-06-30 10:25:18 -04:00
Mike Blumenkrantz
b183e001a1
make e_comp_object_frame_allowed() return false for ignored clients
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
4f77573e6c
perform move after resize during comp object show
...
in the case where an object is being shown before it has been moved or
resized, a move operation will trigger a series of callbacks which force the
compositor to attempt an illegal operation (recursive show before resize)
fix T5521
2017-06-30 10:25:17 -04:00
Mike Blumenkrantz
0a67a96df3
Revert "block client mouse move calls from comp object during move/resize"
...
This reverts commit 4464c681fd
.
on the right track but not 100%...
2017-06-24 12:10:43 -04:00
Mike Blumenkrantz
4464c681fd
block client mouse move calls from comp object during move/resize
...
this is now handled by the event grabber. many callbacks on this
object are due to clip changes instead of genuine mouse movements,
meaning that processing events can lead to further resizes during a
render cycle
2017-06-24 11:57:15 -04:00
Carsten Haitzler
3e3b48478b
Revert "e comp object - stop being cricical where pixmap and win size dont match"
...
This reverts commit e288852393
.
Mike likes e to crash. :)
2017-06-22 09:23:14 +09:00
Carsten Haitzler
e288852393
e comp object - stop being cricical where pixmap and win size dont match
...
now i resize some windows and am in a white box of death each time...
this is really unfriendly... so downgrade to an err ad this is a
recoverable error.
2017-06-21 11:31:24 +09:00
Mike Blumenkrantz
bc175b0d7b
send version edje signal to ssd theme
...
allow enabling new theme features based on version
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
9f5a07d788
hook client object unref callback to cleanup comp object internals
...
ensure cleanup occurs before client object is freed
2017-06-16 15:00:12 -04:00
Mike Blumenkrantz
7d39be8c4a
send nograb signal to ssd theme on creation
...
disable pointer grabs on ssd borders
edge bindings can now be triggered during window drags
fix T5552
2017-06-09 20:18:14 -04:00
Mike Blumenkrantz
c6a0abc763
force client pixmap refresh immediately during resize if nocomp is active
...
in the case where this path was reached during x11 nocomp, the client's pixmap
refresh would be deferred until the end of nocomp, even when the refresh would
otherwise end the nocomp. instead, force the refresh immediately.
fix T4887
2017-05-24 10:10:07 -04:00
Mike Blumenkrantz
effbb81722
remove check for desklock in comp object autoclose handler
2017-05-12 12:08:37 -04:00
Mike Blumenkrantz
de0b9edee0
better handling for iconify during comp object show/hide
...
in the case where effects are disabled, no animation is started for iconify
operations, so this should fall through to the normal hide/show paths
ref T5444
2017-05-01 13:26:11 -04:00
Mike Blumenkrantz
7172239c0c
make RENDER_DEBUG activate with E_RENDER_DEBUG env var
...
this is useful for debugging and the option to recompile is not always
available
2017-04-14 11:48:43 -04:00
Mike Blumenkrantz
1a8207ce70
support clients as positioner objects in e_comp_object_util_center_on()
2017-04-07 16:08:37 -04:00
Mike Blumenkrantz
ef3260a799
only center internal windows once
...
these shouldn't re-center on every resize
2017-03-24 13:17:24 -04:00
Mike Blumenkrantz
e1ed56c327
account for late object setup when adding ssd mouse in/out callbacks
...
internal windows have a different setup order in which the frame is created
before any of the other internal objects in a comp object
2017-03-17 18:47:09 -04:00
Mike Blumenkrantz
7f142f31f5
use even more accurate wl callbacks for detecting ssd mouse in/out events
...
ensure that any wl client with ssd hits the ssd mouse eventing path
2017-03-17 15:08:38 -04:00
Mike Blumenkrantz
89ea040222
only re-set comp object position during show if client has been placed
...
avoid accidentally placing an unplaced client
2017-03-17 13:16:59 -04:00
Mike Blumenkrantz
fece2ab5bf
return during comp object pixels function if client was deleted during render
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
f2c1976e9a
do not force comp objects to render for their proxies if real_hid is set
...
this flag indicates that the object cannot be rendered
2017-03-10 15:55:06 -05:00
Mike Blumenkrantz
e3a5ab1457
Revert "e - wl mode - stop consuming 100 percent cpu"
...
This reverts commit cd3490f35c
.
this breaks many windows by preventing deferred resizing from occurring.
a window which is unable to resize at the time of this call must be queued
for a deferred resize, otherwise it may never resize at all and thus will
never be rendered
test case: screenshot dialog
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
e618e00297
better protect comp object internals from dereferencing freed clients
...
animating comp objects persist after the lifetime of their client, so
ensure that functions which are likely to be called after the client's free
will not attempt to access client struct members
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
54dfcea3e0
comment out inlist member of E_Comp_Object struct
...
this was unused
2017-03-03 10:49:33 -05:00
Mike Blumenkrantz
e56f689fad
show already-visible comp util objects when changing frame type
...
ensure internal clipper state matches object visibility state
2017-02-24 14:15:38 -05:00