From: Corbin Simpson Date: Wed, 23 Jun 2010 05:13:33 +0000 (-0700) Subject: id, glhd: Fix segfault with misreferenced pipe member. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=75612aa19946c6e546ff72b83d0e1bbe4db90db2;p=mesa.git id, glhd: Fix segfault with misreferenced pipe member. And remove the offending member to keep that from happening again. --- diff --git a/src/gallium/drivers/galahad/glhd_objects.c b/src/gallium/drivers/galahad/glhd_objects.c index cea32d7ffec..4682d717d83 100644 --- a/src/gallium/drivers/galahad/glhd_objects.c +++ b/src/gallium/drivers/galahad/glhd_objects.c @@ -180,7 +180,7 @@ galahad_transfer_destroy(struct galahad_context *glhd_context, struct galahad_transfer *glhd_transfer) { pipe_resource_reference(&glhd_transfer->base.resource, NULL); - glhd_transfer->pipe->transfer_destroy(glhd_context->pipe, - glhd_transfer->transfer); + glhd_context->pipe->transfer_destroy(glhd_context->pipe, + glhd_transfer->transfer); FREE(glhd_transfer); } diff --git a/src/gallium/drivers/galahad/glhd_objects.h b/src/gallium/drivers/galahad/glhd_objects.h index 16e1d94469c..935803915db 100644 --- a/src/gallium/drivers/galahad/glhd_objects.h +++ b/src/gallium/drivers/galahad/glhd_objects.h @@ -65,7 +65,6 @@ struct galahad_transfer { struct pipe_transfer base; - struct pipe_context *pipe; struct pipe_transfer *transfer; }; diff --git a/src/gallium/drivers/identity/id_objects.c b/src/gallium/drivers/identity/id_objects.c index ca4743f9ef7..82d06e7f605 100644 --- a/src/gallium/drivers/identity/id_objects.c +++ b/src/gallium/drivers/identity/id_objects.c @@ -180,8 +180,8 @@ identity_transfer_destroy(struct identity_context *id_context, struct identity_transfer *id_transfer) { pipe_resource_reference(&id_transfer->base.resource, NULL); - id_transfer->pipe->transfer_destroy(id_context->pipe, - id_transfer->transfer); + id_context->pipe->transfer_destroy(id_context->pipe, + id_transfer->transfer); FREE(id_transfer); } diff --git a/src/gallium/drivers/identity/id_objects.h b/src/gallium/drivers/identity/id_objects.h index 5eea10b0b5a..e8deabf4fc7 100644 --- a/src/gallium/drivers/identity/id_objects.h +++ b/src/gallium/drivers/identity/id_objects.h @@ -65,7 +65,6 @@ struct identity_transfer { struct pipe_transfer base; - struct pipe_context *pipe; struct pipe_transfer *transfer; };