notcurses-view: keypress skips, not aborts

pull/264/head
nick black 5 years ago
parent acef43c759
commit a56846468e
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

@ -130,25 +130,27 @@ int main(int argc, char** argv){
return EXIT_FAILURE; return EXIT_FAILURE;
} }
clock_gettime(CLOCK_MONOTONIC, &start); clock_gettime(CLOCK_MONOTONIC, &start);
if(ncvisual_stream(nc, ncv, &averr, perframe, &frames)){ int r = ncvisual_stream(nc, ncv, &averr, perframe, &frames);
if(r < 0){ // positive is intentional abort
av_make_error_string(errbuf.data(), errbuf.size(), averr); av_make_error_string(errbuf.data(), errbuf.size(), averr);
notcurses_stop(nc); notcurses_stop(nc);
std::cerr << "Error decoding " << argv[i] << ": " << errbuf.data() << std::endl; std::cerr << "Error decoding " << argv[i] << ": " << errbuf.data() << std::endl;
return EXIT_FAILURE; return EXIT_FAILURE;
} }else if(r == 0){
char32_t ie = notcurses_getc_blocking(nc, nullptr); char32_t ie = notcurses_getc_blocking(nc, nullptr);
if(ie == (char32_t)-1){ if(ie == (char32_t)-1){
break; break;
}
if(ie == NCKEY_RESIZE){
--i; // rerun with the new size
if(notcurses_resize(nc, &dimy, &dimx)){
notcurses_stop(nc);
return EXIT_FAILURE;
} }
if(ncplane_resize_simple(ncp, dimy, dimx)){ if(ie == NCKEY_RESIZE){
notcurses_stop(nc); --i; // rerun with the new size
return EXIT_FAILURE; if(notcurses_resize(nc, &dimy, &dimx)){
notcurses_stop(nc);
return EXIT_FAILURE;
}
if(ncplane_resize_simple(ncp, dimy, dimx)){
notcurses_stop(nc);
return EXIT_FAILURE;
}
} }
} }
ncvisual_destroy(ncv); ncvisual_destroy(ncv);

Loading…
Cancel
Save