diff --git a/x.c b/x.c index 85a70b6..bf403ff 100644 --- a/x.c +++ b/x.c @@ -318,6 +318,7 @@ void zoomabs(const Arg *arg) { #if SIXEL_PATCH + int i; ImageList *im; #endif // SIXEL_PATCH @@ -328,14 +329,16 @@ zoomabs(const Arg *arg) #endif // FONT2_PATCH #if SIXEL_PATCH - /* deleting old pixmaps forces the new scaled pixmaps to be created */ - for (im = term.images; im; im = im->next) { - if (im->pixmap) - XFreePixmap(xw.dpy, (Drawable)im->pixmap); - if (im->clipmask) - XFreePixmap(xw.dpy, (Drawable)im->clipmask); - im->pixmap = NULL; - im->clipmask = NULL; + /* delete old pixmaps so that xfinishdraw() can create new scaled ones */ + for (im = term.images, i = 0; i < 2; i++, im = term.images_alt) { + for (; im; im = im->next) { + if (im->pixmap) + XFreePixmap(xw.dpy, (Drawable)im->pixmap); + if (im->clipmask) + XFreePixmap(xw.dpy, (Drawable)im->clipmask); + im->pixmap = NULL; + im->clipmask = NULL; + } } #endif // SIXEL_PATCH