Hi, Waldemar.
I know what do you mean, I have the same problem. I will try to find it when I will have the time.
That is what I have tried (it works if you set GRXCLS=off), but I am not sure if it is safe/portable enough.
in 'setdrvr.c':
void _GrCloseVideoDriver(void) { if(getenv("GRXCLS")) return; ///wsz <=== sttcopy(&DRVINFO->fdriver,&DRVINFO->tdriver); if(DRVINFO->vdriver != NULL) { if(DRVINFO->vdriver->reset) (*DRVINFO->vdriver->reset)(); DRVINFO->vdriver = NULL; } }
This seems to work, and close the video driver properly:
void grx_abort( char *error_message ) { void _GrCloseVideoDriver(void);
_GrCloseVideoDriver(); printf( "%s\n",error message" ); exit(1); }
Note that exit call _GrCloseVideoDriver again, but it don't do nothing because DRVINFO->vdriver is NULL.