diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-10-05 13:08:18 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-10-05 13:08:18 -0400 |
commit | cec012019f6146b1376bb787dc96b73c7de82266 (patch) | |
tree | 383ea29795a696159cc35dfc9b30cfd251742895 /backend/drm/drm.c | |
parent | 77eae178c725d13fee4862718af2a3029b128f41 (diff) | |
parent | c5df6ca900cb445b88ede7e0ea3bb3a9042b5b6f (diff) |
Merge pull request #208 from versusvoid/memory
Fix memory leaks
Diffstat (limited to 'backend/drm/drm.c')
-rw-r--r-- | backend/drm/drm.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/backend/drm/drm.c b/backend/drm/drm.c index 1a5fea9f..fc376b54 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -169,6 +169,19 @@ void wlr_drm_resources_free(struct wlr_drm_backend *drm) { drmModeDestroyPropertyBlob(drm->fd, crtc->mode_id); } } + for (size_t i = 0; i < drm->num_planes; ++i) { + struct wlr_drm_plane *plane = &drm->planes[i]; + if (plane->cursor_bo) { + gbm_bo_destroy(plane->cursor_bo); + } + if (plane->wlr_tex) { + wlr_texture_destroy(plane->wlr_tex); + } + if (plane->wlr_rend) { + wlr_renderer_destroy(plane->wlr_rend); + } + } + free(drm->crtcs); free(drm->planes); } |