> - policy->advise_state_change(window_info, value);
> - window_info.state(value);
> - mir_surface->hide();
> - mir_surface->configure(mir_surface_attrib_state, value);
> - if (window_info.window() == active_window())
> - {
> - mru_active_windows.erase(window_info.window());
> -
> - // Try to activate to recently active window of any application
> - mru_active_windows.enumerate([&](Window& window)
> - {
> - auto const w = window;
> - return !(select_active_window(w));
> - });
> - }
> - return;
>
> I wasn't expecting this to vanish in this MP. Is it dead code?
Neither.
+ if (window == active_window())
+ {
+ // Try to activate to recently active window of any application
+ mru_active_windows.enumerate([&](Window& candidate)
+ {
+ if (candidate == window)
+ return true;
+ auto const w = candidate;
+ return !(select_active_window(w));
+ });
+ }
> - policy- >advise_ state_change( window_ info, value); info.state( value); >hide() ; >configure( mir_surface_ attrib_ state, value); info.window( ) == active_window()) windows. erase(window_ info.window( )); windows. enumerate( [&](Window& window) active_ window( w));
> - window_
> - mir_surface-
> - mir_surface-
> - if (window_
> - {
> - mru_active_
> -
> - // Try to activate to recently active window of any application
> - mru_active_
> - {
> - auto const w = window;
> - return !(select_
> - });
> - }
> - return;
>
> I wasn't expecting this to vanish in this MP. Is it dead code?
Neither.
+ if (window == active_window()) windows. enumerate( [&](Window& candidate) active_ window( w));
+ {
+ // Try to activate to recently active window of any application
+ mru_active_
+ {
+ if (candidate == window)
+ return true;
+ auto const w = candidate;
+ return !(select_
+ });
+ }
Plus some duplicated code consolidated.