static void Kill(Engine *engine) { XEngine *xeng= (XEngine *)engine; p_win *w = xeng->win; ShutDown(xeng); if (w) { p_destroy(w); } /* for program-driven Kill(), can take care of p_disconnect immediately */ if (g_pending_task) g_pending_task(); }
void GhBeforeWait(void) { #ifndef NO_XLIB extern void (*g_pending_task)(void); /* auto disconnect, see xbasic.c */ if (g_on_idle) g_on_idle(); if (g_pending_task) g_pending_task(); #else if (g_on_idle) g_on_idle(); #endif if (currentDevice<0 || !ghDevices[currentDevice].display || animateOn) return; /* nothing happens in animate mode until * explicit call to GhFMA */ UpdateOrRedraw(1); }