gboolean setup (void* data) { if (runtime_get_surface_list () == NULL) return TRUE; Surface *surface = (Surface *) runtime_get_surface_list ()->data; if (surface == NULL) return TRUE; TimeManager *manager = surface_get_time_manager (surface); ManualTimeSource *source = (ManualTimeSource *) manager->GetSource (); printf ("Setting up...\n"); surface->SetExposeHandoffFunc (expose_handoff, NULL); g_idle_add (increase_timer, NULL); return FALSE; }