diff --git a/src/gui.h b/src/gui.h
index d44a2e2..4769716 100644
--- a/src/gui.h
+++ b/src/gui.h
@@ -541,3 +541,29 @@
 # define CONVERT_FROM_UTF8(String) (String)
 # define CONVERT_FROM_UTF8_FREE(String) ((String) = (char_u *)NULL)
 #endif /* FEAT_GUI_GTK */
+
+#ifdef FEAT_GUI_GTK
+/*
+ * The second parameter of g_signal_handlers_disconnect_by_func() is supposed
+ * to be a function pointer which was passed to g_signal_connect_*() somewhere
+ * previously, and hence it must be of type GCallback, i.e., void (*)(void).
+ *
+ * Meanwhile, g_signal_handlers_disconnect_by_func() is a macro calling
+ * g_signal_handlers_disconnect_matched(), and the second parameter of the
+ * former is to be passed to the sixth parameter of the latter the type of
+ * which, however, is declared as void * in the function signature.
+ *
+ * While the ISO C Standard does not require that function pointers be
+ * interconvertible to void *, widely-used compilers such as gcc and clang
+ * do such conversion implicitly and automatically on some platforms without
+ * issuing any warning.
+ *
+ * For Solaris Studio, that is not the case.  An explicit type cast is needed
+ * to suppress warnings on that particular conversion.
+ */
+# if defined(__SUNPRO_C) && defined(USE_GTK3)
+#  define FUNC2GENERIC(func) (void *)(func)
+# else
+#  define FUNC2GENERIC(func) G_CALLBACK(func)
+# endif
+#endif /* FEAT_GUI_GTK */
diff --git a/src/gui_beval.c b/src/gui_beval.c
index ac1df47..4a7c06e 100644
--- a/src/gui_beval.c
+++ b/src/gui_beval.c
@@ -508,7 +508,7 @@
     /* LINTED: avoid warning: dubious operation on enum */
 # if GTK_CHECK_VERSION(3,0,0)
     g_signal_handlers_disconnect_by_func(G_OBJECT(beval->target),
-					 G_CALLBACK(target_event_cb),
+					 FUNC2GENERIC(target_event_cb),
 					 beval);
 # else
     gtk_signal_disconnect_by_func((GtkObject*)(beval->target),
@@ -522,7 +522,7 @@
 	/* LINTED: avoid warning: dubious operation on enum */
 # if GTK_CHECK_VERSION(3,0,0)
 	g_signal_handlers_disconnect_by_func(G_OBJECT(gui.mainwin),
-					     G_CALLBACK(mainwin_event_cb),
+					     FUNC2GENERIC(mainwin_event_cb),
 					     beval);
 # else
 	gtk_signal_disconnect_by_func((GtkObject*)(gui.mainwin),
diff --git a/src/gui_gtk_f.c b/src/gui_gtk_f.c
index 931a939..182fe82 100644
--- a/src/gui_gtk_f.c
+++ b/src/gui_gtk_f.c
@@ -505,18 +505,18 @@
 	{
 #if GTK_CHECK_VERSION(3,0,0)
 	    g_signal_handlers_disconnect_by_func(G_OBJECT(child->widget),
-		    G_CALLBACK(gtk_form_child_map),
+		    FUNC2GENERIC(gtk_form_child_map),
 		    child);
 	    g_signal_handlers_disconnect_by_func(G_OBJECT(child->widget),
-		    G_CALLBACK(gtk_form_child_unmap),
+		    FUNC2GENERIC(gtk_form_child_unmap),
 		    child);
 #else
 	    gtk_signal_disconnect_by_func(GTK_OBJECT(child->widget),
-					  GTK_SIGNAL_FUNC(gtk_form_child_map),
-					  child);
+		    GTK_SIGNAL_FUNC(gtk_form_child_map),
+		    child);
 	    gtk_signal_disconnect_by_func(GTK_OBJECT(child->widget),
-					  GTK_SIGNAL_FUNC(gtk_form_child_unmap),
-					  child);
+		    GTK_SIGNAL_FUNC(gtk_form_child_unmap),
+		    child);
 #endif
 
 	    gdk_window_set_user_data(child->window, NULL);
@@ -793,14 +793,14 @@
 	{
 #if GTK_CHECK_VERSION(3,0,0)
 	    g_signal_handlers_disconnect_by_func(G_OBJECT(child->widget),
-					  G_CALLBACK(&gtk_form_child_map), child);
+		    FUNC2GENERIC(&gtk_form_child_map), child);
 	    g_signal_handlers_disconnect_by_func(G_OBJECT(child->widget),
-					  G_CALLBACK(&gtk_form_child_unmap), child);
+		    FUNC2GENERIC(&gtk_form_child_unmap), child);
 #else
 	    gtk_signal_disconnect_by_func(GTK_OBJECT(child->widget),
-					  GTK_SIGNAL_FUNC(&gtk_form_child_map), child);
+		    GTK_SIGNAL_FUNC(&gtk_form_child_map), child);
 	    gtk_signal_disconnect_by_func(GTK_OBJECT(child->widget),
-					  GTK_SIGNAL_FUNC(&gtk_form_child_unmap), child);
+		    GTK_SIGNAL_FUNC(&gtk_form_child_unmap), child);
 #endif
 
 	    /* FIXME: This will cause problems for reparenting NO_WINDOW
diff --git a/src/version.c b/src/version.c
index de3d5fc..0767d4a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -764,6 +764,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2358,
+/**/
     2357,
 /**/
     2356,
