Merge pull request #2828 from RyanDwyer/fix-locked-map-crash

Fix crash when view maps while locked
master
emersion 6 years ago committed by GitHub
commit 782a835175
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -180,6 +180,10 @@ void arrange_workspace(struct sway_workspace *workspace) {
if (config->reloading) { if (config->reloading) {
return; return;
} }
if (!workspace->output) {
// Happens when there are no outputs connected
return;
}
struct sway_output *output = workspace->output; struct sway_output *output = workspace->output;
struct wlr_box *area = &output->usable_area; struct wlr_box *area = &output->usable_area;
wlr_log(WLR_DEBUG, "Usable area for ws: %dx%d@%d,%d", wlr_log(WLR_DEBUG, "Usable area for ws: %dx%d@%d,%d",

@ -504,7 +504,16 @@ static struct sway_workspace *select_workspace(struct sway_view *view) {
} }
// Use the focused workspace // Use the focused workspace
return seat_get_focused_workspace(seat); struct sway_node *node = seat_get_focus_inactive(seat, &root->node);
if (node && node->type == N_WORKSPACE) {
return node->sway_workspace;
} else if (node && node->type == N_CONTAINER) {
return node->sway_container->workspace;
}
// If there's no focus_inactive workspace then we must be running without
// any outputs connected
return root->saved_workspaces->items[0];
} }
static bool should_focus(struct sway_view *view) { static bool should_focus(struct sway_view *view) {

Loading…
Cancel
Save