UwacReturnCode UwacDestroyWindow(UwacWindow** pwindow) { UwacWindow* w; assert(pwindow); w = *pwindow; UwacWindowDestroyBuffers(w); if (w->frame_callback) wl_callback_destroy(w->frame_callback); if (w->xdg_surface) xdg_surface_destroy(w->xdg_surface); #if BUILD_IVI if (w->ivi_surface) ivi_surface_destroy(w->ivi_surface); #endif if (w->opaque_region) wl_region_destroy(w->opaque_region); if (w->input_region) wl_region_destroy(w->opaque_region); wl_surface_destroy(w->surface); wl_list_remove(&w->link); free(w); *pwindow = NULL; return UWAC_SUCCESS; }
int main(int argc, char **argv) { struct sigaction sigint; struct display *display; struct window *window; int ret = 0; display = create_display(); window = create_window(display, 250, 250); if (!window) return 1; sigint.sa_handler = signal_int; sigemptyset(&sigint.sa_mask); sigint.sa_flags = SA_RESETHAND; sigaction(SIGINT, &sigint, NULL); /* Initialise damage to full surface, so the padding gets painted */ wl_surface_damage(window->surface, 0, 0, window->width, window->height); redraw(window, NULL, 0); while (running && ret != -1) ret = wl_display_dispatch(display->display); fprintf(stderr, "simple-shm exiting\n"); if (window->display->ivi_application) { ivi_surface_destroy(window->ivi_surface); ivi_application_destroy(window->display->ivi_application); } destroy_window(window); destroy_display(display); return 0; }
void TearDown() { //print_lmc_get_scene(); t_ilm_layer* layers = NULL; t_ilm_int numLayer=0; EXPECT_EQ(ILM_SUCCESS, ilm_getLayerIDs(&numLayer, &layers)); for (t_ilm_int i=0; i<numLayer; i++) { EXPECT_EQ(ILM_SUCCESS, ilm_layerRemove(layers[i])); }; free(layers); for (std::vector<iviSurface>::reverse_iterator it = iviSurfaces.rbegin(); it != iviSurfaces.rend(); ++it) { ivi_surface_destroy((*it).surface); } iviSurfaces.clear(); EXPECT_EQ(ILM_SUCCESS, ilm_commitChanges()); EXPECT_EQ(ILM_SUCCESS, ilm_destroy()); }