diff --git a/src/desktop.c b/src/desktop.c index 7376555e..1b34e983 100644 --- a/src/desktop.c +++ b/src/desktop.c @@ -38,14 +38,16 @@ void desktop_focus_view(struct view *view, bool raise) { assert(view); + if (!view_isfocusable(view)) { + return; + } + /* * Guard against views with no mapped surfaces when handling * 'request_activate' and 'request_minimize'. - * See notes by view_isfocusable() + * view_isfocusable() should return false for those views. */ - if (!view->surface) { - return; - } + assert(view->surface); struct server *server = view->server; if (input_inhibit_blocks_surface(&server->seat, view->surface->resource) @@ -62,9 +64,11 @@ desktop_focus_view(struct view *view, bool raise) return; } - if (!view->mapped) { - return; - } + /* + * view_isfocusable() should return false for any views that are + * neither mapped nor minimized. + */ + assert(view->mapped); /* * Switch workspace if necessary to make the view visible