diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-03-21 20:07:00 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-03-21 20:09:52 +0000 |
commit | c504dba5a76def6358a5b309ad5bc4a8dfe6199e (patch) | |
tree | f81a3ea753f9d1dced172b0d6ab8608b194fe32f | |
parent | eafa127001319942e2a5e2009979e3ffd36320ed (diff) | |
download | cairo-c504dba5a76def6358a5b309ad5bc4a8dfe6199e.tar.gz |
damage: Fix memcpy size
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | src/cairo-damage.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/cairo-damage.c b/src/cairo-damage.c index 7b95c845f..f0a73061c 100644 --- a/src/cairo-damage.c +++ b/src/cairo-damage.c @@ -85,6 +85,8 @@ _cairo_damage_add_boxes(cairo_damage_t *damage, struct _cairo_damage_chunk *chunk; int n, size; + TRACE ((stderr, "%s x%d\n", __FUNCTION__, count)); + if (damage == NULL) damage = _cairo_damage_create (); @@ -94,7 +96,8 @@ _cairo_damage_add_boxes(cairo_damage_t *damage, if (n > damage->remain) n = damage->remain; - memcpy (damage->tail->base + damage->tail->count, boxes, n); + memcpy (damage->tail->base + damage->tail->count, boxes, + n * sizeof (cairo_box_t)); count -= n; damage->tail->count += n; @@ -121,7 +124,8 @@ _cairo_damage_add_boxes(cairo_damage_t *damage, damage->tail->next = chunk; damage->remain = size - count; - memcpy (damage->tail->base, boxes + n, count); + memcpy (damage->tail->base, boxes + n, + count * sizeof (cairo_box_t)); return damage; } @@ -130,6 +134,9 @@ cairo_damage_t * _cairo_damage_add_box(cairo_damage_t *damage, const cairo_box_t *box) { + TRACE ((stderr, "%s: (%d, %d),(%d, %d)\n", __FUNCTION__, + box->p1.x, box->p1.y, box->p2.x, box->p2.y)); + return _cairo_damage_add_boxes(damage, box, 1); } @@ -139,6 +146,9 @@ _cairo_damage_add_rectangle(cairo_damage_t *damage, { cairo_box_t box; + TRACE ((stderr, "%s: (%d, %d)x(%d, %d)\n", __FUNCTION__, + r->x, r->y, r->width, r->height)); + box.p1.x = r->x; box.p1.y = r->y; box.p2.x = r->x + r->width; @@ -154,6 +164,8 @@ _cairo_damage_add_region (cairo_damage_t *damage, cairo_box_t *boxes; int nbox; + TRACE ((stderr, "%s\n", __FUNCTION__)); + boxes = _cairo_region_get_boxes (region, &nbox); return _cairo_damage_add_boxes(damage, boxes, nbox); } @@ -165,6 +177,8 @@ _cairo_damage_reduce (cairo_damage_t *damage) cairo_box_t *boxes, *b; struct _cairo_damage_chunk *chunk, *last; + TRACE ((stderr, "%s: dirty=%d\n", __FUNCTION__, + damage ? damage->dirty : -1)); if (damage == NULL || !damage->dirty) return damage; |