Module Name: src Committed By: christos Date: Tue Nov 26 16:48:01 UTC 2013
Modified Files: src/external/bsd/nvi/dist/vi: vs_msg.c vs_refresh.c Log Message: Avoid repainting after screen has been destroyed. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/external/bsd/nvi/dist/vi/vs_msg.c \ src/external/bsd/nvi/dist/vi/vs_refresh.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/bsd/nvi/dist/vi/vs_msg.c diff -u src/external/bsd/nvi/dist/vi/vs_msg.c:1.3 src/external/bsd/nvi/dist/vi/vs_msg.c:1.4 --- src/external/bsd/nvi/dist/vi/vs_msg.c:1.3 Mon Nov 25 17:43:46 2013 +++ src/external/bsd/nvi/dist/vi/vs_msg.c Tue Nov 26 11:48:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: vs_msg.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ +/* $NetBSD: vs_msg.c,v 1.4 2013/11/26 16:48:01 christos Exp $ */ /*- * Copyright (c) 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -661,6 +661,8 @@ vs_resolve(SCR *sp, SCR *csp, int forcew gp = sp->gp; wp = sp->wp; vip = VIP(sp); + if (vip == NULL) + return 0; if (csp == NULL) csp = sp; Index: src/external/bsd/nvi/dist/vi/vs_refresh.c diff -u src/external/bsd/nvi/dist/vi/vs_refresh.c:1.3 src/external/bsd/nvi/dist/vi/vs_refresh.c:1.4 --- src/external/bsd/nvi/dist/vi/vs_refresh.c:1.3 Mon Nov 25 17:43:46 2013 +++ src/external/bsd/nvi/dist/vi/vs_refresh.c Tue Nov 26 11:48:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: vs_refresh.c,v 1.3 2013/11/25 22:43:46 christos Exp $ */ +/* $NetBSD: vs_refresh.c,v 1.4 2013/11/26 16:48:01 christos Exp $ */ /*- * Copyright (c) 1992, 1993, 1994 * The Regents of the University of California. All rights reserved. @@ -81,7 +81,8 @@ vs_refresh(SCR *sp, int forcepaint) (void)vs_paint(tsp, (F_ISSET(VIP(tsp), VIP_CUR_INVALID) ? UPDATE_CURSOR : 0) | UPDATE_SCREEN); - F_SET(VIP(sp), VIP_CUR_INVALID); + if (VIP(sp)) + F_SET(VIP(sp), VIP_CUR_INVALID); } /* @@ -155,6 +156,8 @@ vs_paint(SCR *sp, u_int flags) gp = sp->gp; vip = VIP(sp); + if (vip == NULL) + return 0; didpaint = leftright_warp = 0; /*