improve prevous commit: do not execute "pending_fullzoom" drawing if main window unmapped (do not decrement the pending_fullzoom flag and delay until window is visible)

This commit is contained in:
stefan schippers 2023-06-23 11:15:54 +02:00
parent 9ea7121846
commit cd15362376
1 changed files with 8 additions and 4 deletions

View File

@ -2023,7 +2023,8 @@ void resetwin(int create_pixmap, int clear_pixmap, int force, int w, int h)
#endif
}
if(status) {
dbg(1, "resetwin(): create_pixmap=%d, clear_pixmap=%d, force=%d, width=%d, height=%d, pending_fullzoom=%d\n",
dbg(0, "resetwin(): win_path=%s\n", xctx->current_win_path);
dbg(0, "resetwin(): create_pixmap=%d, clear_pixmap=%d, force=%d, width=%d, height=%d, pending_fullzoom=%d\n",
create_pixmap, clear_pixmap, force, width, height, xctx->pending_fullzoom);
/* if(wattr.map_state==IsUnmapped) return; */
xctx->areax2 = width + 2 * INT_WIDTH(xctx->lw);
@ -2068,9 +2069,12 @@ void resetwin(int create_pixmap, int clear_pixmap, int force, int w, int h)
}
}
if(xctx->pending_fullzoom > 0) {
dbg(1, "resetwin(): pending_fulzoom: doing zoom_full()\n");
zoom_full(1, 0, 1 + 2 * tclgetboolvar("zoom_full_center"), 0.97);
xctx->pending_fullzoom--;
tcleval("winfo ismapped .");
if(tclresult()[0] == '1') {
dbg(1, "resetwin(): pending_fulzoom: doing zoom_full()\n");
zoom_full(1, 0, 1 + 2 * tclgetboolvar("zoom_full_center"), 0.97);
xctx->pending_fullzoom--;
}
}
dbg(1, "resetwin(): Window reset\n");
} /* end if(has_x) */