id, glhd: Fix segfault with misreferenced pipe member.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Wed, 23 Jun 2010 05:13:33 +0000 (22:13 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Wed, 23 Jun 2010 05:49:13 +0000 (22:49 -0700)
And remove the offending member to keep that from happening again.

src/gallium/drivers/galahad/glhd_objects.c
src/gallium/drivers/galahad/glhd_objects.h
src/gallium/drivers/identity/id_objects.c
src/gallium/drivers/identity/id_objects.h

index cea32d7..4682d71 100644 (file)
@@ -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);
 }
index 16e1d94..9358039 100644 (file)
@@ -65,7 +65,6 @@ struct galahad_transfer
 {
    struct pipe_transfer base;
 
-   struct pipe_context *pipe;
    struct pipe_transfer *transfer;
 };
 
index ca4743f..82d06e7 100644 (file)
@@ -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);
 }
 
index 5eea10b..e8deabf 100644 (file)
@@ -65,7 +65,6 @@ struct identity_transfer
 {
    struct pipe_transfer base;
 
-   struct pipe_context *pipe;
    struct pipe_transfer *transfer;
 };