/** * Destroys a damage object. * @param damage The damage object to destroy. * * Destroys the damage object @p damage. * @ingroup Ecore_X_Damage_Group */ EAPI void ecore_x_damage_free(Ecore_X_Damage damage) { #ifdef ECORE_XCB_DAMAGE xcb_damage_destroy(_ecore_xcb_conn, damage); #endif /* ECORE_XCB_DAMAGE */ } /* ecore_x_damage_free */
void remove_win(struct window **list, struct window *w) { struct window **prev; for (prev = list; *prev; prev = &(*prev)->next) if (*prev == w) break; *prev = w->next; xcb_damage_destroy(X, w->damage); xcb_xfixes_destroy_region(X, w->region); if (w->pixmap) xcb_free_pixmap(X, w->pixmap); if (w->picture) xcb_render_free_picture(X, w->picture); if (w->alpha) xcb_render_free_picture(X, w->alpha); free(w); }