last_active_win = event->source;
}
}
- else if (!strcmp(event->type, "window:deactivate"))
+ else if (!strcmp(event->type, "window:deactivate") ||
+ !strcmp(event->type, "window:destroy"))
{
if ((last_active_win == event->source) &&
user_cb)
atspi_event_listener_register(listener, "window:activate", NULL);
atspi_event_listener_register(listener, "window:deactivate", NULL);
atspi_event_listener_register(listener, "window:restore", NULL);
+ atspi_event_listener_register(listener, "window:destroy", NULL);
}
void window_tracker_shutdown(void)
-{
+{
atspi_event_listener_deregister(listener, "window:activate", NULL);
atspi_event_listener_deregister(listener, "window:deactivate", NULL);
atspi_event_listener_deregister(listener, "window:restore", NULL);
+ atspi_event_listener_deregister(listener, "window:destroy", NULL);
g_object_unref(listener);
listener = NULL;
user_cb = NULL;