Exemplo n.º 1
0
void laserdisc_device::device_stop()
{
	// make sure all async operations have completed
	if (m_disc != NULL)
		osd_work_queue_wait(m_work_queue, osd_ticks_per_second() * 10);

	// free any textures and palettes
	if (m_videotex != NULL)
		machine().render().texture_free(m_videotex);
	if (m_videopalette != NULL)
		palette_deref(m_videopalette);
	if (m_overtex != NULL)
		machine().render().texture_free(m_overtex);
}
Exemplo n.º 2
0
void palette_client_free(palette_client *client)
{
	palette_client **curptr;

	/* first locate and remove ourself from the palette's list */
	for (curptr = &client->palette->client_list; *curptr != NULL; curptr = &(*curptr)->next)
		if (*curptr == client)
		{
			*curptr = client->next;
			break;
		}

	/* now deref the palette */
	palette_deref(client->palette);

	/* free our data */
	if (client->live.dirty != NULL)
		free(client->live.dirty);
	if (client->previous.dirty != NULL)
		free(client->previous.dirty);
	free(client);
}