sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit 16ddd00102c7713b7d1c404393768eb06c829751
parent d3d7956576341bbbfb60d045175b0e8a44752e0b
Author: Rouven Czerwinski <rouven@czerwinskis.de>
Date:   Fri, 22 Feb 2019 06:42:40 +0100

commands/move: reintroduce wrongly removed NULL check

Commit d3d7956576341bbbfb60d045175b0e8a44752e0b removed this NULL check, which
leads to the following backtrace:

  #0  0x0000557bd201df46 in node_is_view (node=0x0) at ../sway/sway/tree/node.c:41
  #1  0x0000557bd1ff5d4e in seat_get_focus_inactive (seat=0x557bd3fc7580, node=0x0) at ../sway/sway/input/seat.c:968
          current = 0x557bd2033485
  #2  0x0000557bd2009f24 in cmd_move_container (argc=3, argv=0x557bd46b19c0) at ../sway/sway/commands/move.c:557
          new_output_last_focus = 0x0
          error = 0x0
          node = 0x557bd469f360
          workspace = 0x557bd4572ee0
          container = 0x557bd469f360
          no_auto_back_and_forth = false
          seat = 0x557bd3fc7580
          old_parent = 0x0
          old_ws = 0x557bd4572ee0
          old_output = 0x557bd411f740
          destination = 0x557bd46a0cc0
          new_output = 0x557bd411f740
          new_output_last_ws = 0x0
          focus = 0x557bd469f360
          __PRETTY_FUNCTION__ = "cmd_move_container"
          new_workspace = 0x557bd4572ee0
  […]

Reintroduce the NULL check to fix the bug.

Fixes #3746

Diffstat:
Msway/commands/move.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sway/commands/move.c b/sway/commands/move.c @@ -552,7 +552,7 @@ static struct cmd_results *cmd_move_container(int argc, char **argv) { return cmd_results_new(CMD_FAILURE, "Expected output to have a workspace"); } - if (new_output_last_ws != new_workspace) { + if (new_output_last_ws && new_output_last_ws != new_workspace) { struct sway_node *new_output_last_focus = seat_get_focus_inactive(seat, &new_output_last_ws->node); seat_set_raw_focus(seat, new_output_last_focus);