Fix floating views not receiving frame events

That happened when they were in tabbed or stacked containers.

Fixes #2161
This commit is contained in:
emersion 2018-06-29 23:07:59 +01:00
parent d3ea07f828
commit 4de28bba68
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48

View File

@ -948,7 +948,7 @@ bool view_is_visible(struct sway_view *view) {
// Check view isn't in a tabbed or stacked container on an inactive tab // Check view isn't in a tabbed or stacked container on an inactive tab
struct sway_seat *seat = input_manager_current_seat(input_manager); struct sway_seat *seat = input_manager_current_seat(input_manager);
struct sway_container *container = view->swayc; struct sway_container *container = view->swayc;
while (container->type != C_WORKSPACE) { while (container->type != C_WORKSPACE && container->layout != L_FLOATING) {
if (container->parent->layout == L_TABBED || if (container->parent->layout == L_TABBED ||
container->parent->layout == L_STACKED) { container->parent->layout == L_STACKED) {
if (seat_get_active_child(seat, container->parent) != container) { if (seat_get_active_child(seat, container->parent) != container) {