bugfix: get right layout box for rendering views

master
Tony Crisci 7 years ago
parent 359bab38e2
commit b88f06e70a

@ -51,7 +51,7 @@ static void render_surface(struct wlr_surface *surface,
// FIXME: view coords are inconsistently assumed to be in output or layout coords // FIXME: view coords are inconsistently assumed to be in output or layout coords
struct wlr_box layout_box = { struct wlr_box layout_box = {
.x = lx + owidth, .y = ly + oheight, .x = lx + wlr_output->lx, .y = ly + wlr_output->ly,
.width = render_width, .height = render_height, .width = render_width, .height = render_height,
}; };
if (wlr_output_layout_intersects(layout, wlr_output, &layout_box)) { if (wlr_output_layout_intersects(layout, wlr_output, &layout_box)) {

@ -531,7 +531,10 @@ static swayc_t *get_swayc_in_direction_under(swayc_t *container,
return wrap_candidate; return wrap_candidate;
} }
swayc_t *next = get_swayc_in_output_direction(adjacent, dir, seat); swayc_t *next = get_swayc_in_output_direction(adjacent, dir, seat);
if (next->children->length) { if (next == NULL) {
return NULL;
}
if (next->children && next->children->length) {
// TODO consider floating children as well // TODO consider floating children as well
return sway_seat_get_focus_inactive(seat, next); return sway_seat_get_focus_inactive(seat, next);
} else { } else {

Loading…
Cancel
Save