Commit Graph

22200 Commits

Author SHA1 Message Date
Mike Blumenkrantz 7e46b933ea move gadget del callbacks to AFTER priority
ensure gadget internals have longer lifetime than external callbacks on
gadget objects

ref 27091c510c

fix T5601, T5693
2017-07-28 16:05:07 -04:00
Mike Blumenkrantz 0281f617ff unset gadget site's layout pointer after destroying gadgets
ensure this persists through gadget del callbacks

ref T5693
2017-07-28 15:58:32 -04:00
Derek Foreman 7ce0a22729 Fix xwayland selection crash
When creating the data manager source, passing an id of 1 overwrites
the wl_display's id in the map, causing crashes the next time the
client tries to interact with that object.  The client in this case
is Xwayland.  Bad things happen.

Instead pass 0 which just chooses an available map slot.

Fix T5738
2017-07-28 15:58:28 -04:00
Jean-Philippe Andre 457843b005 pulse: do not leak strbuf
See also ac92ff5256.
- eina_strbuf_string_get() returns the internally stored string as
  a const char *, and does not free the strbuf itself
- eina_strbuf_string_steal() returns the internal string as a
  char *, giving ownership to the caller, and frees the strbuf
  itself
- eina_stringshare_add() takes a const char * as input and makes a
  copy of the string

As a consequence, ss_add(sb_string_steal()) leaks the internal
string from the strbuf, while ss_add(sb_string_get()) leaks the
strbuf structure.

A one liner here would require either an eina_slstr based API or
an API in stringshare to take ownership of a given string. Both
would be useful APIs :)
2017-07-28 15:57:57 -04:00
Marcel Hollerbach 1b49006b52 mixer: do not leak a allocated string
this fixes a leak, thank you jp!

@fix
2017-07-28 15:57:48 -04:00
Amitesh Singh 3bec9c1343 e widget entry: fix the compilation warning
src/bin/e_widget_entry.c:269:16: warning:
unused variable ‘text’ [-Wunused-variable]
2017-07-28 15:57:25 -04:00
Mike Blumenkrantz 52e59069df use kbd focus resource's client instead of "focused" client in data device 2017-07-28 15:57:11 -04:00
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