discomfitor pushed a commit to branch enlightenment-0.20. http://git.enlightenment.org/core/enlightenment.git/commit/?id=3829f2c10cad1a2b1254dcdabd6b3cf0a533afff
commit 3829f2c10cad1a2b1254dcdabd6b3cf0a533afff Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Sat Mar 12 15:43:39 2016 -0500 add workaround for xwayland client bug sighhhhhhhhhhhhhhhhh --- src/bin/e_comp_x.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c index 9076866..c2f8bc0 100644 --- a/src/bin/e_comp_x.c +++ b/src/bin/e_comp_x.c @@ -2175,7 +2175,21 @@ _e_comp_x_message(void *data EINA_UNUSED, int type EINA_UNUSED, Ecore_X_Event_Cl if (res) wc = wl_resource_get_user_data(res); if (wc) - e_comp_x_xwayland_client_setup(ec, wc); + { + if (wc->internal) + { + e_object_del(E_OBJECT(wc)); + e_object_del(E_OBJECT(ec)); + /* this is an xwayland bug. somehow the wrong surface is being passed + * and it's an internal surface--internal surfaces are NEVER + * xwayland clients. + * + * ever. + */ + return ECORE_CALLBACK_RENEW; + } + e_comp_x_xwayland_client_setup(ec, wc); + } else { ec->comp_data->surface_id = ev->data.l[0]; --