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)
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