From 318528e3fcc472e8ee1d39cda56bbe86d5b3f720 Mon Sep 17 00:00:00 2001 From: Orestis Floros Date: Sun, 16 Dec 2018 03:27:09 +0200 Subject: [PATCH] Fix: render_con shows floating containers on wrong workspace After 204eefc. Alternative fix: diff --git a/src/floating.c b/src/floating.c index f5c61782..6dd79668 100644 --- a/src/floating.c +++ b/src/floating.c @@ -954,7 +954,7 @@ bool floating_reposition(Con *con, Rect newrect) { con->scratchpad_state = SCRATCHPAD_CHANGED; /* Workspace change will already result in a tree_render. */ - if (!reassigned) { + if (!reassigned && workspace_is_visible(con_get_workspace(con))) { render_con(con); x_push_node(con); } but I don't think that the extra complexity is worth it. Change in handlers.c because of d2d6d6e0 where the bug also appears. Fixes #3567 --- src/floating.c | 3 +-- src/handlers.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/floating.c b/src/floating.c index f5c61782..79f1d3d3 100644 --- a/src/floating.c +++ b/src/floating.c @@ -955,8 +955,7 @@ bool floating_reposition(Con *con, Rect newrect) { /* Workspace change will already result in a tree_render. */ if (!reassigned) { - render_con(con); - x_push_node(con); + tree_render(); } return true; } diff --git a/src/handlers.c b/src/handlers.c index 5a79ffe1..ae42b82e 100644 --- a/src/handlers.c +++ b/src/handlers.c @@ -981,8 +981,7 @@ static bool handle_normal_hints(void *data, xcb_connection_t *conn, uint8_t stat Con *floating = con_inside_floating(con); if (floating) { floating_check_size(con, false); - render_con(con); - x_push_changes(croot); + tree_render(); } }