updated for version 7.0216
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 04f1372..058e90c 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3187,6 +3187,10 @@
}
}
+#ifndef HAVE_GTK2
+static int showing_tabline = 0;
+#endif
+
/*
* Show or hide the tabline.
*/
@@ -3196,11 +3200,19 @@
if (gui.tabline == NULL)
return;
+#ifdef HAVE_GTK2
+ /* gtk_notebook_get_show_tabs does not exist in gtk+-1.2.10 */
if (!showit != !gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline)))
+#else
+ if (!showit != !showing_tabline)
+#endif
{
/* Note: this may cause a resize event */
gtk_notebook_set_show_tabs(GTK_NOTEBOOK(gui.tabline), showit);
update_window_manager_hints();
+#ifndef HAVE_GTK2
+ showing_tabline = showit;
+#endif
}
}
@@ -3211,7 +3223,13 @@
gui_mch_showing_tabline(void)
{
return gui.tabline != NULL
- && gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline));
+#ifdef HAVE_GTK2
+ /* gtk_notebook_get_show_tabs does not exist in gtk+-1.2.10 */
+ && gtk_notebook_get_show_tabs(GTK_NOTEBOOK(gui.tabline))
+#else
+ && showing_tabline
+#endif
+ ;
}
/*
@@ -4456,7 +4474,9 @@
if (gui.fontname != NULL)
{
- fontname = vim_strsave(gui.fontname);
+ /* Apparently some font names include a comma, need to escape that,
+ * because in 'guifont' it separates names. */
+ fontname = vim_strsave_escaped(gui.fontname, (char_u *)",");
g_free(gui.fontname);
gui.fontname = NULL;
}
@@ -4526,11 +4546,19 @@
GTK_FONT_SELECTION_DIALOG(dialog));
if (name != NULL)
{
- if (input_conv.vc_type != CONV_NONE)
- fontname = string_convert(&input_conv, (char_u *)name, NULL);
- else
- fontname = vim_strsave((char_u *)name);
+ char_u *p;
+
+ /* Apparently some font names include a comma, need to escape
+ * that, because in 'guifont' it separates names. */
+ p = vim_strsave_escaped((char_u *)name, (char_u *)",");
g_free(name);
+ if (input_conv.vc_type != CONV_NONE)
+ {
+ fontname = string_convert(&input_conv, p, NULL);
+ vim_free(p);
+ }
+ else
+ fontname = p;
}
}