summaryrefslogtreecommitdiff
path: root/src/gui_gtk.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2012-04-25 17:10:16 +0200
committerBram Moolenaar <Bram@vim.org>2012-04-25 17:10:16 +0200
commit68fb5dcd1314e371df1b1ee24d99fab776711a65 (patch)
tree9e580519098ae1807a2f2d7e0e02962322401209 /src/gui_gtk.c
parent68a33fc7042106e7a1c4ddd9797b158d34905af9 (diff)
downloadvim-git-68fb5dcd1314e371df1b1ee24d99fab776711a65.tar.gz
updated for version 7.3.506v7.3.506
Problem: GTK gives an error when selecting a non-existent file. Solution: Add a handler to avoid the error. (Christian Brabandt)
Diffstat (limited to 'src/gui_gtk.c')
-rw-r--r--src/gui_gtk.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/gui_gtk.c b/src/gui_gtk.c
index 50079b406..eecd87b7e 100644
--- a/src/gui_gtk.c
+++ b/src/gui_gtk.c
@@ -90,6 +90,11 @@ typedef int GtkWidget;
static void entry_activate_cb(GtkWidget *widget, gpointer data);
static void entry_changed_cb(GtkWidget *entry, GtkWidget *dialog);
static void find_replace_cb(GtkWidget *widget, gpointer data);
+static void recent_func_log_func(
+ const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data);
#if defined(FEAT_TOOLBAR)
/*
@@ -839,6 +844,8 @@ gui_mch_browse(int saving UNUSED,
GtkWidget *fc;
#endif
char_u dirbuf[MAXPATHL];
+ guint log_handler;
+ const gchar *domain = "Gtk";
title = CONVERT_TO_UTF8(title);
@@ -853,6 +860,11 @@ gui_mch_browse(int saving UNUSED,
/* If our pointer is currently hidden, then we should show it. */
gui_mch_mousehide(FALSE);
+ /* Hack: The GTK file dialog warns when it can't access a new file, this
+ * makes it shut up. http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
+ log_handler = g_log_set_handler(domain, G_LOG_LEVEL_WARNING,
+ recent_func_log_func, NULL);
+
#ifdef USE_FILE_CHOOSER
/* We create the dialog each time, so that the button text can be "Open"
* or "Save" according to the action. */
@@ -916,6 +928,7 @@ gui_mch_browse(int saving UNUSED,
gtk_widget_show(gui.filedlg);
gtk_main();
#endif
+ g_log_remove_handler(domain, log_handler);
CONVERT_TO_UTF8_FREE(title);
if (gui.browse_fname == NULL)
@@ -1882,3 +1895,14 @@ ex_helpfind(eap)
* backwards compatibility anyway. */
do_cmdline_cmd((char_u *)"emenu ToolBar.FindHelp");
}
+
+ static void
+recent_func_log_func(const gchar *log_domain UNUSED,
+ GLogLevelFlags log_level UNUSED,
+ const gchar *message UNUSED,
+ gpointer user_data UNUSED)
+{
+ /* We just want to suppress the warnings. */
+ /* http://bugzilla.gnome.org/show_bug.cgi?id=664587 */
+}
+