Instead of simply aborting we now print out a warning, when a spurious
GLX_BufferSwapComplete event is handled since it seems that people are
coming across the problem (perhaps due to a buggy driver) and making
apps crash in this situation is a bit extreme.
if (stage_x11->xwin == swap_complete_event->drawable)
{
- g_assert (stage_glx->pending_swaps);
- stage_glx->pending_swaps--;
+ if (G_UNLIKELY (stage_glx->pending_swaps == 0))
+ {
+ g_warning ("Spurious GLX_BufferSwapComplete event received for "
+ "stage drawable = 0x%08lx",
+ swap_complete_event->drawable);
+ }
+ else
+ stage_glx->pending_swaps--;
return TRUE;
}
}