Blob Blame History Raw
From f32c851a0ba41f5d8d0f8c869bc394858de721df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <mdaenzer@redhat.com>
Date: Thu, 25 Jun 2020 18:09:27 +0200
Subject: [PATCH xserver 1/4] present/wnmd: Keep pixmap pointer in
 present_wnmd_clear_window_flip
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The comment was incorrect: Any reference held by the window (see
present_wnmd_execute) is in addition to the one in struct present_vblank
(see present_vblank_create). So if we don't drop the latter, the pixmap
will be leaked.

Reviewed-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit bc9dd1c71c3722284ffaa7183f4119151b25a44f)
Signed-off-by: Michel Dänzer <mdaenzer@redhat.com>
---
 present/present_screen.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/present/present_screen.c b/present/present_screen.c
index c7e37c5fd..c435f55f4 100644
--- a/present/present_screen.c
+++ b/present/present_screen.c
@@ -122,8 +122,6 @@ present_wnmd_clear_window_flip(WindowPtr window)
 
     xorg_list_for_each_entry_safe(vblank, tmp, &window_priv->idle_queue, event_queue) {
         present_pixmap_idle(vblank->pixmap, vblank->window, vblank->serial, vblank->idle_fence);
-        /* The pixmap will be destroyed by freeing the window resources. */
-        vblank->pixmap = NULL;
         present_vblank_destroy(vblank);
     }
 
-- 
2.26.2