To: vim_dev@googlegroups.com Subject: Patch 8.1.0121 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0121 Problem: Crash when using ballooneval related to 'vartabstop'. Solution: Initialize balloonEval->vts to NULL. (Markus Braun) Files: src/ex_cmds2.c, src/gui_beval.c, src/gui_w32.c, src/gui.c *** ../vim-8.1.0120/src/ex_cmds2.c 2018-05-12 15:36:03.000000000 +0200 --- src/ex_cmds2.c 2018-06-28 11:54:26.812645846 +0200 *************** *** 1419,1425 **** bevalexpr_due_set = FALSE; if (balloonEval == NULL) { ! balloonEval = (BalloonEval *)alloc(sizeof(BalloonEval)); balloonEvalForTerm = TRUE; } if (balloonEval != NULL) --- 1419,1425 ---- bevalexpr_due_set = FALSE; if (balloonEval == NULL) { ! balloonEval = (BalloonEval *)alloc_clear(sizeof(BalloonEval)); balloonEvalForTerm = TRUE; } if (balloonEval != NULL) *** ../vim-8.1.0120/src/gui_beval.c 2018-06-23 19:22:45.606486311 +0200 --- src/gui_beval.c 2018-06-28 11:58:57.003085639 +0200 *************** *** 111,138 **** return NULL; } ! beval = (BalloonEval *)alloc(sizeof(BalloonEval)); if (beval != NULL) { #ifdef FEAT_GUI_GTK beval->target = GTK_WIDGET(target); - beval->balloonShell = NULL; - beval->timerID = 0; #else beval->target = (Widget)target; - beval->balloonShell = NULL; - beval->timerID = (XtIntervalId)NULL; beval->appContext = XtWidgetToApplicationContext((Widget)target); #endif beval->showState = ShS_NEUTRAL; - beval->x = 0; - beval->y = 0; beval->msg = mesg; beval->msgCB = mesgCB; beval->clientData = clientData; - #ifdef FEAT_VARTABS - beval->vts = NULL; - #endif /* * Set up event handler which will keep its eyes on the pointer, --- 111,129 ---- return NULL; } ! beval = (BalloonEval *)alloc_clear(sizeof(BalloonEval)); if (beval != NULL) { #ifdef FEAT_GUI_GTK beval->target = GTK_WIDGET(target); #else beval->target = (Widget)target; beval->appContext = XtWidgetToApplicationContext((Widget)target); #endif beval->showState = ShS_NEUTRAL; beval->msg = mesg; beval->msgCB = mesgCB; beval->clientData = clientData; /* * Set up event handler which will keep its eyes on the pointer, *** ../vim-8.1.0120/src/gui_w32.c 2018-06-23 19:22:45.606486311 +0200 --- src/gui_w32.c 2018-06-28 11:59:35.478867007 +0200 *************** *** 8922,8949 **** return NULL; } ! beval = (BalloonEval *)alloc(sizeof(BalloonEval)); if (beval != NULL) { beval->target = s_textArea; - beval->balloon = NULL; beval->showState = ShS_NEUTRAL; - beval->x = 0; - beval->y = 0; beval->msg = mesg; beval->msgCB = mesgCB; beval->clientData = clientData; - #ifdef FEAT_VARTABS - beval->vts = NULL; - #endif InitCommonControls(); cur_beval = beval; if (p_beval) gui_mch_enable_beval_area(beval); - } return beval; } --- 8922,8942 ---- return NULL; } ! beval = (BalloonEval *)alloc_clear(sizeof(BalloonEval)); if (beval != NULL) { beval->target = s_textArea; beval->showState = ShS_NEUTRAL; beval->msg = mesg; beval->msgCB = mesgCB; beval->clientData = clientData; InitCommonControls(); cur_beval = beval; if (p_beval) gui_mch_enable_beval_area(beval); } return beval; } *** ../vim-8.1.0120/src/gui.c 2018-05-13 17:03:53.000000000 +0200 --- src/gui.c 2018-06-28 12:01:22.930259972 +0200 *************** *** 745,751 **** --- 745,756 ---- /* Always create the Balloon Evaluation area, but disable it when * 'ballooneval' is off. */ if (balloonEval != NULL) + { + # ifdef FEAT_VARTABS + vim_free(balloonEval->vts); + # endif vim_free(balloonEval); + } balloonEvalForTerm = FALSE; # ifdef FEAT_GUI_GTK balloonEval = gui_mch_create_beval_area(gui.drawarea, NULL, *** ../vim-8.1.0120/src/version.c 2018-06-28 11:28:04.797455530 +0200 --- src/version.c 2018-06-28 12:02:15.657963770 +0200 *************** *** 791,792 **** --- 791,794 ---- { /* Add new patch number below this line */ + /**/ + 121, /**/ -- hundred-and-one symptoms of being an internet addict: 129. You cancel your newspaper subscription. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///