]> git.sur5r.net Git - i3/i3/commitdiff
x: disable GraphicsExposure events on our pixmap graphics contexts
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 10 Jul 2011 20:27:31 +0000 (22:27 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 10 Jul 2011 20:27:51 +0000 (22:27 +0200)
Gets rid of GraphicsExposure and NoExpose events, which we don’t use anyways.

src/x.c

diff --git a/src/x.c b/src/x.c
index 96c9d806e3a184ef8831ade657158e23d86c7479..525d9bbd767a647ee6f25235178f945b8433e9ab 100644 (file)
--- a/src/x.c
+++ b/src/x.c
@@ -574,7 +574,13 @@ void x_push_node(Con *con) {
                 xcb_free_gc(conn, con->pm_gc);
             }
             xcb_create_pixmap(conn, root_depth, con->pixmap, con->frame, rect.width, rect.height);
-            xcb_create_gc(conn, con->pm_gc, con->pixmap, 0, 0);
+            /* For the graphics context, we disable GraphicsExposure events.
+             * Those will be sent when a CopyArea request cannot be fulfilled
+             * properly due to parts of the source being unmapped or otherwise
+             * unavailable. Since we always copy from pixmaps to windows, this
+             * is not a concern for us. */
+            uint32_t values[] = { 0 };
+            xcb_create_gc(conn, con->pm_gc, con->pixmap, XCB_GC_GRAPHICS_EXPOSURES, values);
 
             con->pixmap_recreated = true;