patch 8.2.2113: MS-Windows GUI: crash after using ":set guifont=" four times
Problem: MS-Windows GUI: crash after using ":set guifont=" four times.
Solution: Check for NULL pointer. (Ken Takata, closes #7434)
diff --git a/src/gui_dwrite.cpp b/src/gui_dwrite.cpp
index 8767dc1..83acdab 100644
--- a/src/gui_dwrite.cpp
+++ b/src/gui_dwrite.cpp
@@ -239,7 +239,8 @@
if (mItems[n].pTextFormat != item.pTextFormat)
{
SafeRelease(&mItems[n].pTextFormat);
- item.pTextFormat->AddRef();
+ if (item.pTextFormat != NULL)
+ item.pTextFormat->AddRef();
}
mItems[n] = item;
slide(n);
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 89ec3a9..6d750e0 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -386,6 +386,13 @@
if has('win32')
" Invalid font names are accepted in GTK GUI
call assert_fails('set guifont=xa1bc23d7f', 'E596:')
+
+ " doing this four times used to cause a crash
+ set guifont=
+ set guifont=
+ set guifont=
+ set guifont=
+ set guifont=
endif
if has('xfontset')
diff --git a/src/version.c b/src/version.c
index f441581..7559069 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2113,
+/**/
2112,
/**/
2111,