summaryrefslogtreecommitdiff
path: root/fb/fbtrap.c
diff options
context:
space:
mode:
authorAaron Plattner <aplattner@nvidia.com>2007-08-01 14:30:03 -0700
committerAaron Plattner <aplattner@nvidia.com>2007-08-06 14:22:49 -0700
commit74feba4d77d74979a0ea478d666439ffc55001e5 (patch)
treeaf3fd8b53b4703966e8acea1a8a0f81cfb159490 /fb/fbtrap.c
parentf6aa2200f2fb4f4d4bb51e67d68e86aabcac0c4b (diff)
Don't unwrap too early in libwfb for Composite.
Don't call fbFinishWrap until the pixman_image_t that stores the pointer is actually freed. This prevents corruption or crashes caused by accessing a wrapped pointer after the wrapping is torn down.
Diffstat (limited to 'fb/fbtrap.c')
-rw-r--r--fb/fbtrap.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/fb/fbtrap.c b/fb/fbtrap.c
index e70336cce..830603ae7 100644
--- a/fb/fbtrap.c
+++ b/fb/fbtrap.c
@@ -47,9 +47,7 @@ fbAddTraps (PicturePtr pPicture,
pixman_add_traps (image, x_off, y_off, ntrap, (pixman_trap_t *)traps);
- fbFinishAccess (pPicture->pDrawable);
-
- pixman_image_unref (image);
+ free_pixman_pict (pPicture, image);
}
void
@@ -65,9 +63,7 @@ fbRasterizeTrapezoid (PicturePtr pPicture,
pixman_rasterize_trapezoid (image, (pixman_trapezoid_t *)trap, x_off, y_off);
- fbFinishAccess (pPicture->pDrawable);
-
- pixman_image_unref (image);
+ free_pixman_pict (pPicture, image);
}
static int