From 75612aa19946c6e546ff72b83d0e1bbe4db90db2 Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Tue, 22 Jun 2010 22:13:33 -0700 Subject: [PATCH] id, glhd: Fix segfault with misreferenced pipe member. And remove the offending member to keep that from happening again. --- src/gallium/drivers/galahad/glhd_objects.c | 4 ++-- src/gallium/drivers/galahad/glhd_objects.h | 1 - src/gallium/drivers/identity/id_objects.c | 4 ++-- src/gallium/drivers/identity/id_objects.h | 1 - 4 files changed, 4 insertions(+), 6 deletions(-) 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; }; -- 2.30.2