discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5ffa2e79224b730034aa37b4bf0e6eaec3b703fc
commit 5ffa2e79224b730034aa37b4bf0e6eaec3b703fc Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Jul 7 16:26:50 2017 -0400 elm_cnp: mark x11 selection as lost when selection is lost in event do not pretend that a widget maintains the selection when notified that the selection has been lost @fix --- src/lib/elementary/elm_cnp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index 4ee9a74ba4..8ab3355e90 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -830,6 +830,7 @@ _x11_fixes_selection_notify(void *d EINA_UNUSED, int t EINA_UNUSED, void *event) Elm_Cnp_Event_Selection_Changed *e; Ecore_X_Event_Fixes_Selection_Notify *ev = event; Elm_Sel_Type type; + X11_Cnp_Selection *sel; switch (ev->selection) { @@ -841,6 +842,9 @@ _x11_fixes_selection_notify(void *d EINA_UNUSED, int t EINA_UNUSED, void *event) break; default: return ECORE_CALLBACK_RENEW; } + sel = _x11_selections + type; + if (sel->active && (sel->xwin != ev->owner)) + _x11_elm_object_cnp_selection_clear(sel->widget, type); e = calloc(1, sizeof(Elm_Cnp_Event_Selection_Changed)); EINA_SAFETY_ON_NULL_RETURN_VAL(e, ECORE_CALLBACK_RENEW); e->type = type; --