}
}
+static int
+transmitter_output_disable(struct weston_output *base)
+{
+ struct weston_transmitter_output *output = wl_container_of(base, output, base);
+ wl_event_source_remove(output->finish_frame_timer);
+ return 0;
+}
+
void
transmitter_output_destroy(struct weston_transmitter_output *output)
{
free_mode_list(&output->base.mode_list);
weston_head_release(head);
free(head);
-
- weston_output_destroy(&output->base);
+ transmitter_output_disable(&output->base);
+ weston_output_release(&output->base);
free(output);
}
output->base.start_repaint_loop = transmitter_start_repaint_loop;
output->base.repaint = transmitter_output_repaint;
output->base.destroy = transmitter_output_destroy_;
+ output->base.disable = transmitter_output_disable;
output->base.assign_planes = NULL;
output->base.set_dpms = NULL;
output->base.switch_mode = NULL;