// Make wind the front window void window_select(window &wind) { window *prev = window_get_front(); d_event event; if (&wind == FrontWindow) return; if (&wind == FirstWindow && wind.next) FirstWindow = FirstWindow->next; if (wind.next) wind.next->prev = wind.prev; if (wind.prev) wind.prev->next = wind.next; wind.prev = FrontWindow; FrontWindow->next = &wind; wind.next = nullptr; FrontWindow = &wind; if (wind.is_visible()) { if (prev) WINDOW_SEND_EVENT(prev, EVENT_WINDOW_DEACTIVATED); WINDOW_SEND_EVENT(&wind, EVENT_WINDOW_ACTIVATED); } }