]> git.sur5r.net Git - i3/i3/commitdiff
Fix: render_con shows floating containers on wrong workspace 3568/head
authorOrestis Floros <orestisf1993@gmail.com>
Sun, 16 Dec 2018 01:27:09 +0000 (03:27 +0200)
committerOrestis Floros <orestisf1993@gmail.com>
Sun, 16 Dec 2018 01:49:21 +0000 (03:49 +0200)
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
src/handlers.c

index f5c61782ae7b6bd2585d750120d010c3694576cb..79f1d3d311f223f9989089cb29c8b0dc9cbdb5bf 100644 (file)
@@ -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;
 }
index 5a79ffe174e6c025b35c09cfb85a1238ba23ea33..ae42b82e546142b84440ffbee9bb6ccf46e32d86 100644 (file)
@@ -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();
         }
     }