reject focus-set attempt if desk flip to client's desk was rejected
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 21 Aug 2015 19:46:13 +0000 (15:46 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 21 Aug 2015 19:46:13 +0000 (15:46 -0400)
in the case of recursive desk flips, toggling a desk's visibility may
erroneously send queued evas events to the client's frame object, leading
to a focus-set (mouse-based focus models) which triggers a desk flip
inside the original desk flip. this "inner" desk flip is spurious and
should be ignored

src/bin/e_comp_object.c

index 8dacc20..1bf7a28 100644 (file)
@@ -1562,6 +1562,7 @@ _e_comp_intercept_focus(void *data, Evas_Object *obj, Eina_Bool focus)
           {
              if (ec->desk->animate_count) return;
              e_desk_show(ec->desk);
+             if (!ec->desk->visible) return;
           }
      }