Beispiel #1
0
void REPLICATESPU_APIENTRY
replicatespu_WindowDestroy(GLint win)
{
	WindowInfo *winInfo = (WindowInfo *) crHashtableSearch( replicate_spu.windowTable, win );
	GET_THREAD(thread);
	int i;

	replicatespuFlushAll( (void *) thread );

	if (winInfo) {
		for (i = 0; i < CR_MAX_REPLICANTS; i++) {
			if (!IS_CONNECTED(replicate_spu.rserver[i].conn))
				continue;

			if (replicate_spu.swap)
				crPackWindowDestroySWAP( winInfo->id[i] );
			else
				crPackWindowDestroy( winInfo->id[i] );

			winInfo->id[i] = -1; /* just to be safe */

			replicatespuFlushOne(thread, i);
		}
	}

	crHashtableDelete(replicate_spu.windowTable, win, crFree);
}
Beispiel #2
0
void PACKSPU_APIENTRY packspu_WindowDestroy( GLint window )
{
	if (pack_spu.swap)
	{
		crPackWindowDestroySWAP(window);
	}
	else
	{
		crPackWindowDestroy(window);
	}
	crHashtableDelete(pack_spu.XWindows,window,crFree);
}