From dc5d05d1af49a530da91b70179b1dff8c93aadc9 Mon Sep 17 00:00:00 2001 From: simon Date: Sun, 13 May 2012 15:59:22 +0000 Subject: [PATCH] Bug fix from Robert de Bath: since lpDx_maybe is always supposed to equal either lpDx or NULL, we mustn't forget to update it when we realloc lpDx. git-svn-id: svn://svn.tartarus.org/sgt/putty@9526 cda61777-01e9-0310-a592-d414129be87e --- windows/window.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/windows/window.c b/windows/window.c index 4425e191..df69db14 100644 --- a/windows/window.c +++ b/windows/window.c @@ -3515,12 +3515,13 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len, len += 2; } - if (len > lpDx_len) { - if (len > lpDx_len) { - lpDx_len = len * 9 / 8 + 16; - lpDx = sresize(lpDx, lpDx_len, int); - } - } + if (len > lpDx_len) { + lpDx_len = len * 9 / 8 + 16; + lpDx = sresize(lpDx, lpDx_len, int); + + if (lpDx_maybe) lpDx_maybe = lpDx; + } + { int i; /* only last char has dx width in SURROGATE PAIR and -- 2.11.0