- if (focus_cycle_target)
- focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, TRUE);
-}
-
-static void focus_cycle_destroy_notify(ObClient *client, gpointer data)
-{
- /* end cycling if the target disappears. CurrentTime is fine, time won't
- be used
- */
- if (focus_cycle_target == client)
+ /* stop focus cycling if the given client is a valid focus target,
+ and so the cycling is being disrupted */
+ if (focus_cycle_target && ifclient &&
+ focus_cycle_target_valid(ifclient,
+ focus_cycle_iconic_windows,
+ focus_cycle_all_desktops,
+ focus_cycle_dock_windows,
+ focus_cycle_desktop_windows))
+ {