diff --git a/src/lib/direct.c b/src/lib/direct.c index 98807e18c..53518eefb 100644 --- a/src/lib/direct.c +++ b/src/lib/direct.c @@ -1156,6 +1156,7 @@ int ncdirect_stream(ncdirect* n, const char* filename, ncstreamcb streamer, ncplane_dim_yx(v, &y, &x); ncdirect_raster_frame(n, v, (vopts->flags & NCVISUAL_OPTION_HORALIGNED) ? vopts->x : 0); streamer(ncv, vopts, NULL, curry); + // FIXME need to issue a kitty-kill when appropriate, how? }while(ncvisual_decode(ncv) == 0); ncvisual_destroy(ncv); return 0; diff --git a/src/lib/sprite.c b/src/lib/sprite.c index 1e49266ca..363c7febd 100644 --- a/src/lib/sprite.c +++ b/src/lib/sprite.c @@ -6,8 +6,10 @@ static uint32_t sprixelid_nonce; static inline void sprixel_debug(FILE* out, const sprixel* s){ - fprintf(out, "Sprixel %d (%p) %dx%d (%dx%d) n: %p state: %d\n", - s->id, s, s->dimy, s->dimx, s->pixy, s->pixx, s->n, s->invalidated); + fprintf(out, "Sprixel %d (%p) %dx%d (%dx%d) @%d/%d state: %d\n", + s->id, s, s->dimy, s->dimx, s->pixy, s->pixx, + s->n ? s->n->absy : 0, s->n ? s->n->absx : 0, + s->invalidated); if(s->n){ int idx = 0; for(int y = 0 ; y < s->dimy ; ++y){ diff --git a/src/lib/visual.c b/src/lib/visual.c index aaed663b8..cadbd8d83 100644 --- a/src/lib/visual.c +++ b/src/lib/visual.c @@ -678,6 +678,7 @@ ncplane* ncvisual_render_pixels(notcurses* nc, ncvisual* ncv, const struct blits clamp_to_sixelmax(&nc->tcache, &disprows, &dispcols); } } + // FIXME why are we allowing arbitrary location within a plane? if(flags & NCVISUAL_OPTION_HORALIGNED){ if(placex == NCALIGN_CENTER){ placex = (ncplane_dim_x(n) - dispcols / nc->tcache.cellpixx) / 2;