summaryrefslogtreecommitdiff
path: root/src/lib/efl_wl
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-07-28 15:44:43 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-07-28 15:40:47 -0400
commitb32ae04306fa31a28f4d09b57d9f21e5403188cb (patch)
tree9655d8e0a02f1a99b52705b3f7ee9d912e8fdac6 /src/lib/efl_wl
parentef03ecd89ca8206b61e028752ac567036c1150cf (diff)
efl-wl: use correct window when requesting x11 clipboard selection
Diffstat (limited to '')
-rw-r--r--src/lib/efl_wl/x11.x21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/lib/efl_wl/x11.x b/src/lib/efl_wl/x11.x
index cc567990ba..bebd017519 100644
--- a/src/lib/efl_wl/x11.x
+++ b/src/lib/efl_wl/x11.x
@@ -145,8 +145,25 @@ x11_fixes_selection_notify(void *d EINA_UNUSED, int t EINA_UNUSED, Ecore_X_Event
145 } 145 }
146 if (ev->owner) 146 if (ev->owner)
147 { 147 {
148 xconvertselection(ecore_x_display_get(), ECORE_X_ATOM_SELECTION_CLIPBOARD, 148 EINA_LIST_FOREACH(comps, l, c)
149 ECORE_X_ATOM_SELECTION_TARGETS, comp_dnd_atom, ev->win, 0); 149 {
150 win = ecore_evas_window_get(ecore_evas_ecore_evas_get(c->evas));
151 if (l != comps)
152 {
153 Eina_List *ll;
154 Comp *c2;
155 Ecore_X_Window win2 = 0;
156 EINA_LIST_FOREACH(comps, ll, c2)
157 {
158 win2 = ecore_evas_window_get(ecore_evas_ecore_evas_get(c->evas));
159 if (win == win2) break;
160 if (l == ll) break;
161 }
162 if ((win == win2) && (l != ll)) continue;
163 }
164 xconvertselection(ecore_x_display_get(), ECORE_X_ATOM_SELECTION_CLIPBOARD,
165 ECORE_X_ATOM_SELECTION_TARGETS, comp_dnd_atom, win, 0);
166 }
150 } 167 }
151 } 168 }
152 return ECORE_CALLBACK_RENEW; 169 return ECORE_CALLBACK_RENEW;