*** empty log message ***

This commit is contained in:
Kristian Høgsberg 2005-03-10 09:28:50 +00:00
parent b032d02322
commit 1f5394ffe9
3 changed files with 41 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2005-03-10 Kristian Høgsberg <krh@redhat.com>
* src/cairo_surface.c (_destroy_user_data): Add this function and
call it on surface destruction.
2005-03-10 Kristian Høgsberg <krh@redhat.com>
* test/user_data.c (main): Fix assert()'s using = instead of ==.

View file

@ -138,6 +138,22 @@ cairo_surface_reference (cairo_surface_t *surface)
surface->ref_count++;
}
static void
_destroy_user_data (cairo_surface_t *surface)
{
int i, num_slots;
cairo_user_data_slot_t *slots;
num_slots = surface->user_data_slots.num_elements;
slots = (cairo_user_data_slot_t *) surface->user_data_slots.elements;
for (i = 0; i < num_slots; i++) {
if (slots[i].user_data != NULL)
slots[i].destroy (slots[i].user_data);
}
_cairo_array_fini (&surface->user_data_slots);
}
void
cairo_surface_destroy (cairo_surface_t *surface)
{
@ -150,6 +166,8 @@ cairo_surface_destroy (cairo_surface_t *surface)
if (surface->backend->destroy)
surface->backend->destroy (surface);
_destroy_user_data (surface);
}
slim_hidden_def(cairo_surface_destroy);

View file

@ -138,6 +138,22 @@ cairo_surface_reference (cairo_surface_t *surface)
surface->ref_count++;
}
static void
_destroy_user_data (cairo_surface_t *surface)
{
int i, num_slots;
cairo_user_data_slot_t *slots;
num_slots = surface->user_data_slots.num_elements;
slots = (cairo_user_data_slot_t *) surface->user_data_slots.elements;
for (i = 0; i < num_slots; i++) {
if (slots[i].user_data != NULL)
slots[i].destroy (slots[i].user_data);
}
_cairo_array_fini (&surface->user_data_slots);
}
void
cairo_surface_destroy (cairo_surface_t *surface)
{
@ -150,6 +166,8 @@ cairo_surface_destroy (cairo_surface_t *surface)
if (surface->backend->destroy)
surface->backend->destroy (surface);
_destroy_user_data (surface);
}
slim_hidden_def(cairo_surface_destroy);