mirror of
https://github.com/swaywm/sway.git
synced 2025-11-05 13:29:51 -05:00
Handle seat_get_focused_workspace returning NULL
This modifiers the callers of seat_get_focused_workspace to handle getting NULL as the return value, if they did not already.
This commit is contained in:
parent
a280facd5f
commit
3330faded5
6 changed files with 27 additions and 7 deletions
|
|
@ -208,6 +208,11 @@ static struct cmd_results *focus_output(struct sway_seat *seat,
|
|||
"There is no output with that name");
|
||||
}
|
||||
struct sway_workspace *ws = seat_get_focused_workspace(seat);
|
||||
if (!ws) {
|
||||
free(identifier);
|
||||
return cmd_results_new(CMD_FAILURE,
|
||||
"No focused workspace to base directions off of");
|
||||
}
|
||||
output = output_get_in_direction(ws->output, direction);
|
||||
|
||||
if (!output) {
|
||||
|
|
|
|||
|
|
@ -12,6 +12,11 @@ static void scratchpad_toggle_auto(void) {
|
|||
struct sway_seat *seat = input_manager_current_seat();
|
||||
struct sway_container *focus = seat_get_focused_container(seat);
|
||||
struct sway_workspace *ws = seat_get_focused_workspace(seat);
|
||||
if (!ws) {
|
||||
sway_log(SWAY_DEBUG,
|
||||
"No focused workspace to toggle scratchpad windows on");
|
||||
return;
|
||||
}
|
||||
|
||||
// If the focus is in a floating split container,
|
||||
// operate on the split container instead of the child.
|
||||
|
|
|
|||
|
|
@ -185,8 +185,7 @@ struct cmd_results *cmd_workspace(int argc, char **argv) {
|
|||
struct sway_seat *seat = config->handler_context.seat;
|
||||
struct sway_workspace *current = seat_get_focused_workspace(seat);
|
||||
if (!current) {
|
||||
return cmd_results_new(CMD_FAILURE, "workspace",
|
||||
"No workspace to switch from");
|
||||
return cmd_results_new(CMD_FAILURE, "No workspace to switch from");
|
||||
}
|
||||
|
||||
struct sway_workspace *ws = NULL;
|
||||
|
|
@ -227,6 +226,9 @@ struct cmd_results *cmd_workspace(int argc, char **argv) {
|
|||
}
|
||||
free(name);
|
||||
}
|
||||
if (!ws) {
|
||||
return cmd_results_new(CMD_FAILURE, "No workspace to switch to");
|
||||
}
|
||||
workspace_switch(ws, no_auto_back_and_forth);
|
||||
seat_consider_warp_to_focus(seat);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue