]> git.sur5r.net Git - i3/i3/commitdiff
Check if output is disabled in handle_output() 1680/head
authorTony Crisci <tony@dubstepdish.com>
Thu, 23 Apr 2015 22:21:15 +0000 (18:21 -0400)
committerTony Crisci <tony@dubstepdish.com>
Thu, 23 Apr 2015 22:21:15 +0000 (18:21 -0400)
Check if the `connection` of the randr output is
XCB_RANDR_CONNECTION_DISONNECTED and disable the output if it is.

This fixes an issue where the output would not be disabled if the output was
physically unplugged from the machine.

src/randr.c

index 29183695c99a705d5a10febf5483aef96d34113e..9e236dcb517e8bab4214dba72821f4d5a3e10a12 100644 (file)
@@ -555,6 +555,12 @@ static void handle_output(xcb_connection_t *conn, xcb_randr_output_t id,
         return;
     }
 
+    if (output->connection == XCB_RANDR_CONNECTION_DISCONNECTED) {
+        DLOG("Disabling output %s: it is disconnected\n", new->name);
+        new->to_be_disabled = true;
+        return;
+    }
+
     bool updated = update_if_necessary(&(new->rect.x), crtc->x) |
                    update_if_necessary(&(new->rect.y), crtc->y) |
                    update_if_necessary(&(new->rect.width), crtc->width) |