emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/exwm 5562653 4/5: Free unused X resources


From: Chris Feng
Subject: [elpa] externals/exwm 5562653 4/5: Free unused X resources
Date: Sun, 19 Nov 2017 02:17:47 -0500 (EST)

branch: externals/exwm
commit 55626530f4a523cccd1d24c8819f7e80543e0276
Author: Chris Feng <address@hidden>
Commit: Chris Feng <address@hidden>

    Free unused X resources
    
    * exwm-cm.el (exwm-cm--paint-tree): Make sure the clip can be
    destroyed even the X window is in full screen mode.
    (exwm-cm--paint-transparent, exwm-cm--paint-background): Free pixmaps
    after creating pictures.
---
 exwm-cm.el | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/exwm-cm.el b/exwm-cm.el
index 233d5e0..095b59f 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.
@@ -863,6 +863,9 @@ Also update the attributes of XWIN and clip the region."
                            :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
                            :dst alpha-picture
@@ -1034,6 +1037,9 @@ the whole screen."
                          :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
                            :dst exwm-cm--background



reply via email to

[Prev in Thread] Current Thread [Next in Thread]