From aaf443f64d36ad8f921d56387c806ae5fe1b7fa8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Mon, 18 Jan 2016 21:01:35 +0100 Subject: vis: fix segfault upon :qall --- vis-cmds.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vis-cmds.c b/vis-cmds.c index 9f3ecd2..22c81ce 100644 --- a/vis-cmds.c +++ b/vis-cmds.c @@ -489,14 +489,16 @@ static bool cmd_bdelete(Vis *vis, Filerange *range, enum CmdOpt opt, const char static bool cmd_qall(Vis *vis, Filerange *range, enum CmdOpt opt, const char *argv[]) { for (Win *next, *win = vis->windows; win; win = next) { next = win->next; - if (!text_modified(vis->win->file->text) || (opt & CMD_OPT_FORCE)) + if (!win->file->internal && (!text_modified(win->file->text) || (opt & CMD_OPT_FORCE))) vis_window_close(win); } - if (!has_windows(vis)) + if (!has_windows(vis)) { vis_exit(vis, EXIT_SUCCESS); - else + return true; + } else { info_unsaved_changes(vis); - return vis->windows == NULL; + return false; + } } static bool cmd_read(Vis *vis, Filerange *range, enum CmdOpt opt, const char *argv[]) { -- cgit v1.2.3