Topi Pohjolainen <topi.pohjolai...@intel.com> writes:
> diff --git a/src/mesa/drivers/dri/intel/intel_screen.c 
> b/src/mesa/drivers/dri/intel/intel_screen.c
> index 57c8417..e8ed622 100644
> --- a/src/mesa/drivers/dri/intel/intel_screen.c
> +++ b/src/mesa/drivers/dri/intel/intel_screen.c
> @@ -491,8 +491,18 @@ intel_create_image_from_texture(__DRIcontext *context, 
> int target,
>  static void
>  intel_destroy_image(__DRIimage *image)
>  {
> -    intel_region_release(&image->regions[0]);
> -    free(image);
> +   int i;
> +
> +   for (i = 0; i < intel_image_get_region_count(image); ++i) {
> +      /**
> +       * Failures during creation are cleaned up here and hence not all the
> +       * regions may not be valid.
> +       */
> +      if (image->regions[i])
> +         intel_region_release(&image->regions[i]);
> +   }

intel_region_release() checks for NULL anyway, so no need to explicitly
do so here.

Attachment: pgpK5yXL8Kf4l.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to