core: Add meta_close_dialog_focus() vmethod

This is used to request key focus on the close dialog whenever
a window that is frozen would receive key focus. Also, ensure
that the dialog gets focus when first shown if the window was
meant to receive input.

https://bugzilla.gnome.org/show_bug.cgi?id=762083
This commit is contained in:
Carlos Garnacho
2017-07-14 23:34:05 +02:00
parent 2d8d9dea97
commit 408292959e
4 changed files with 30 additions and 0 deletions

View File

@ -66,6 +66,11 @@ meta_window_set_alive (MetaWindow *window,
{
meta_window_ensure_close_dialog (window);
meta_close_dialog_show (window->close_dialog);
if (window->display &&
window->display->event_route == META_EVENT_ROUTE_NORMAL &&
window == window->display->focus_window)
meta_close_dialog_focus (window->close_dialog);
}
}