diff --git a/exwm-cm.el b/exwm-cm.el index 233d5e077..095b59f7a 100644 --- a/exwm-cm.el +++ b/exwm-cm.el @@ -661,14 +661,14 @@ painting a frame." (setq queue (nconc (exwm-cm--paint-tree subtree region fullscreen clip) queue)) - (when fullscreen - ;; Fullscreen X windows are always opaque thus occludes - ;; anything in this workspace. - (throw 'break 'fullscreen)) (when clip (xcb:+request exwm-cm--conn (make-instance 'xcb:xfixes:DestroyRegion - :region clip)))) + :region clip))) + (when fullscreen + ;; Fullscreen X windows are always opaque thus occludes + ;; anything in this workspace. + (throw 'break 'fullscreen))) (if (not (eq root exwm--root)) ;; Avoid painting any siblings below the workspace frame ;; container. @@ -862,6 +862,9 @@ Also update the attributes of XWIN and clip the region." xcb:renderutil:PICT_STANDARD:A_8) :value-mask xcb:render:CP:Repeat :repeat 1)) + (xcb:+request exwm-cm--conn + (make-instance 'xcb:FreePixmap + :pixmap pixmap)) (xcb:+request exwm-cm--conn (make-instance 'xcb:render:FillRectangles :op xcb:render:PictOp:Src @@ -1033,6 +1036,9 @@ the whole screen." :value-mask xcb:render:CP:Repeat :repeat 1)) (unless exist + (xcb:+request exwm-cm--conn + (make-instance 'xcb:FreePixmap + :pixmap pixmap)) (xcb:+request exwm-cm--conn (make-instance 'xcb:render:FillRectangles :op xcb:render:PictOp:Src