Commit Graph

21993 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7c6a712151 unset DISPLAY in mixer when performing pulseaudio operations under wl 2017-07-07 16:33:16 -04:00
Mike Blumenkrantz 889c8c3167 add "focus" mode for render debug 2017-07-07 16:33:04 -04:00
Derek Foreman 836a99619b 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-07 16:32:47 -04:00
Marcel Hollerbach 333298b5bd mixer: the name has to be a stringshare 2017-07-07 16:32:27 -04:00
Marcel Hollerbach d016800c51 emixer: use a better name for the sink inputs
it seems applications are using a higher quality name with the property
PA_PROP_APPLICATION_NAME.

ref T5664
2017-07-07 16:32:21 -04:00
Carsten Haitzler bd60a1ea0a e - fix entry wrapper - e entry was plain. elm is markup. do it properly
convert to/from utf8 plain/markup in e widget entry wrapper.... this
fixes broken results if you enter escapable text like " or < or > or &
... etc.

@fix
2017-07-07 16:32:14 -04:00
Mike Blumenkrantz e2ba10b7db only call old ecore_drm2 functions if built and run against < 1.20 efl 2017-06-30 15:41:55 -04:00
Mike Blumenkrantz 755f03fd65 simplify drm output update event by using randr screen refresh queuing
also moves all the output add/del into e_comp_wl
2017-06-30 15:41:45 -04:00
Mike Blumenkrantz d4f74e24d9 don't crash in randr module when using fake xinerama screens 2017-06-30 15:27:43 -04:00
Mike Blumenkrantz 53a4d264ed 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 15:27:32 -04:00
Mike Blumenkrantz 26e3b2204d only unredirect clients during comp update after 3 failures
tfw your conditional is backwards
2017-06-30 15:27:29 -04:00
Mike Blumenkrantz 56d9df831f don't call comp object cleanup functions for clients without comp objects 2017-06-30 15:27:19 -04:00
Mike Blumenkrantz b7c36b3b81 don't force shm for xwayland launch and enable gl
fix T5606
2017-06-30 15:27:10 -04:00
Mike Blumenkrantz 7789ed0087 don't run x11 focus (un)set callbacks for override clients
this is unnecessary in x11 and broken in xwayland
2017-06-30 15:27:07 -04:00
Mike Blumenkrantz 2e4207027d use xwayland check for clients when checking whether to reset focus to root
checking base pixmap returns false for xwayland clients
2017-06-30 15:27:03 -04:00
Mike Blumenkrantz 7295699c09 make e_comp_object_frame_allowed() return false for ignored clients 2017-06-30 15:26:50 -04:00
Mike Blumenkrantz afcb0e79a0 check exit status from auth subprocess
if the process doesn't exit then auth didn't succeed and this is a system issue

ref T5604
2017-06-30 15:26:32 -04:00
Mike Blumenkrantz c5f6bbafa5 multiply pointer axis values by 10 for wl clients
wayland clients expect this multiplier, so now scrolling speed should be
back to normal
2017-06-30 15:26:28 -04:00
Mike Blumenkrantz 6849ba1364 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 15:26:19 -04:00
Derek Foreman 53f10f0da9 Test dmabuf via native_surface_set even in software render
This is necessary to verify the the attributes struct is the same
version EFL can process, before we commit to displaying it.

@fix
2017-06-30 15:25:53 -04:00
Mike Blumenkrantz 47a09b739f block "user" client resizes during comp client updating phase
resizing objects triggers clip resizes and further event feeding which
can propagate mouse events such that clients try to resize themselves
during the update phase, resulting in illegal compositor behavior
2017-06-30 15:25:33 -04:00
Mike Blumenkrantz 79080cea2d use safe list iterating when clearing a gadget site during shutdown
demo gadgets are immediately removed when deleted, leading to list
corruption unless a safe iterator is used
2017-06-30 15:24:13 -04:00
Mike Blumenkrantz 679ab13c94 use seat0 as default seat name instead of default 2017-06-30 15:23:39 -04:00
Mike Blumenkrantz 5642ed47e8 update gadget position during a resize from top/left edge 2017-06-30 15:23:23 -04:00
Mike Blumenkrantz d3e4caa57d if gadget wizard returns a zero id, remove gadget from site and destroy 2017-06-30 15:23:08 -04:00
Mike Blumenkrantz bd89873d65 print object type if name is null during shape debug 2017-06-30 15:22:50 -04:00
Mike Blumenkrantz 93ae4e4dee set pass events on shape debug rects 2017-06-30 15:22:43 -04:00
Mike Blumenkrantz 96c3bd7c96 try only 1 reconnect to pulse when mixer fails to init
this causes huge lag on failure with no termination case. if it fails
on the reconnect attempt then odds are it's never going to succeed
2017-06-30 15:22:38 -04:00
Derek Foreman d6826b1c20 Initialize the Evas_Native_Surface to 0 for dmabuf tests
ref e6f17dee5d

Should probably clear this one too, though the recent native surface api
changes won't cause any breakage here, future ones might.
2017-06-30 15:22:29 -04:00
Derek Foreman 75b2cdfd65 Clear the native surface structure before initializing it
Since the native surface "API" is isomorphic with pain and suffering, we
should be extra careful when we touch it.
2017-06-30 15:22:07 -04:00
Mike Blumenkrantz 63caec26eb reject client mouse move if coords match previous position
ensure that random event feeds don't accidentally trigger unwanted
move/resize attempts which can break the compositor
2017-06-16 15:06:12 -04:00
Mike Blumenkrantz ef891ae105 use fake xinerama screens when initializing wl outputs
always ignore physical screens if fake ones are present
2017-06-16 15:05:22 -04:00
Mike Blumenkrantz 56437be3a0 hook client object unref callback to cleanup comp object internals
ensure cleanup occurs before client object is freed
2017-06-16 15:05:12 -04:00
Mike Blumenkrantz 8e9b530582 don't null pointer after deleting internal win during wl delete request
this is invalid during a logout
2017-06-16 15:05:05 -04:00
Mike Blumenkrantz de3bb9e7cf only remove left/right maximize when removing vertical if left/right is set
avoid accidentally removing horizontal maximizes
2017-06-16 15:04:55 -04:00
Mike Blumenkrantz 17d9379ba1 do not trigger events/bindings on zone object events with timestamp==0
these are internal event feeds and should not trigger additional actions
2017-06-09 20:28:00 -04:00
Mike Blumenkrantz 2393e6aeed delete client raise timer when beginning a move/resize operation
this breaks things in subtle ways
2017-06-09 20:27:51 -04:00
Mike Blumenkrantz ba9c8ab2c1 perform client raise before triggering move/resize BEGIN client hook
hooks may further modify stacking, so ensure any changes are done before
that point
2017-06-09 20:27:44 -04:00
Mike Blumenkrantz f97b157bca another fix for e_comp_wl->ptr.x/y coords being wl_fixed instead of ints
ref 2c7e91d38f
2017-06-09 20:26:06 -04:00
Derek Foreman f006caaee7 clean up some code
remove write-only variable in the pixmap struct
2017-06-09 20:25:47 -04:00
Derek Foreman 7396c05b52 Fix unused var compiler warning in wl_drm
Unused variable after my session activation cleanup
2017-06-09 20:25:40 -04:00
Derek Foreman 4088e035c6 Remove some duplicate operations
the native surface version was set outside of the switch statement,
so we don't need to re-set it to the same thing here.
2017-06-09 20:25:18 -04:00
Mike Blumenkrantz f41e5a9050 use FOREACH_SAFE when walking client list during logout
internal clients can be instantly destroyed and removed from the list
2017-06-09 20:25:11 -04:00
Derek Foreman db46a8557c Fix wl_drm session (de)activation callback
I missed this in my last commit - we probably shouldn't be calling
e_comp_render_queue or e_comp_shape_queue_block() after hiding the
ecore_evas anyway - and by removing the e_comp_shape_queue_block()
in the activation callback I made things asymmetrical.  Ungood.
2017-06-09 20:25:05 -04:00
Derek Foreman b8b5cb6d77 Fix wl_drm session activation callback
The code intended to force evas to redraw when we switch back from
another virtual console is failing to do so.  Remove it and replace
it with simpler code that successfully forces a redraw.
2017-06-09 20:25:04 -04:00
Derek Foreman f76fb2d558 Don't require dmabuf buffers to be writeable
Compositor doesn't need to write to this buffer, and most clients won't
allocate them in a way that the compositor can.  Relax the test criteria.
2017-06-09 20:24:53 -04:00
Mike Blumenkrantz 3593fe3856 do not perform zone updates on ignored clients during evas callbacks
ignored clients should not have a zone or a desk
2017-06-09 20:24:28 -04:00
Mike Blumenkrantz ecc5d49b9a 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-06-09 20:24:21 -04:00
Mike Blumenkrantz d4849f792f add error messages when symbols fail to resolve in xwl init
ref T5258
2017-06-09 20:24:11 -04:00
Mike Blumenkrantz 54a062b7bf don't dup fds during xwl bridged selection transfer, this happens in libwayland 2017-06-09 20:23:22 -04:00