Patch for compositor-drm.c

Kristian Hoegsberg hoegsberg at gmail.com
Thu Mar 8 10:22:45 PST 2012


On Wed, Mar 07, 2012 at 03:00:04PM -0500, Christopher Michael wrote:
> Hi All,
> 
> Attached is a patch which fixes some cleanup issues for the
> drm-based compositor. Basically, if we fail to allocate space for
> the crtcs in the compositor, then we need to free the drm mode
> resources before exiting the create_outputs function. We should also
> free these resources (in the same create_outputs function) if the
> compositor output_list is empty.

Thanks, applied.  I edited the commit message to follow the git
convention: first line is a summary, then a blank line and then
further explanation, if needed.

> Cheers,
> devilhorns

> From a71519a4e82451a632165f3f910246c238af4ed4 Mon Sep 17 00:00:00 2001
> From: Christopher Michael <cpmichael1 at comcast.net>
> Date: Wed, 7 Mar 2012 14:55:21 -0500
> Subject: [PATCH] When creating outputs in the drm compositor, if allocating crtcs fails, then free the drm resources. Also, if the base output list is empty, free drm resources
> 
> ---
>  src/compositor-drm.c |    5 ++++-
>  1 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/src/compositor-drm.c b/src/compositor-drm.c
> index 9796014..67fa500 100644
> --- a/src/compositor-drm.c
> +++ b/src/compositor-drm.c
> @@ -1263,8 +1263,10 @@ create_outputs(struct drm_compositor *ec, int option_connector,
>  	}
>  
>  	ec->crtcs = calloc(resources->count_crtcs, sizeof(uint32_t));
> -	if (!ec->crtcs)
> +	if (!ec->crtcs) {
> +		drmModeFreeResources(resources);
>  		return -1;
> +	}
>  
>  	ec->num_crtcs = resources->count_crtcs;
>  	memcpy(ec->crtcs, resources->crtcs, sizeof(uint32_t) * ec->num_crtcs);
> @@ -1295,6 +1297,7 @@ create_outputs(struct drm_compositor *ec, int option_connector,
>  
>  	if (wl_list_empty(&ec->base.output_list)) {
>  		fprintf(stderr, "No currently active connector found.\n");
> +		drmModeFreeResources(resources);
>  		return -1;
>  	}
>  
> -- 
> 1.7.4.1
> 

> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel



More information about the wayland-devel mailing list