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;
 
 	/*

Reply via email to