ncdirect_stream: save and restore cursor position before each frame #1515

This commit is contained in:
nick black 2021-04-15 23:34:15 -04:00 committed by Nick Black
parent 53f92760dd
commit ef69abe0fc

View File

@ -1123,8 +1123,7 @@ int ncdirect_check_pixel_support(ncdirect* n){
int ncdirect_stream(ncdirect* n, const char* filename, ncstreamcb streamer, int ncdirect_stream(ncdirect* n, const char* filename, ncstreamcb streamer,
struct ncvisual_options* vopts, void* curry){ struct ncvisual_options* vopts, void* curry){
int y, x; if(ncdirect_cursor_push(n)){
if(ncdirect_cursor_yx(n, &y, &x)){
return -1; return -1;
} }
ncvisual* ncv = ncvisual_from_file(filename); ncvisual* ncv = ncvisual_from_file(filename);
@ -1132,7 +1131,11 @@ int ncdirect_stream(ncdirect* n, const char* filename, ncstreamcb streamer,
return -1; return -1;
} }
do{ do{
if(ncdirect_cursor_move_yx(n, y, x)){ if(ncdirect_cursor_pop(n)){
ncvisual_destroy(ncv);
return -1;
}
if(ncdirect_cursor_push(n)){
ncvisual_destroy(ncv); ncvisual_destroy(ncv);
return -1; return -1;
} }