Mercurial > vim
comparison src/misc1.c @ 10952:835604f3c37a v8.0.0365
patch 8.0.0365: might free a dict item that wasn't allocated
commit https://github.com/vim/vim/commit/95c526e1f6d76acafee4b21f5701d6d6ac8c4b5f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 25 14:59:34 2017 +0100
patch 8.0.0365: might free a dict item that wasn't allocated
Problem: Might free a dict item that wasn't allocated.
Solution: Call dictitem_free(). (Nikolai Pavlov) Use this for
b:changedtick.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 25 Feb 2017 15:00:05 +0100 |
parents | 141fe140976c |
children | f5bd684e47a1 |
comparison
equal
deleted
inserted
replaced
10951:32704a1de17c | 10952:835604f3c37a |
---|---|
500 && (vim_strchr(p_cpo, CPO_NUMCOL) == NULL) | 500 && (vim_strchr(p_cpo, CPO_NUMCOL) == NULL) |
501 ? number_width(wp) + 1 : 0); | 501 ? number_width(wp) + 1 : 0); |
502 | 502 |
503 /* used cached indent, unless pointer or 'tabstop' changed */ | 503 /* used cached indent, unless pointer or 'tabstop' changed */ |
504 if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts | 504 if (prev_line != line || prev_ts != wp->w_buffer->b_p_ts |
505 || prev_tick != *wp->w_buffer->b_changedtick) | 505 || prev_tick != CHANGEDTICK(wp->w_buffer)) |
506 { | 506 { |
507 prev_line = line; | 507 prev_line = line; |
508 prev_ts = wp->w_buffer->b_p_ts; | 508 prev_ts = wp->w_buffer->b_p_ts; |
509 prev_tick = *wp->w_buffer->b_changedtick; | 509 prev_tick = CHANGEDTICK(wp->w_buffer); |
510 prev_indent = get_indent_str(line, | 510 prev_indent = get_indent_str(line, |
511 (int)wp->w_buffer->b_p_ts, wp->w_p_list); | 511 (int)wp->w_buffer->b_p_ts, wp->w_p_list); |
512 } | 512 } |
513 bri = prev_indent + wp->w_p_brishift; | 513 bri = prev_indent + wp->w_p_brishift; |
514 | 514 |
2766 else | 2766 else |
2767 need_wait_return = save_need_wait_return; | 2767 need_wait_return = save_need_wait_return; |
2768 } | 2768 } |
2769 changed_int(); | 2769 changed_int(); |
2770 } | 2770 } |
2771 ++*curbuf->b_changedtick; | 2771 ++CHANGEDTICK(curbuf); |
2772 } | 2772 } |
2773 | 2773 |
2774 /* | 2774 /* |
2775 * Internal part of changed(), no user interaction. | 2775 * Internal part of changed(), no user interaction. |
2776 */ | 2776 */ |
3193 #endif | 3193 #endif |
3194 #ifdef FEAT_TITLE | 3194 #ifdef FEAT_TITLE |
3195 need_maketitle = TRUE; /* set window title later */ | 3195 need_maketitle = TRUE; /* set window title later */ |
3196 #endif | 3196 #endif |
3197 } | 3197 } |
3198 ++*buf->b_changedtick; | 3198 ++CHANGEDTICK(buf); |
3199 #ifdef FEAT_NETBEANS_INTG | 3199 #ifdef FEAT_NETBEANS_INTG |
3200 netbeans_unmodified(buf); | 3200 netbeans_unmodified(buf); |
3201 #endif | 3201 #endif |
3202 } | 3202 } |
3203 | 3203 |