discomfitor pushed a commit to branch master.

commit 43c540a4f1c9e3ddf00c6af49fee09d8a9b95efd
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed May 8 13:43:19 2013 +0100

    block mouse focus events if desk animation is running
---
 src/bin/e_border.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_border.c b/src/bin/e_border.c
index e5aaa7a..ee1c140 100644
--- a/src/bin/e_border.c
+++ b/src/bin/e_border.c
@@ -6360,6 +6360,7 @@ _e_border_cb_mouse_in(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UNU
    if ((bd == focused) || (bd == focusing)) return;
    if (focus_locked && (bd != warp_timer_border)) return;
    if (e_object_is_del(E_OBJECT(bd))) return;
+   if (bd->desk && bd->desk->animate_count) return;
    if (!bd->iconic)
      e_focus_event_mouse_in(bd);
    bd->mouse.current.mx = ev->output.x;
@@ -6379,6 +6380,7 @@ _e_border_cb_mouse_x_in(void *data EINA_UNUSED, int t 
EINA_UNUSED, Ecore_X_Event
    if ((bd == focused) || (bd == focusing)) return ECORE_CALLBACK_RENEW;
    if (focus_locked && (bd != warp_timer_border)) return ECORE_CALLBACK_RENEW;
    if (e_object_is_del(E_OBJECT(bd))) return ECORE_CALLBACK_RENEW;
+   if (bd->desk && bd->desk->animate_count) return ECORE_CALLBACK_RENEW;
    if (!bd->iconic)
      e_focus_event_mouse_in(bd);
    bd->mouse.current.mx = ev->root.x;
@@ -6396,6 +6398,7 @@ _e_border_cb_mouse_out(void *data, Evas *e EINA_UNUSED, 
Evas_Object *obj EINA_UN
    if (bd->fullscreen) return;
    if ((bd != focused) && (bd == focusing)) return;
    if (e_object_is_del(E_OBJECT(bd))) return;
+   if (bd->desk && bd->desk->animate_count) return;
    if (!bd->input_object)
      if (E_INSIDE(ev->output.x, ev->output.y, bd->x, bd->y, bd->w, bd->h)) 
return;
    if (!bd->iconic)
@@ -6416,8 +6419,8 @@ _e_border_cb_mouse_x_out(void *data EINA_UNUSED, int t 
EINA_UNUSED, Ecore_X_Even
    if (bd->fullscreen) return ECORE_CALLBACK_RENEW;
    if ((bd != focused) && (bd == focusing)) return ECORE_CALLBACK_RENEW;
    if (e_object_is_del(E_OBJECT(bd))) return ECORE_CALLBACK_RENEW;
+   if (bd->desk && bd->desk->animate_count) return ECORE_CALLBACK_RENEW;
    if (E_INSIDE(ev->root.x, ev->root.y, bd->x, bd->y, bd->w, bd->h)) return 
ECORE_CALLBACK_RENEW;
-
    if ((ev->mode == ECORE_X_EVENT_MODE_UNGRAB) &&
        (ev->detail == ECORE_X_EVENT_DETAIL_INFERIOR))
      return ECORE_CALLBACK_PASS_ON;

-- 

------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and 
their applications. This 200-page book is written by three acclaimed 
leaders in the field. The early access version is available now. 
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may

Reply via email to