Screen reader optimizations
authorTomasz Olszak <t.olszak@samsung.com>
Thu, 2 Jul 2015 16:25:54 +0000 (18:25 +0200)
committerTomasz Olszak <t.olszak@samsung.com>
Thu, 2 Jul 2015 16:25:54 +0000 (18:25 +0200)
Removed redundant callback call and added check preventing
excessive calls on duplicated events.

Change-Id: I8b23b887cf7863a085fed7b1c447255feb581e32
Signed-off-by: Tomasz Olszak <t.olszak@samsung.com>
src/app_tracker.c
src/window_tracker.c

index 19ec148..a460cdd 100644 (file)
@@ -93,8 +93,6 @@ _on_atspi_event_cb(const AtspiEvent *event)
             {
                if (std->timer)
                   g_source_remove(std->timer);
-               else
-                  _subtree_callbacks_call(std);
 
                std->timer = g_timeout_add(APP_TRACKER_INVACTIVITY_TIMEOUT, _on_timeout_cb, std);
             }
index 5b532da..eae96e6 100644 (file)
@@ -53,9 +53,11 @@ _on_atspi_window_cb(const AtspiEvent *event)
 {
    ERROR("Event: %s: %s", event->type, atspi_accessible_get_name(event->source, NULL));
 
-   if (!strcmp(event->type, "window:restore") ||
-         !strcmp(event->type, "window:activate"))
+   if ((!strcmp(event->type, "window:restore") ||
+         !strcmp(event->type, "window:activate")) &&
+         last_active_win != event->source) //if we got activate 2 times
       {
+
          if (user_cb) user_cb(user_data, event->source);
          last_active_win = event->source;
       }