From 7f1310f4d1277bbd43fe7655cef77b239a32c30a Mon Sep 17 00:00:00 2001 From: nick black Date: Thu, 29 Apr 2021 07:06:06 -0400 Subject: [PATCH] ncplane_move_yx: don't invoke sprixel_move on no movement --- src/lib/notcurses.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/lib/notcurses.c b/src/lib/notcurses.c index 0be6dd852..e6bdef5ed 100644 --- a/src/lib/notcurses.c +++ b/src/lib/notcurses.c @@ -1966,12 +1966,14 @@ int ncplane_move_yx(ncplane* n, int y, int x){ int dy, dx; // amount moved dy = (n->boundto->absy + y) - n->absy; dx = (n->boundto->absx + x) - n->absx; - if(n->sprite){ - sprixel_movefrom(n->sprite, n->absy, n->absx); + if(dy || dx){ // don't want to trigger sprixel_movefrom() if unneeded + if(n->sprite){ + sprixel_movefrom(n->sprite, n->absy, n->absx); + } + n->absx += dx; + n->absy += dy; + move_bound_planes(n->blist, dy, dx); } - n->absx += dx; - n->absy += dy; - move_bound_planes(n->blist, dy, dx); return 0; }