diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-13 22:38:30 -0500 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-02-14 14:07:13 +0100 |
commit | e8c472aee95ce1cbb6feef04d970327d1717d7fc (patch) | |
tree | edee4245963c7a56aec24ee35197d96e59c95cd5 /sway | |
parent | seat: allow tree focus changes while layer focused (diff) | |
download | sway-e8c472aee95ce1cbb6feef04d970327d1717d7fc.tar.gz sway-e8c472aee95ce1cbb6feef04d970327d1717d7fc.tar.zst sway-e8c472aee95ce1cbb6feef04d970327d1717d7fc.zip |
seatop_move_tiling: do not move to descendant
In seatop_move_tiling, it is possible to cause a stack overflow by
dragging a container into one of its descendants. This disables the
ability to move into a descendant.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/input/seatop_move_tiling.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sway/input/seatop_move_tiling.c b/sway/input/seatop_move_tiling.c index 422a4aa2..1e548f5a 100644 --- a/sway/input/seatop_move_tiling.c +++ b/sway/input/seatop_move_tiling.c | |||
@@ -164,7 +164,8 @@ static void handle_motion_postthreshold(struct sway_seat *seat) { | |||
164 | 164 | ||
165 | // Use the hovered view - but we must be over the actual surface | 165 | // Use the hovered view - but we must be over the actual surface |
166 | con = node->sway_container; | 166 | con = node->sway_container; |
167 | if (!con->view->surface || node == &e->con->node) { | 167 | if (!con->view->surface || node == &e->con->node |
168 | || node_has_ancestor(node, &e->con->node)) { | ||
168 | e->target_node = NULL; | 169 | e->target_node = NULL; |
169 | e->target_edge = WLR_EDGE_NONE; | 170 | e->target_edge = WLR_EDGE_NONE; |
170 | return; | 171 | return; |