From d25e2ce2c408d7cde60f05ffd8f771f679c39579 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 13 Jun 2013 08:13:11 +0100 Subject: [PATCH] add extra check to systray on selection clear event to avoid race condition when refreshing shelf gadgets --- src/modules/systray/e_mod_xembed.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/systray/e_mod_xembed.c b/src/modules/systray/e_mod_xembed.c index b7e06c322..f52b478bd 100644 --- a/src/modules/systray/e_mod_xembed.c +++ b/src/modules/systray/e_mod_xembed.c @@ -719,8 +719,9 @@ _systray_xembed_cb_selection_clear(void *data, int type __UNUSED__, void *event) Instance_Xembed *xembed = data; int manager = systray_manager_number_get(xembed->inst); - if ((ev->win == xembed->win.selection) && (xembed->win.selection != 0) && - (ev->atom == _systray_xembed_atom_st_get(manager))) + if ((ev->win == xembed->win.selection) && (xembed->win.selection) && + (ev->atom == _systray_xembed_atom_st_get(manager)) && + (ecore_x_selection_owner_get(ev->atom) != xembed->win.selection)) { systray_edje_emit(xembed->inst, _sig_disable);