Index: src/build.c
===================================================================
--- src/build.c	(r��vision 3060)
+++ src/build.c	(copie de travail)
@@ -1030,7 +1030,6 @@
 {
 	GtkWidget *menu, *item = NULL, *image, *separator;
 	GtkAccelGroup *accel_group = gtk_accel_group_new();
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 	GeanyKeyGroup *group = g_ptr_array_index(keybinding_groups, GEANY_KEY_GROUP_BUILD);
 
 	menu = gtk_menu_new();
@@ -1039,7 +1038,7 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("_Compile"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compiles the current file"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_COMPILE, item);
 	image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
@@ -1051,8 +1050,8 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("_Build"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item,
-				_("Builds the current file (generate an executable file)"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Builds the current file "
+										"(generate an executable file)"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_LINK, item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_build_activate), NULL);
 	menu_items->item_link = item;
@@ -1065,8 +1064,8 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("_Make All"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
-										   "make tool and the default target"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Builds the current file with the "
+										"make tool and the default target"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKE, item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_make_activate),
 		GINT_TO_POINTER(GBO_MAKE_ALL));
@@ -1077,8 +1076,8 @@
 	gtk_widget_show(item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOWNTARGET, item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
-										   "make tool and the specified target"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Builds the current file with the "
+										"make tool and the specified target"));
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_make_activate),
 		GINT_TO_POINTER(GBO_MAKE_CUSTOM));
 	menu_items->item_make_custom = item;
@@ -1088,8 +1087,8 @@
 	gtk_widget_show(item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOBJECT, item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file using the "
-										   "make tool"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compiles the current file using the "
+										"make tool"));
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_make_activate),
 		GINT_TO_POINTER(GBO_MAKE_OBJECT));
 	menu_items->item_make_object = item;
@@ -1121,7 +1120,7 @@
 	item = gtk_image_menu_item_new_from_stock("gtk-execute", accel_group);
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Run or view the current file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Run or view the current file"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_RUN, item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_execute_activate), NULL);
 	menu_items->item_exec = item;
@@ -1136,9 +1135,9 @@
 	gtk_widget_show(item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_OPTIONS, item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item,
+	gtk_widget_set_tooltip_text(item,
 				_("Sets the includes and library paths for the compiler and "
-				  "the program arguments for execution"), NULL);
+				  "the program arguments for execution"));
 	image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
 	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
@@ -1154,7 +1153,6 @@
 {
 	GtkWidget *menu, *item, *image, *separator;
 	GtkAccelGroup *accel_group = gtk_accel_group_new();
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 	GeanyKeyGroup *group = g_ptr_array_index(keybinding_groups, GEANY_KEY_GROUP_BUILD);
 
 	menu = gtk_menu_new();
@@ -1163,7 +1161,7 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> _DVI"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a DVI file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compiles the current file into a DVI file"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_COMPILE, item);
 	image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
@@ -1176,7 +1174,7 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("LaTeX -> _PDF"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compiles the current file into a PDF file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compiles the current file into a PDF file"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_LINK, item);
 	image = gtk_image_new_from_stock("gtk-convert", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
@@ -1193,8 +1191,8 @@
 	item = gtk_image_menu_item_new_with_mnemonic(_("_Make All"));
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
-										   "make tool and the default target"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Builds the current file with the "
+										"make tool and the default target"));
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKE, item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_make_activate),
 		GINT_TO_POINTER(GBO_MAKE_ALL));
@@ -1205,8 +1203,8 @@
 	gtk_widget_show(item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_MAKEOWNTARGET, item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item, _("Builds the current file with the "
-										   "make tool and the specified target"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Builds the current file with the "
+										"make tool and the specified target"));
 	g_signal_connect(item, "activate", G_CALLBACK(on_build_make_activate),
 		GINT_TO_POINTER(GBO_MAKE_CUSTOM));
 	menu_items->item_make_custom = item;
@@ -1240,7 +1238,7 @@
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_RUN, item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compile and view the current file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compile and view the current file"));
 	image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
 	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
@@ -1253,7 +1251,7 @@
 	gtk_widget_show(item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_RUN2, item);
-	gtk_tooltips_set_tip(tooltips, item, _("Compile and view the current file"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Compile and view the current file"));
 	image = gtk_image_new_from_stock("gtk-find", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
 	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
@@ -1272,8 +1270,7 @@
 	gtk_widget_show(item);
 	GEANY_ADD_WIDGET_ACCEL(GEANY_KEYS_BUILD_OPTIONS, item);
 	gtk_container_add(GTK_CONTAINER(menu), item);
-	gtk_tooltips_set_tip(tooltips, item,
-				_("Sets the program paths and arguments"), NULL);
+	gtk_widget_set_tooltip_text(item, _("Sets the program paths and arguments"));
 	image = gtk_image_new_from_stock("gtk-preferences", GTK_ICON_SIZE_MENU);
 	gtk_widget_show(image);
 	gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(item), image);
@@ -1379,7 +1376,7 @@
 		}
 		gtk_table_attach_defaults(GTK_TABLE(table), entries[0], 1, 2, 0, 1);
 		g_object_set_data_full(G_OBJECT(dialog), "tex_entry1",
-					gtk_widget_ref(entries[0]), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(entries[0]), (GDestroyNotify)g_object_unref);
 	}
 
 	/* LaTeX -> PDF args */
@@ -1398,7 +1395,7 @@
 		}
 		gtk_table_attach_defaults(GTK_TABLE(table), entries[1], 1, 2, 1, 2);
 		g_object_set_data_full(G_OBJECT(dialog), "tex_entry2",
-					gtk_widget_ref(entries[1]), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(entries[1]), (GDestroyNotify)g_object_unref);
 	}
 
 	/* View LaTeX -> DVI args */
@@ -1417,7 +1414,7 @@
 		}
 		gtk_table_attach_defaults(GTK_TABLE(table), entries[2], 1, 2, 2, 3);
 		g_object_set_data_full(G_OBJECT(dialog), "tex_entry3",
-					gtk_widget_ref(entries[2]), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(entries[2]), (GDestroyNotify)g_object_unref);
 	}
 
 	/* View LaTeX -> PDF args */
@@ -1436,7 +1433,7 @@
 		}
 		gtk_table_attach_defaults(GTK_TABLE(table), entries[3], 1, 2, 3, 4);
 		g_object_set_data_full(G_OBJECT(dialog), "tex_entry4",
-					gtk_widget_ref(entries[3]), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(entries[3]), (GDestroyNotify)g_object_unref);
 	}
 
 	label = gtk_label_new(_("%f will be replaced by the current filename, e.g. test_file.c\n"
@@ -1563,7 +1560,7 @@
 		row++;
 
 		g_object_set_data_full(G_OBJECT(dialog), "includes_entry1",
-					gtk_widget_ref(entries[0]), (GDestroyNotify)gtk_widget_unref);
+							   g_object_ref(entries[0]), (GDestroyNotify)g_object_unref);
 	}
 
 	/* lib-args */
@@ -1584,7 +1581,7 @@
 		row++;
 
 		g_object_set_data_full(G_OBJECT(dialog), "includes_entry2",
-					gtk_widget_ref(entries[1]), (GDestroyNotify)gtk_widget_unref);
+							   g_object_ref(entries[1]), (GDestroyNotify)g_object_unref);
 	}
 
 	/* program-args */
@@ -1605,7 +1602,7 @@
 		row++;
 
 		g_object_set_data_full(G_OBJECT(dialog), "includes_entry3",
-						gtk_widget_ref(entries[2]), (GDestroyNotify)gtk_widget_unref);
+							   g_object_ref(entries[2]), (GDestroyNotify)g_object_unref);
 
 		/* disable the run command if there is a valid project run command set */
 		if (app->project && NZV(app->project->run_cmd))
Index: src/utils.c
===================================================================
--- src/utils.c	(r��vision 3060)
+++ src/utils.c	(copie de travail)
@@ -1300,7 +1300,46 @@
 	return 0;
 }
 
+/* hum, GLib >= 2.2 deprecates g_strcasecmp(), but always define it. This
+ * disallow us to rewrite it, then rewrite under another name and link it. */
+#if defined(G_DISABLE_DEPRECATED) && GLIB_CHECK_VERSION (2, 2, 0)
+/* full copy of GLib's g_strcasecmp(),
+ * Copyright (C) 1995-1997  Peter Mattis, Spencer Kimball and Josh MacDonald
+ */
+gint
+my_g_strcasecmp (const gchar *s1,
+				 const gchar *s2)
+{
+#ifdef HAVE_STRCASECMP
+	g_return_val_if_fail (s1 != NULL, 0);
+	g_return_val_if_fail (s2 != NULL, 0);
 
+	return strcasecmp (s1, s2);
+#else
+	gint c1, c2;
+
+	g_return_val_if_fail (s1 != NULL, 0);
+	g_return_val_if_fail (s2 != NULL, 0);
+
+	while (*s1 && *s2)
+	{
+		/* According to A. Cox, some platforms have islower's that
+		 * don't work right on non-uppercase
+		 */
+		c1 = isupper ((guchar)*s1) ? tolower ((guchar)*s1) : *s1;
+		c2 = isupper ((guchar)*s2) ? tolower ((guchar)*s2) : *s2;
+		if (c1 != c2)
+			return (c1 - c2);
+		s1++; s2++;
+	}
+
+  return (((gint)(guchar) *s1) - ((gint)(guchar) *s2));
+#endif
+}
+
+#define g_strcasecmp my_g_strcasecmp
+#endif
+
 /**
  *  Gets a sorted list of files from the specified directory.
  *  Locale encoding is expected for path and used for the file list. The list and the data
Index: src/interface.c
===================================================================
--- src/interface.c	(r��vision 3060)
+++ src/interface.c	(copie de travail)
@@ -21,7 +21,7 @@
 
 #define GLADE_HOOKUP_OBJECT(component,widget,name) \
   g_object_set_data_full (G_OBJECT (component), name, \
-    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
+    g_object_ref (widget), (GDestroyNotify) g_object_unref)
 
 #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
   g_object_set_data (G_OBJECT (component), name, widget)
@@ -281,10 +281,7 @@
   GtkWidget *hbox1;
   GtkWidget *statusbar;
   GtkAccelGroup *accel_group;
-  GtkTooltips *tooltips;
 
-  tooltips = gtk_tooltips_new ();
-
   accel_group = gtk_accel_group_new ();
 
   window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
@@ -356,7 +353,7 @@
   menu_save_all1 = gtk_image_menu_item_new_with_mnemonic (_("Save A_ll"));
   gtk_widget_show (menu_save_all1);
   gtk_container_add (GTK_CONTAINER (file1_menu), menu_save_all1);
-  gtk_tooltips_set_tip (tooltips, menu_save_all1, _("Saves all open files"), NULL);
+  gtk_widget_set_tooltip_text (menu_save_all1, _("Saves all open files"));
 
   image2615 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2615);
@@ -405,7 +402,7 @@
   print1 = gtk_image_menu_item_new_from_stock ("gtk-print", accel_group);
   gtk_widget_show (print1);
   gtk_container_add (GTK_CONTAINER (file1_menu), print1);
-  gtk_tooltips_set_tip (tooltips, print1, _("Prints the current file"), NULL);
+  gtk_widget_set_tooltip_text (print1, _("Prints the current file"));
 
   separator14 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator14);
@@ -427,7 +424,7 @@
   menu_close_all1 = gtk_image_menu_item_new_with_mnemonic (_("C_lose All"));
   gtk_widget_show (menu_close_all1);
   gtk_container_add (GTK_CONTAINER (file1_menu), menu_close_all1);
-  gtk_tooltips_set_tip (tooltips, menu_close_all1, _("Closes all open files"), NULL);
+  gtk_widget_set_tooltip_text (menu_close_all1, _("Closes all open files"));
 
   image2619 = gtk_image_new_from_stock ("gtk-close", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2619);
@@ -441,7 +438,7 @@
   menu_quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
   gtk_widget_show (menu_quit1);
   gtk_container_add (GTK_CONTAINER (file1_menu), menu_quit1);
-  gtk_tooltips_set_tip (tooltips, menu_quit1, _("Quit Geany"), NULL);
+  gtk_widget_set_tooltip_text (menu_quit1, _("Quit Geany"));
 
   edit1 = gtk_menu_item_new_with_mnemonic (_("_Edit"));
   gtk_widget_show (edit1);
@@ -496,7 +493,7 @@
   menu_format1 = gtk_menu_item_new_with_mnemonic (_("_Format"));
   gtk_widget_show (menu_format1);
   gtk_container_add (GTK_CONTAINER (edit1_menu), menu_format1);
-  gtk_tooltips_set_tip (tooltips, menu_format1, _("Convert the case of the current selection"), NULL);
+  gtk_widget_set_tooltip_text (menu_format1, _("Convert the case of the current selection"));
 
   menu_format1_menu = gtk_menu_new ();
   gtk_menu_item_set_submenu (GTK_MENU_ITEM (menu_format1), menu_format1_menu);
@@ -581,32 +578,32 @@
   menu_add_changelog_entry1 = gtk_menu_item_new_with_mnemonic (_("Insert _ChangeLog Entry"));
   gtk_widget_show (menu_add_changelog_entry1);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), menu_add_changelog_entry1);
-  gtk_tooltips_set_tip (tooltips, menu_add_changelog_entry1, _("Inserts a typical ChangeLog entry in the current file"), NULL);
+  gtk_widget_set_tooltip_text (menu_add_changelog_entry1, _("Inserts a typical ChangeLog entry in the current file"));
 
   insert_file_header1 = gtk_menu_item_new_with_mnemonic (_("Insert File _Header"));
   gtk_widget_show (insert_file_header1);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), insert_file_header1);
-  gtk_tooltips_set_tip (tooltips, insert_file_header1, _("Inserts a file header at the beginning of the file"), NULL);
+  gtk_widget_set_tooltip_text (insert_file_header1, _("Inserts a file header at the beginning of the file"));
 
   insert_function_description2 = gtk_menu_item_new_with_mnemonic (_("Insert _Function Description"));
   gtk_widget_show (insert_function_description2);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), insert_function_description2);
-  gtk_tooltips_set_tip (tooltips, insert_function_description2, _("Inserts a description before the current function"), NULL);
+  gtk_widget_set_tooltip_text (insert_function_description2, _("Inserts a description before the current function"));
 
   insert_multiline_comment2 = gtk_menu_item_new_with_mnemonic (_("Insert _Multiline Comment"));
   gtk_widget_show (insert_multiline_comment2);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), insert_multiline_comment2);
-  gtk_tooltips_set_tip (tooltips, insert_multiline_comment2, _("Inserts a multiline comment"), NULL);
+  gtk_widget_set_tooltip_text (insert_multiline_comment2, _("Inserts a multiline comment"));
 
   insert_gpl_notice2 = gtk_menu_item_new_with_mnemonic (_("Insert _GPL Notice"));
   gtk_widget_show (insert_gpl_notice2);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), insert_gpl_notice2);
-  gtk_tooltips_set_tip (tooltips, insert_gpl_notice2, _("Inserts a GPL notice (should be done at the beginning of the file)"), NULL);
+  gtk_widget_set_tooltip_text (insert_gpl_notice2, _("Inserts a GPL notice (should be done at the beginning of the file)"));
 
   insert_bsd_license_notice2 = gtk_menu_item_new_with_mnemonic (_("Insert _BSD License Notice"));
   gtk_widget_show (insert_bsd_license_notice2);
   gtk_container_add (GTK_CONTAINER (add_comments1_menu), insert_bsd_license_notice2);
-  gtk_tooltips_set_tip (tooltips, insert_bsd_license_notice2, _("Inserts a BSD license notice (should be done at the beginning of the file)"), NULL);
+  gtk_widget_set_tooltip_text (insert_bsd_license_notice2, _("Inserts a BSD license notice (should be done at the beginning of the file)"));
 
   insert_date1 = gtk_image_menu_item_new_with_mnemonic (_("Insert Dat_e"));
   gtk_widget_show (insert_date1);
@@ -725,7 +722,7 @@
   menu_change_font1 = gtk_image_menu_item_new_with_mnemonic (_("Change _Font"));
   gtk_widget_show (menu_change_font1);
   gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_change_font1);
-  gtk_tooltips_set_tip (tooltips, menu_change_font1, _("Change the default font"), NULL);
+  gtk_widget_set_tooltip_text (menu_change_font1, _("Change the default font"));
 
   image2627 = gtk_image_new_from_stock ("gtk-select-font", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2627);
@@ -747,13 +744,13 @@
   menu_show_messages_window1 = gtk_check_menu_item_new_with_mnemonic (_("Show Message _Window"));
   gtk_widget_show (menu_show_messages_window1);
   gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_show_messages_window1);
-  gtk_tooltips_set_tip (tooltips, menu_show_messages_window1, _("Toggle the window with status and compiler messages on and off"), NULL);
+  gtk_widget_set_tooltip_text (menu_show_messages_window1, _("Toggle the window with status and compiler messages on and off"));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_show_messages_window1), TRUE);
 
   menu_show_toolbar1 = gtk_check_menu_item_new_with_mnemonic (_("Show _Toolbar"));
   gtk_widget_show (menu_show_toolbar1);
   gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_show_toolbar1);
-  gtk_tooltips_set_tip (tooltips, menu_show_toolbar1, _("Toggle the toolbar on and off"), NULL);
+  gtk_widget_set_tooltip_text (menu_show_toolbar1, _("Toggle the toolbar on and off"));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_show_toolbar1), TRUE);
 
   menu_show_sidebar1 = gtk_check_menu_item_new_with_mnemonic (_("Show Side_bar"));
@@ -764,13 +761,13 @@
   menu_markers_margin1 = gtk_check_menu_item_new_with_mnemonic (_("Show _Markers Margin"));
   gtk_widget_show (menu_markers_margin1);
   gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_markers_margin1);
-  gtk_tooltips_set_tip (tooltips, menu_markers_margin1, _("Shows or hides the small margin right of the line numbers, which is used to mark lines."), NULL);
+  gtk_widget_set_tooltip_text (menu_markers_margin1, _("Shows or hides the small margin right of the line numbers, which is used to mark lines."));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_markers_margin1), TRUE);
 
   menu_linenumber_margin1 = gtk_check_menu_item_new_with_mnemonic (_("Show _Line Numbers"));
   gtk_widget_show (menu_linenumber_margin1);
   gtk_container_add (GTK_CONTAINER (menu_view1_menu), menu_linenumber_margin1);
-  gtk_tooltips_set_tip (tooltips, menu_linenumber_margin1, _("Shows or hides the Line Number margin."), NULL);
+  gtk_widget_set_tooltip_text (menu_linenumber_margin1, _("Shows or hides the Line Number margin."));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_linenumber_margin1), TRUE);
 
   menu_separator5 = gtk_separator_menu_item_new ();
@@ -800,7 +797,7 @@
   menu_line_wrapping1 = gtk_check_menu_item_new_with_mnemonic (_("_Line Wrapping"));
   gtk_widget_show (menu_line_wrapping1);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_line_wrapping1);
-  gtk_tooltips_set_tip (tooltips, menu_line_wrapping1, _("Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines."), NULL);
+  gtk_widget_set_tooltip_text (menu_line_wrapping1, _("Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines."));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_line_wrapping1), TRUE);
 
   line_breaking1 = gtk_check_menu_item_new_with_mnemonic (_("Line _Breaking"));
@@ -845,7 +842,7 @@
   set_file_readonly1 = gtk_check_menu_item_new_with_mnemonic (_("Read _Only"));
   gtk_widget_show (set_file_readonly1);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), set_file_readonly1);
-  gtk_tooltips_set_tip (tooltips, set_file_readonly1, _("Treat this file as read-only. No changes can be made."), NULL);
+  gtk_widget_set_tooltip_text (set_file_readonly1, _("Treat this file as read-only. No changes can be made."));
 
   menu_write_unicode_bom1 = gtk_check_menu_item_new_with_mnemonic (_("_Write Unicode BOM"));
   gtk_widget_show (menu_write_unicode_bom1);
@@ -913,12 +910,12 @@
   menu_replace_tabs = gtk_menu_item_new_with_mnemonic (_("_Replace Tabs by Spaces"));
   gtk_widget_show (menu_replace_tabs);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_replace_tabs);
-  gtk_tooltips_set_tip (tooltips, menu_replace_tabs, _("Replaces all tabs in document by spaces."), NULL);
+  gtk_widget_set_tooltip_text (menu_replace_tabs, _("Replaces all tabs in document by spaces."));
 
   menu_replace_spaces = gtk_menu_item_new_with_mnemonic (_("Replace Spaces b_y Tabs"));
   gtk_widget_show (menu_replace_spaces);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_replace_spaces);
-  gtk_tooltips_set_tip (tooltips, menu_replace_spaces, _("Replaces all spaces in the document by tab characters."), NULL);
+  gtk_widget_set_tooltip_text (menu_replace_spaces, _("Replaces all spaces in the document by tab characters."));
 
   separator22 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator22);
@@ -928,12 +925,12 @@
   menu_fold_all1 = gtk_menu_item_new_with_mnemonic (_("_Fold All"));
   gtk_widget_show (menu_fold_all1);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_fold_all1);
-  gtk_tooltips_set_tip (tooltips, menu_fold_all1, _("Folds all contractible code blocks"), NULL);
+  gtk_widget_set_tooltip_text (menu_fold_all1, _("Folds all contractible code blocks"));
 
   menu_unfold_all1 = gtk_menu_item_new_with_mnemonic (_("_Unfold All"));
   gtk_widget_show (menu_unfold_all1);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_unfold_all1);
-  gtk_tooltips_set_tip (tooltips, menu_unfold_all1, _("Unfolds all contracted code blocks"), NULL);
+  gtk_widget_set_tooltip_text (menu_unfold_all1, _("Unfolds all contracted code blocks"));
 
   separator23 = gtk_separator_menu_item_new ();
   gtk_widget_show (separator23);
@@ -947,7 +944,7 @@
   menu_remove_indicators1 = gtk_menu_item_new_with_mnemonic (_("Remove Error _Indicators"));
   gtk_widget_show (menu_remove_indicators1);
   gtk_container_add (GTK_CONTAINER (menu_document1_menu), menu_remove_indicators1);
-  gtk_tooltips_set_tip (tooltips, menu_remove_indicators1, _("Removes all error indicators in the current document."), NULL);
+  gtk_widget_set_tooltip_text (menu_remove_indicators1, _("Removes all error indicators in the current document."));
 
   menu_project1 = gtk_menu_item_new_with_mnemonic (_("_Project"));
   gtk_widget_show (menu_project1);
@@ -1003,7 +1000,7 @@
   menu_choose_color1 = gtk_image_menu_item_new_with_mnemonic (_("_Color Chooser"));
   gtk_widget_show (menu_choose_color1);
   gtk_container_add (GTK_CONTAINER (tools1_menu), menu_choose_color1);
-  gtk_tooltips_set_tip (tooltips, menu_choose_color1, _("Open a color chooser dialog, to interactively pick colors from a palette."), NULL);
+  gtk_widget_set_tooltip_text (menu_choose_color1, _("Open a color chooser dialog, to interactively pick colors from a palette."));
 
   image2631 = gtk_image_new_from_stock ("gtk-select-color", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2631);
@@ -1012,17 +1009,17 @@
   menu_count_words1 = gtk_menu_item_new_with_mnemonic (_("_Word Count"));
   gtk_widget_show (menu_count_words1);
   gtk_container_add (GTK_CONTAINER (tools1_menu), menu_count_words1);
-  gtk_tooltips_set_tip (tooltips, menu_count_words1, _("Counts the words and characters in the current selection or the whole document"), NULL);
+  gtk_widget_set_tooltip_text ( menu_count_words1, _("Counts the words and characters in the current selection or the whole document"));
 
   load_tags1 = gtk_menu_item_new_with_mnemonic (_("Load Ta_gs"));
   gtk_widget_show (load_tags1);
   gtk_container_add (GTK_CONTAINER (tools1_menu), load_tags1);
-  gtk_tooltips_set_tip (tooltips, load_tags1, _("Load global tags file"), NULL);
+  gtk_widget_set_tooltip_text (load_tags1, _("Load global tags file"));
 
   menu_reload_configuration1 = gtk_image_menu_item_new_with_mnemonic (_("_Reload Configuration"));
   gtk_widget_show (menu_reload_configuration1);
   gtk_container_add (GTK_CONTAINER (tools1_menu), menu_reload_configuration1);
-  gtk_tooltips_set_tip (tooltips, menu_reload_configuration1, _("Reload configuration data like snippets, templates and filetype extensions."), NULL);
+  gtk_widget_set_tooltip_text (menu_reload_configuration1, _("Reload configuration data like snippets, templates and filetype extensions."));
 
   image2632 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2632);
@@ -1046,7 +1043,7 @@
   keyboard_shortcuts1 = gtk_menu_item_new_with_mnemonic (_("_Keyboard Shortcuts"));
   gtk_widget_show (keyboard_shortcuts1);
   gtk_container_add (GTK_CONTAINER (menu_help1_menu), keyboard_shortcuts1);
-  gtk_tooltips_set_tip (tooltips, keyboard_shortcuts1, _("Shows a list of all keyboard shortcuts for Geany."), NULL);
+  gtk_widget_set_tooltip_text (keyboard_shortcuts1, _("Shows a list of all keyboard shortcuts for Geany."));
 
   website1 = gtk_menu_item_new_with_mnemonic (_("_Website"));
   gtk_widget_show (website1);
@@ -1075,23 +1072,23 @@
   gtk_widget_show (toolbutton_new);
   gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (toolbutton_new), FALSE);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_new);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_new), tooltips, _("Create a new file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_new), _("Create a new file"));
 
   toolbutton_open = (GtkWidget*) gtk_menu_tool_button_new_from_stock ("gtk-open");
   gtk_widget_show (toolbutton_open);
   gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (toolbutton_open), FALSE);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_open);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_open), tooltips, _("Open an existing file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_open), _("Open an existing file"));
 
   toolbutton_save = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-save");
   gtk_widget_show (toolbutton_save);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_save);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_save), tooltips, _("Save the current file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_save), _("Save the current file"));
 
   toolbutton_saveall = (GtkWidget*) gtk_tool_button_new (NULL, _("Save all"));
   gtk_widget_show (toolbutton_saveall);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_saveall);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_saveall), tooltips, _("Save all open files"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_saveall), _("Save all open files"));
 
   separatortoolitem7 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem7);
@@ -1100,12 +1097,12 @@
   toolbutton_reload = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-revert-to-saved");
   gtk_widget_show (toolbutton_reload);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_reload);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_reload), tooltips, _("Reload the current file from disk"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_reload), _("Reload the current file from disk"));
 
   toolbutton_close = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-close");
   gtk_widget_show (toolbutton_close);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_close);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_close), tooltips, _("Close the current file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_close), _("Close the current file"));
 
   separatortoolitem2 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem2);
@@ -1114,12 +1111,12 @@
   toolbutton_undo = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-undo");
   gtk_widget_show (toolbutton_undo);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_undo);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_undo), tooltips, _("Undo the last modification"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_undo), _("Undo the last modification"));
 
   toolbutton_redo = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-redo");
   gtk_widget_show (toolbutton_redo);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_redo);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_redo), tooltips, _("Redo the last modification"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_redo), _("Redo the last modification"));
 
   separatortoolitem9 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem9);
@@ -1129,13 +1126,13 @@
   gtk_widget_show (toolbutton_back);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_back);
   gtk_widget_set_sensitive (toolbutton_back, FALSE);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_back), tooltips, _("Navigate back a location"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_back), _("Navigate back a location"));
 
   toolbutton_forward = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-go-forward");
   gtk_widget_show (toolbutton_forward);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_forward);
   gtk_widget_set_sensitive (toolbutton_forward, FALSE);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_forward), tooltips, _("Navigate forward a location"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_forward), _("Navigate forward a location"));
 
   separatortoolitem10 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem10);
@@ -1146,12 +1143,12 @@
   toolbutton_compile = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Compile"));
   gtk_widget_show (toolbutton_compile);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_compile);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_compile), tooltips, _("Compile the current file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_compile), _("Compile the current file"));
 
   toolbutton_run = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-execute");
   gtk_widget_show (toolbutton_run);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_run);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_run), tooltips, _("Run or view the current file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_run), _("Run or view the current file"));
 
   separatortoolitem6 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem6);
@@ -1162,7 +1159,7 @@
   toolbutton_colour = (GtkWidget*) gtk_tool_button_new (tmp_image, _("Color"));
   gtk_widget_show (toolbutton_colour);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_colour);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_colour), tooltips, _("Open a color chooser dialog, to interactively pick colors from a palette."), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_colour), _("Open a color chooser dialog, to interactively pick colors from a palette."));
 
   separatortoolitem3 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem3);
@@ -1171,12 +1168,12 @@
   toolbutton_zoomin = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-zoom-in");
   gtk_widget_show (toolbutton_zoomin);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_zoomin);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_zoomin), tooltips, _("Zoom in the text"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_zoomin), _("Zoom in the text"));
 
   toolbutton_zoomout = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-zoom-out");
   gtk_widget_show (toolbutton_zoomout);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_zoomout);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_zoomout), tooltips, _("Zoom out the text"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_zoomout), _("Zoom out the text"));
 
   separatortoolitem4 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem4);
@@ -1185,12 +1182,12 @@
   toolbutton_indent_dec = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-unindent");
   gtk_widget_show (toolbutton_indent_dec);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_indent_dec);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_indent_dec), tooltips, _("Decrease indentation"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_indent_dec), _("Decrease indentation"));
 
   toolbutton_indent_inc = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-indent");
   gtk_widget_show (toolbutton_indent_inc);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_indent_inc);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_indent_inc), tooltips, _("Increase indentation"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_indent_inc), _("Increase indentation"));
 
   separatortoolitem11 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem11);
@@ -1203,12 +1200,12 @@
   toolbutton_search_entry = gtk_entry_new ();
   gtk_widget_show (toolbutton_search_entry);
   gtk_container_add (GTK_CONTAINER (toolbutton_search_item), toolbutton_search_entry);
-  gtk_tooltips_set_tip (tooltips, toolbutton_search_entry, _("Find the entered text in the current file"), NULL);
+  gtk_widget_set_tooltip_text (toolbutton_search_entry, _("Find the entered text in the current file"));
 
   toolbutton_search = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-find");
   gtk_widget_show (toolbutton_search);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_search);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_search), tooltips, _("Find the entered text in the current file"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_search), _("Find the entered text in the current file"));
 
   separatortoolitem5 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem5);
@@ -1221,14 +1218,14 @@
   toolbutton_goto_entry = gtk_entry_new ();
   gtk_widget_show (toolbutton_goto_entry);
   gtk_container_add (GTK_CONTAINER (toolbutton_goto_item), toolbutton_goto_entry);
-  gtk_tooltips_set_tip (tooltips, toolbutton_goto_entry, _("Enter a line number and jump to it."), NULL);
+  gtk_widget_set_tooltip_text (toolbutton_goto_entry, _("Enter a line number and jump to it."));
   gtk_entry_set_max_length (GTK_ENTRY (toolbutton_goto_entry), 5);
   gtk_entry_set_width_chars (GTK_ENTRY (toolbutton_goto_entry), 8);
 
   toolbutton_goto = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-jump-to");
   gtk_widget_show (toolbutton_goto);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_goto);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_goto), tooltips, _("Jump to the entered line number."), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_goto), _("Jump to the entered line number."));
 
   separatortoolitem8 = (GtkWidget*) gtk_separator_tool_item_new ();
   gtk_widget_show (separatortoolitem8);
@@ -1243,7 +1240,7 @@
   toolbutton_quit = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-quit");
   gtk_widget_show (toolbutton_quit);
   gtk_container_add (GTK_CONTAINER (toolbar1), toolbutton_quit);
-  gtk_tool_item_set_tooltip (GTK_TOOL_ITEM (toolbutton_quit), tooltips, _("Quit Geany"), NULL);
+  gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (toolbutton_quit), _("Quit Geany"));
 
   vpaned1 = gtk_vpaned_new ();
   gtk_widget_show (vpaned1);
@@ -1991,7 +1988,6 @@
   GLADE_HOOKUP_OBJECT (window1, notebook_info_label_scribble, "notebook_info_label_scribble");
   GLADE_HOOKUP_OBJECT (window1, hbox1, "hbox1");
   GLADE_HOOKUP_OBJECT (window1, statusbar, "statusbar");
-  GLADE_HOOKUP_OBJECT_NO_REF (window1, tooltips, "tooltips");
 
   gtk_window_add_accel_group (GTK_WINDOW (window1), accel_group);
 
@@ -2159,10 +2155,7 @@
   GtkWidget *go_to_line;
   GtkWidget *image2575;
   GtkAccelGroup *accel_group;
-  GtkTooltips *tooltips;
 
-  tooltips = gtk_tooltips_new ();
-
   accel_group = gtk_accel_group_new ();
 
   edit_menu1 = gtk_menu_new ();
@@ -2306,32 +2299,32 @@
   add_changelog_entry2 = gtk_menu_item_new_with_mnemonic (_("Insert _ChangeLog Entry"));
   gtk_widget_show (add_changelog_entry2);
   gtk_container_add (GTK_CONTAINER (comments_menu), add_changelog_entry2);
-  gtk_tooltips_set_tip (tooltips, add_changelog_entry2, _("Inserts a typical ChangeLog entry in the current file"), NULL);
+  gtk_widget_set_tooltip_text (add_changelog_entry2, _("Inserts a typical ChangeLog entry in the current file"));
 
   insert_file_header2 = gtk_menu_item_new_with_mnemonic (_("Insert File _Header"));
   gtk_widget_show (insert_file_header2);
   gtk_container_add (GTK_CONTAINER (comments_menu), insert_file_header2);
-  gtk_tooltips_set_tip (tooltips, insert_file_header2, _("Inserts a file header at the beginning of the file"), NULL);
+  gtk_tooltips_set_tip (insert_file_header2, _("Inserts a file header at the beginning of the file"));
 
   insert_function_description1 = gtk_menu_item_new_with_mnemonic (_("Insert _Function Description"));
   gtk_widget_show (insert_function_description1);
   gtk_container_add (GTK_CONTAINER (comments_menu), insert_function_description1);
-  gtk_tooltips_set_tip (tooltips, insert_function_description1, _("Inserts a description before the current function"), NULL);
+  gtk_widget_set_tooltip_text (insert_function_description1, _("Inserts a description before the current function"));
 
   insert_multiline_comment1 = gtk_menu_item_new_with_mnemonic (_("Insert _Multiline Comment"));
   gtk_widget_show (insert_multiline_comment1);
   gtk_container_add (GTK_CONTAINER (comments_menu), insert_multiline_comment1);
-  gtk_tooltips_set_tip (tooltips, insert_multiline_comment1, _("Inserts a multiline comment"), NULL);
+  gtk_widget_set_tooltip_text (insert_multiline_comment1, _("Inserts a multiline comment"));
 
   insert_gpl_notice1 = gtk_menu_item_new_with_mnemonic (_("Insert _GPL Notice"));
   gtk_widget_show (insert_gpl_notice1);
   gtk_container_add (GTK_CONTAINER (comments_menu), insert_gpl_notice1);
-  gtk_tooltips_set_tip (tooltips, insert_gpl_notice1, _("Inserts a GPL notice (should be done at the beginning of the file)"), NULL);
+  gtk_widget_set_tooltip_text (insert_gpl_notice1, _("Inserts a GPL notice (should be done at the beginning of the file)"));
 
   insert_bsd_license_notice1 = gtk_menu_item_new_with_mnemonic (_("Insert _BSD License Notice"));
   gtk_widget_show (insert_bsd_license_notice1);
   gtk_container_add (GTK_CONTAINER (comments_menu), insert_bsd_license_notice1);
-  gtk_tooltips_set_tip (tooltips, insert_bsd_license_notice1, _("Inserts a BSD license notice (should be done at the beginning of the file)"), NULL);
+  gtk_widget_set_tooltip_text (insert_bsd_license_notice1, _("Inserts a BSD license notice (should be done at the beginning of the file)"));
 
   insert_date2 = gtk_image_menu_item_new_with_mnemonic (_("Insert Dat_e"));
   gtk_widget_show (insert_date2);
@@ -2402,7 +2395,7 @@
   go_to_line = gtk_image_menu_item_new_with_mnemonic (_("_Go to Line"));
   gtk_widget_show (go_to_line);
   gtk_container_add (GTK_CONTAINER (edit_menu1), go_to_line);
-  gtk_tooltips_set_tip (tooltips, go_to_line, _("Go to the entered line"), NULL);
+  gtk_widget_set_tooltip_text (go_to_line, _("Go to the entered line"));
 
   image2575 = gtk_image_new_from_stock ("gtk-jump-to", GTK_ICON_SIZE_MENU);
   gtk_widget_show (image2575);
@@ -2550,7 +2543,6 @@
   GLADE_HOOKUP_OBJECT (edit_menu1, separator15, "separator15");
   GLADE_HOOKUP_OBJECT (edit_menu1, go_to_line, "go_to_line");
   GLADE_HOOKUP_OBJECT (edit_menu1, image2575, "image2575");
-  GLADE_HOOKUP_OBJECT_NO_REF (edit_menu1, tooltips, "tooltips");
 
   gtk_menu_set_accel_group (GTK_MENU (edit_menu1), accel_group);
 
@@ -2913,10 +2905,7 @@
   GtkWidget *button3;
   GtkWidget *button4;
   GtkWidget *button5;
-  GtkTooltips *tooltips;
 
-  tooltips = gtk_tooltips_new ();
-
   prefs_dialog = gtk_dialog_new ();
   gtk_window_set_title (GTK_WINDOW (prefs_dialog), _("Preferences"));
   gtk_window_set_modal (GTK_WINDOW (prefs_dialog), TRUE);
@@ -2954,11 +2943,11 @@
   check_load_session = gtk_check_button_new_with_mnemonic (_("Load files from the last session"));
   gtk_widget_show (check_load_session);
   gtk_box_pack_start (GTK_BOX (vbox4), check_load_session, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_load_session, _("Opens at startup the files from the last session"), NULL);
+  gtk_widget_set_tooltip_text (check_load_session, _("Opens at startup the files from the last session"));
 
   check_vte = gtk_check_button_new_with_mnemonic (_("Load virtual terminal support"));
   gtk_box_pack_start (GTK_BOX (vbox4), check_vte, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_vte, _("Whether the virtual terminal emulation (VTE) should be loaded at startup. Disable it if you do not need it."), NULL);
+  gtk_widget_set_tooltip_text (check_vte, _("Whether the virtual terminal emulation (VTE) should be loaded at startup. Disable it if you do not need it."));
 
   check_plugins = gtk_check_button_new_with_mnemonic (_("Enable plugin support"));
   gtk_widget_show (check_plugins);
@@ -2986,12 +2975,12 @@
   check_save_win_pos = gtk_check_button_new_with_mnemonic (_("Save window position and geometry"));
   gtk_widget_show (check_save_win_pos);
   gtk_box_pack_start (GTK_BOX (vbox34), check_save_win_pos, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_save_win_pos, _("Saves the window position and geometry and restores it at the start"), NULL);
+  gtk_widget_set_tooltip_text (check_save_win_pos, _("Saves the window position and geometry and restores it at the start"));
 
   check_ask_for_quit = gtk_check_button_new_with_mnemonic (_("Confirm exit"));
   gtk_widget_show (check_ask_for_quit);
   gtk_box_pack_start (GTK_BOX (vbox34), check_ask_for_quit, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_ask_for_quit, _("Shows a confirmation dialog on exit."), NULL);
+  gtk_widget_set_tooltip_text (check_ask_for_quit, _("Shows a confirmation dialog on exit."));
 
   label206 = gtk_label_new (_("<b>Shutdown</b>"));
   gtk_widget_show (label206);
@@ -3015,12 +3004,12 @@
   check_project_session = gtk_check_button_new_with_mnemonic (_("Use project-based session files"));
   gtk_widget_show (check_project_session);
   gtk_box_pack_start (GTK_BOX (vbox35), check_project_session, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_project_session, _("Whether to store a project's session files and open them when re-opening the project."), NULL);
+  gtk_widget_set_tooltip_text (check_project_session, _("Whether to store a project's session files and open them when re-opening the project."));
 
   check_project_file_in_basedir = gtk_check_button_new_with_mnemonic (_("Store project file inside the project base directory"));
   gtk_widget_show (check_project_file_in_basedir);
   gtk_box_pack_start (GTK_BOX (vbox35), check_project_file_in_basedir, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_project_file_in_basedir, _("When enabled, a project file is stored by default inside the project base directory when creating new projects instead of one directory above the base directory. You can still change the path of the project file in the New Project dialog."), NULL);
+  gtk_widget_set_tooltip_text (check_project_file_in_basedir, _("When enabled, a project file is stored by default inside the project base directory when creating new projects instead of one directory above the base directory. You can still change the path of the project file in the New Project dialog."));
 
   label207 = gtk_label_new (_("<b>Projects</b>"));
   gtk_widget_show (label207);
@@ -3044,22 +3033,22 @@
   check_beep = gtk_check_button_new_with_mnemonic (_("Beep on errors or when compilation has finished"));
   gtk_widget_show (check_beep);
   gtk_box_pack_start (GTK_BOX (vbox21), check_beep, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_beep, _("Whether to beep if an error occurred or when the compilation process has finished."), NULL);
+  gtk_widget_set_tooltip_text (check_beep, _("Whether to beep if an error occurred or when the compilation process has finished."));
 
   check_switch_pages = gtk_check_button_new_with_mnemonic (_("Switch to status message list at new message"));
   gtk_widget_show (check_switch_pages);
   gtk_box_pack_start (GTK_BOX (vbox21), check_switch_pages, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_switch_pages, _("Switch to the status message tab (in the notebook window at the bottom) if a new status message arrives."), NULL);
+  gtk_widget_set_tooltip_text (check_switch_pages, _("Switch to the status message tab (in the notebook window at the bottom) if a new status message arrives."));
 
   check_suppress_status_msgs = gtk_check_button_new_with_mnemonic (_("Suppress status messages in the status bar"));
   gtk_widget_show (check_suppress_status_msgs);
   gtk_box_pack_start (GTK_BOX (vbox21), check_suppress_status_msgs, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_suppress_status_msgs, _("Removes all messages from the status bar. The messages are still displayed in the status messages window."), NULL);
+  gtk_widget_set_tooltip_text (check_suppress_status_msgs, _("Removes all messages from the status bar. The messages are still displayed in the status messages window."));
 
   check_auto_focus = gtk_check_button_new_with_mnemonic (_("Auto focus widgets (focus follows mouse)"));
   gtk_widget_show (check_auto_focus);
   gtk_box_pack_start (GTK_BOX (vbox21), check_auto_focus, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_auto_focus, _("Gives the focus automatically to widgets below the mouse cursor. Works for the main editor widget, the scribble, the toolbar search and goto line fields and the VTE."), NULL);
+  gtk_widget_set_tooltip_text (check_auto_focus, _("Gives the focus automatically to widgets below the mouse cursor. Works for the main editor widget, the scribble, the toolbar search and goto line fields and the VTE."));
 
   label199 = gtk_label_new (_("<b>Miscellaneous</b>"));
   gtk_widget_show (label199);
@@ -3094,7 +3083,7 @@
   gtk_table_attach (GTK_TABLE (table11), startup_path_entry, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, startup_path_entry, _("Path to start in when opening or saving files. Must be an absolute path. Leave blank to use the current working directory."), NULL);
+  gtk_widget_set_tooltip_text (startup_path_entry, _("Path to start in when opening or saving files. Must be an absolute path. Leave blank to use the current working directory."));
   gtk_entry_set_invisible_char (GTK_ENTRY (startup_path_entry), 8226);
 
   startup_path_button = gtk_button_new ();
@@ -3119,7 +3108,7 @@
   gtk_table_attach (GTK_TABLE (table11), project_file_path_entry, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, project_file_path_entry, _("Path to start in when opening project files"), NULL);
+  gtk_widget_set_tooltip_text (project_file_path_entry, _("Path to start in when opening project files"));
   gtk_entry_set_invisible_char (GTK_ENTRY (project_file_path_entry), 8226);
 
   project_file_path_button = gtk_button_new ();
@@ -3163,12 +3152,12 @@
   check_list_symbol = gtk_check_button_new_with_mnemonic (_("Show symbol list"));
   gtk_widget_show (check_list_symbol);
   gtk_box_pack_start (GTK_BOX (vbox11), check_list_symbol, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_list_symbol, _("Toggle the symbol list on and off"), NULL);
+  gtk_widget_set_tooltip_text (check_list_symbol, _("Toggle the symbol list on and off"));
 
   check_list_openfiles = gtk_check_button_new_with_mnemonic (_("Show documents list"));
   gtk_widget_show (check_list_openfiles);
   gtk_box_pack_start (GTK_BOX (vbox11), check_list_openfiles, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_list_openfiles, _("Toggle the documents list on and off"), NULL);
+  gtk_widget_set_tooltip_text (check_list_openfiles, _("Toggle the documents list on and off"));
 
   check_list_openfiles_fullpath = gtk_check_button_new_with_mnemonic (_("Show full path name in documents list"));
   gtk_widget_show (check_list_openfiles_fullpath);
@@ -3221,7 +3210,7 @@
   gtk_table_attach (GTK_TABLE (table2), msgwin_font, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, msgwin_font, _("Sets the font for the message window"), NULL);
+  gtk_widget_set_tooltip_text (msgwin_font, _("Sets the font for the message window"));
   gtk_font_button_set_show_style (GTK_FONT_BUTTON (msgwin_font), FALSE);
 
   tagbar_font = gtk_font_button_new ();
@@ -3229,7 +3218,7 @@
   gtk_table_attach (GTK_TABLE (table2), tagbar_font, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, tagbar_font, _("Sets the font for the symbol list"), NULL);
+  gtk_widget_set_tooltip_text (tagbar_font, _("Sets the font for the symbol list"));
   gtk_font_button_set_show_style (GTK_FONT_BUTTON (tagbar_font), FALSE);
 
   editor_font = gtk_font_button_new ();
@@ -3237,7 +3226,7 @@
   gtk_table_attach (GTK_TABLE (table2), editor_font, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, editor_font, _("Sets the editor font"), NULL);
+  gtk_widget_set_tooltip_text (editor_font, _("Sets the editor font"));
 
   label99 = gtk_label_new (_("<b>Fonts</b>"));
   gtk_widget_show (label99);
@@ -3265,7 +3254,7 @@
   check_show_tab_cross = gtk_check_button_new_with_mnemonic (_("Show close buttons"));
   gtk_widget_show (check_show_tab_cross);
   gtk_box_pack_start (GTK_BOX (vbox26), check_show_tab_cross, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_show_tab_cross, _("Shows a small cross button in the file tabs to easily close files when clicking on it (requires restart of Geany)."), NULL);
+  gtk_widget_set_tooltip_text (check_show_tab_cross, _("Shows a small cross button in the file tabs to easily close files when clicking on it (requires restart of Geany)."));
 
   hbox7 = gtk_hbox_new (FALSE, 12);
   gtk_widget_show (hbox7);
@@ -3279,7 +3268,7 @@
   radio_tab_left = gtk_radio_button_new_with_mnemonic (NULL, _("Left"));
   gtk_widget_show (radio_tab_left);
   gtk_box_pack_start (GTK_BOX (hbox7), radio_tab_left, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, radio_tab_left, _("File tabs will be placed on the left of the notebook"), NULL);
+  gtk_widget_set_tooltip_text (radio_tab_left, _("File tabs will be placed on the left of the notebook"));
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_tab_left), radio_tab_left_group);
   radio_tab_left_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_tab_left));
   gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radio_tab_left), TRUE);
@@ -3287,7 +3276,7 @@
   radio_tab_right = gtk_radio_button_new_with_mnemonic (NULL, _("Right"));
   gtk_widget_show (radio_tab_right);
   gtk_box_pack_start (GTK_BOX (hbox7), radio_tab_right, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, radio_tab_right, _("File tabs will be placed on the right of the notebook"), NULL);
+  gtk_widget_set_tooltip_text (radio_tab_right, _("File tabs will be placed on the right of the notebook"));
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_tab_right), radio_tab_left_group);
   radio_tab_left_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_tab_right));
 
@@ -3388,7 +3377,7 @@
   check_statusbar_visible = gtk_check_button_new_with_mnemonic (_("Show status bar"));
   gtk_widget_show (check_statusbar_visible);
   gtk_box_pack_start (GTK_BOX (vbox22), check_statusbar_visible, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_statusbar_visible, _("Whether to show the status bar at the bottom of the main window."), NULL);
+  gtk_widget_set_tooltip_text (check_statusbar_visible, _("Whether to show the status bar at the bottom of the main window."));
 
   label187 = gtk_label_new (_("<b>Miscellaneous</b>"));
   gtk_widget_show (label187);
@@ -3440,52 +3429,52 @@
   check_toolbar_fileops = gtk_check_button_new_with_mnemonic (_("Show file operation buttons"));
   gtk_widget_show (check_toolbar_fileops);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_fileops, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_fileops, _("Display the New, Open, Close, Save and Reload buttons in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_fileops, _("Display the New, Open, Close, Save and Reload buttons in the toolbar"));
 
   check_toolbar_undo = gtk_check_button_new_with_mnemonic (_("Show Redo and Undo buttons"));
   gtk_widget_show (check_toolbar_undo);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_undo, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_undo, _("Display the Redo and Undo buttons in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_undo, _("Display the Redo and Undo buttons in the toolbar"));
 
   check_toolbar_navigation = gtk_check_button_new_with_mnemonic (_("Show Back and Forward buttons"));
   gtk_widget_show (check_toolbar_navigation);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_navigation, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_navigation, _("Display the Back and Forward buttons in the toolbar used for code navigation"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_navigation, _("Display the Back and Forward buttons in the toolbar used for code navigation"));
 
   check_toolbar_compile = gtk_check_button_new_with_mnemonic (_("Show Compile and Run buttons"));
   gtk_widget_show (check_toolbar_compile);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_compile, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_compile, _("Display the Compile and Run buttons in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_compile, _("Display the Compile and Run buttons in the toolbar"));
 
   check_toolbar_colour = gtk_check_button_new_with_mnemonic (_("Show Color Chooser button"));
   gtk_widget_show (check_toolbar_colour);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_colour, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_colour, _("Display the Color Chooser button in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_colour, _("Display the Color Chooser button in the toolbar"));
 
   check_toolbar_zoom = gtk_check_button_new_with_mnemonic (_("Show Zoom In and Zoom Out buttons"));
   gtk_widget_show (check_toolbar_zoom);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_zoom, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_zoom, _("Display the Zoom In and Zoom Out buttons in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_zoom, _("Display the Zoom In and Zoom Out buttons in the toolbar"));
 
   check_toolbar_indent = gtk_check_button_new_with_mnemonic (_("Show Increase and Decrease Indentation buttons"));
   gtk_widget_show (check_toolbar_indent);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_indent, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_indent, _("Display the Increase and Decrease Indentation buttons in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_indent, _("Display the Increase and Decrease Indentation buttons in the toolbar"));
 
   check_toolbar_search = gtk_check_button_new_with_mnemonic (_("Show Search field"));
   gtk_widget_show (check_toolbar_search);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_search, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_search, _("Display the search field and button in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_search, _("Display the search field and button in the toolbar"));
 
   check_toolbar_goto = gtk_check_button_new_with_mnemonic (_("Show Go to Line field"));
   gtk_widget_show (check_toolbar_goto);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_goto, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_goto, _("Display the line number field and button in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_goto, "Display the line number field and button in the toolbar");
 
   check_toolbar_quit = gtk_check_button_new_with_mnemonic (_("Show Quit button"));
   gtk_widget_show (check_toolbar_quit);
   gtk_box_pack_start (GTK_BOX (vbox16), check_toolbar_quit, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_toolbar_quit, _("Display the quit button in the toolbar"), NULL);
+  gtk_widget_set_tooltip_text (check_toolbar_quit, "Display the quit button in the toolbar");
 
   label165 = gtk_label_new (_("<b>Items</b>"));
   gtk_widget_show (label165);
@@ -3638,7 +3627,7 @@
   gtk_table_attach (GTK_TABLE (table13), spin_indent_width, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_indent_width, _("The width in chars of a single indent"), NULL);
+  gtk_widget_set_tooltip_text (spin_indent_width, "The width in chars of a single indent");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_indent_width), TRUE);
   gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spin_indent_width), GTK_UPDATE_IF_VALID);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_indent_width), TRUE);
@@ -3648,7 +3637,7 @@
   gtk_table_attach (GTK_TABLE (table13), radio_indent_spaces, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, radio_indent_spaces, _("Use spaces when inserting indentation"), NULL);
+  gtk_widget_set_tooltip_text (radio_indent_spaces, "Use spaces when inserting indentation");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_indent_spaces), radio_indent_spaces_group);
   radio_indent_spaces_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_indent_spaces));
 
@@ -3657,7 +3646,7 @@
   gtk_table_attach (GTK_TABLE (table13), radio_indent_tabs, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, radio_indent_tabs, _("Use one tab per indent"), NULL);
+  gtk_widget_set_tooltip_text (radio_indent_tabs, "Use one tab per indent");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_indent_tabs), radio_indent_spaces_group);
   radio_indent_spaces_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_indent_tabs));
 
@@ -3666,7 +3655,7 @@
   gtk_table_attach (GTK_TABLE (table13), radio_indent_both, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, radio_indent_both, _("Use spaces if the total indent is less than the tab width, otherwise use both"), NULL);
+  gtk_widget_set_tooltip_text (radio_indent_both, "Use spaces if the total indent is less than the tab width, otherwise use both");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_indent_both), radio_indent_spaces_group);
   radio_indent_spaces_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_indent_both));
 
@@ -3689,7 +3678,7 @@
   spin_tab_width = gtk_spin_button_new (GTK_ADJUSTMENT (spin_tab_width_adj), 1, 0);
   gtk_widget_show (spin_tab_width);
   gtk_box_pack_start (GTK_BOX (hbox13), spin_tab_width, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, spin_tab_width, _("The width of a tab when Tabs & Spaces is set for a document"), NULL);
+  gtk_widget_set_tooltip_text (spin_tab_width, "The width of a tab when Tabs & Spaces is set for a document");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_tab_width), TRUE);
   gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (spin_tab_width), GTK_UPDATE_IF_VALID);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_tab_width), TRUE);
@@ -3699,12 +3688,12 @@
   gtk_table_attach (GTK_TABLE (table13), check_detect_indent, 1, 2, 5, 6,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, check_detect_indent, _("Whether to detect the indentation type from file contents when a file is opened."), NULL);
+  gtk_widget_set_tooltip_text (check_detect_indent, "Whether to detect the indentation type from file contents when a file is opened.");
 
   check_tab_key_indents = gtk_check_button_new_with_mnemonic (_("Tab key indents"));
   gtk_widget_show (check_tab_key_indents);
   gtk_box_pack_start (GTK_BOX (vbox25), check_tab_key_indents, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_tab_key_indents, _("Pressing tab/shift-tab indents/unindents instead of inserting a tab character."), NULL);
+  gtk_widget_set_tooltip_text (check_tab_key_indents, "Pressing tab/shift-tab indents/unindents instead of inserting a tab character.");
 
   label195 = gtk_label_new (_("<b>Indentation</b>"));
   gtk_widget_show (label195);
@@ -3728,37 +3717,37 @@
   check_line_wrapping = gtk_check_button_new_with_mnemonic (_("Line wrapping"));
   gtk_widget_show (check_line_wrapping);
   gtk_box_pack_start (GTK_BOX (vbox17), check_line_wrapping, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_line_wrapping, _("Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines."), NULL);
+  gtk_widget_set_tooltip_text (check_line_wrapping, "Wrap the line at the window border and continue it on the next line. Note: line wrapping has a high performance cost for large documents so should be disabled on slow machines.");
 
   check_smart_home = gtk_check_button_new_with_mnemonic (_("Enable \"smart\" home key"));
   gtk_widget_show (check_smart_home);
   gtk_box_pack_start (GTK_BOX (vbox17), check_smart_home, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_smart_home, _("When \"smart\" home is enabled, the HOME key will move the caret to the first non-blank character of the line, unless it is already there, it moves to the very beginning of the line. When this feature is disabled, the HOME key always moves the caret to the start of the current line, regardless of its current position."), NULL);
+  gtk_widget_set_tooltip_text (check_smart_home, "When \"smart\" home is enabled, the HOME key will move the caret to the first non-blank character of the line, unless it is already there, it moves to the very beginning of the line. When this feature is disabled, the HOME key always moves the caret to the start of the current line, regardless of its current position.");
 
   check_disable_dnd = gtk_check_button_new_with_mnemonic (_("Disable Drag and Drop"));
   gtk_widget_show (check_disable_dnd);
   gtk_box_pack_start (GTK_BOX (vbox17), check_disable_dnd, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_disable_dnd, _("Disable drag and drop completely in the editor window so you can't drag and drop any selections within or outside of the editor window."), NULL);
+  gtk_widget_set_tooltip_text (check_disable_dnd, "Disable drag and drop completely in the editor window so you can't drag and drop any selections within or outside of the editor window.");
 
   check_folding = gtk_check_button_new_with_mnemonic (_("Enable folding"));
   gtk_widget_show (check_folding);
   gtk_box_pack_start (GTK_BOX (vbox17), check_folding, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_folding, _("Whether to enable folding the code"), NULL);
+  gtk_widget_set_tooltip_text (check_folding, "Whether to enable folding the code");
 
   check_unfold_children = gtk_check_button_new_with_mnemonic (_("Fold/unfold all children of a fold point"));
   gtk_widget_show (check_unfold_children);
   gtk_box_pack_start (GTK_BOX (vbox17), check_unfold_children, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_unfold_children, _("Fold or unfold all children of a fold point. By pressing the Shift key while clicking on a fold symbol the contrary behavior is used."), NULL);
+  gtk_widget_set_tooltip_text (check_unfold_children, "Fold or unfold all children of a fold point. By pressing the Shift key while clicking on a fold symbol the contrary behavior is used.");
 
   check_indicators = gtk_check_button_new_with_mnemonic (_("Use indicators to show compile errors"));
   gtk_widget_show (check_indicators);
   gtk_box_pack_start (GTK_BOX (vbox17), check_indicators, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_indicators, _("Whether to use indicators (a squiggly underline) to highlight the lines where the compiler found a warning or an error."), NULL);
+  gtk_widget_set_tooltip_text (check_indicators, "Whether to use indicators (a squiggly underline) to highlight the lines where the compiler found a warning or an error.");
 
   check_newline_strip = gtk_check_button_new_with_mnemonic (_("Newline strips trailing spaces"));
   gtk_widget_show (check_newline_strip);
   gtk_box_pack_start (GTK_BOX (vbox17), check_newline_strip, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_newline_strip, _("Enable newline to strip the trailing spaces on the previous line."), NULL);
+  gtk_widget_set_tooltip_text (check_newline_strip, "Enable newline to strip the trailing spaces on the previous line.");
 
   hbox11 = gtk_hbox_new (FALSE, 12);
   gtk_widget_show (hbox11);
@@ -3785,7 +3774,7 @@
   entry_toggle_mark = gtk_entry_new ();
   gtk_widget_show (entry_toggle_mark);
   gtk_box_pack_start (GTK_BOX (hbox12), entry_toggle_mark, FALSE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, entry_toggle_mark, _("A string which is added when toggling a line comment in a source file. It is used to mark the comment as toggled."), NULL);
+  gtk_widget_set_tooltip_text (entry_toggle_mark, "A string which is added when toggling a line comment in a source file. It is used to mark the comment as toggled.");
 
   label172 = gtk_label_new (_("<b>Features</b>"));
   gtk_widget_show (label172);
@@ -3814,22 +3803,22 @@
   check_complete_snippets = gtk_check_button_new_with_mnemonic (_("Snippet completion"));
   gtk_widget_show (check_complete_snippets);
   gtk_box_pack_start (GTK_BOX (vbox19), check_complete_snippets, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_complete_snippets, _("Type a defined short character sequence and complete it to a more complex string using a single keypress."), NULL);
+  gtk_widget_set_tooltip_text (check_complete_snippets, "Type a defined short character sequence and complete it to a more complex string using a single keypress.");
 
   check_xmltag = gtk_check_button_new_with_mnemonic (_("XML tag auto completion"));
   gtk_widget_show (check_xmltag);
   gtk_box_pack_start (GTK_BOX (vbox19), check_xmltag, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_xmltag, _("Automatic completion and closing of XML tags (includes HTML tags)"), NULL);
+  gtk_widget_set_tooltip_text (check_xmltag, "Automatic completion and closing of XML tags (includes HTML tags)");
 
   check_auto_multiline = gtk_check_button_new_with_mnemonic (_("Automatic continuation of multi-line comments"));
   gtk_widget_show (check_auto_multiline);
   gtk_box_pack_start (GTK_BOX (vbox19), check_auto_multiline, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_auto_multiline, _("Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment."), NULL);
+  gtk_widget_set_tooltip_text (check_auto_multiline, "Continue automatically multi-line comments in languages like C, C++ and Java when a new line is entered inside such a comment.");
 
   check_symbol_auto_completion = gtk_check_button_new_with_mnemonic (_("Automatic symbol completion"));
   gtk_widget_show (check_symbol_auto_completion);
   gtk_box_pack_start (GTK_BOX (vbox19), check_symbol_auto_completion, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_symbol_auto_completion, _("Automatic completion of known symbols in open files (function names, global variables, ...)"), NULL);
+  gtk_widget_set_tooltip_text (check_symbol_auto_completion, "Automatic completion of known symbols in open files (function names, global variables, ...)");
 
   table14 = gtk_table_new (3, 2, FALSE);
   gtk_widget_show (table14);
@@ -3864,7 +3853,7 @@
   gtk_table_attach (GTK_TABLE (table14), spin_symbol_complete_chars, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_symbol_complete_chars, _("The amount of characters which are necessary to show the symbol auto completion list."), NULL);
+  gtk_widget_set_tooltip_text (spin_symbol_complete_chars, "The amount of characters which are necessary to show the symbol auto completion list.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_symbol_complete_chars), TRUE);
 
   spin_symbollistheight_adj = gtk_adjustment_new (9, 1, 99, 1, 10, 0);
@@ -3873,7 +3862,7 @@
   gtk_table_attach (GTK_TABLE (table14), spin_symbollistheight, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_symbollistheight, _("Display height in rows for the auto completion list."), NULL);
+  gtk_widget_set_tooltip_text (spin_symbollistheight, "Display height in rows for the auto completion list.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_symbollistheight), TRUE);
 
   spin_autocompletion_max_entries_adj = gtk_adjustment_new (9, 1, 10000, 1, 10, 0);
@@ -3882,7 +3871,7 @@
   gtk_table_attach (GTK_TABLE (table14), spin_autocompletion_max_entries, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_autocompletion_max_entries, _("Maximum number of entries to display in the auto completion list."), NULL);
+  gtk_widget_set_tooltip_text (spin_autocompletion_max_entries, "Maximum number of entries to display in the auto completion list.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_autocompletion_max_entries), TRUE);
 
   label177 = gtk_label_new (_("<b>Completions</b>"));
@@ -3915,27 +3904,27 @@
 
   checkbutton1 = gtk_check_button_new_with_mnemonic (_("Invert syntax highlighting colors"));
   gtk_box_pack_start (GTK_BOX (vbox12), checkbutton1, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, checkbutton1, _("Use white text on a black background."), NULL);
+  gtk_widget_set_tooltip_text (checkbutton1, "Use white text on a black background.");
 
   check_indent = gtk_check_button_new_with_mnemonic (_("Show indentation guides"));
   gtk_widget_show (check_indent);
   gtk_box_pack_start (GTK_BOX (vbox12), check_indent, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_indent, _("Shows small dotted lines to help you to use the right indentation."), NULL);
+  gtk_widget_set_tooltip_text (check_indent, "Shows small dotted lines to help you to use the right indentation.");
 
   check_white_space = gtk_check_button_new_with_mnemonic (_("Show white space"));
   gtk_widget_show (check_white_space);
   gtk_box_pack_start (GTK_BOX (vbox12), check_white_space, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_white_space, _("Marks spaces with dots and tabs with arrows."), NULL);
+  gtk_widget_set_tooltip_text (check_white_space, "Marks spaces with dots and tabs with arrows.");
 
   check_line_end = gtk_check_button_new_with_mnemonic (_("Show line endings"));
   gtk_widget_show (check_line_end);
   gtk_box_pack_start (GTK_BOX (vbox12), check_line_end, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_line_end, _("Show the line ending character."), NULL);
+  gtk_widget_set_tooltip_text (check_line_end, "Show the line ending character.");
 
   check_scroll_stop_at_last_line = gtk_check_button_new_with_mnemonic (_("Stop scrolling at last line"));
   gtk_widget_show (check_scroll_stop_at_last_line);
   gtk_box_pack_start (GTK_BOX (vbox12), check_scroll_stop_at_last_line, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_scroll_stop_at_last_line, _("Whether to stop scrolling one page past the last line of a document."), NULL);
+  gtk_widget_set_tooltip_text (check_scroll_stop_at_last_line, "Whether to stop scrolling one page past the last line of a document.");
 
   label102 = gtk_label_new (_("<b>Display</b>"));
   gtk_widget_show (label102);
@@ -3984,7 +3973,7 @@
   gtk_table_attach (GTK_TABLE (table7), long_line_color, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, long_line_color, _("Sets the color of the long line marker"), NULL);
+  gtk_widget_set_tooltip_text (long_line_color, "Sets the color of the long line marker");
   gtk_color_button_set_title (GTK_COLOR_BUTTON (long_line_color), _("Color Chooser"));
 
   spin_long_line_adj = gtk_adjustment_new (72, 0, 1000, 1, 10, 0);
@@ -3993,7 +3982,7 @@
   gtk_table_attach (GTK_TABLE (table7), spin_long_line, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_long_line, _("The long line marker is a thin vertical line in the editor. It helps to mark long lines, or as a hint to break the line. Set this value to a value greater than 0 to specify the column where it should appear."), NULL);
+  gtk_widget_set_tooltip_text (spin_long_line, "The long line marker is a thin vertical line in the editor. It helps to mark long lines, or as a hint to break the line. Set this value to a value greater than 0 to specify the column where it should appear.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_long_line), TRUE);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_long_line), TRUE);
 
@@ -4006,14 +3995,14 @@
   radio_long_line_line = gtk_radio_button_new_with_mnemonic (NULL, _("Line"));
   gtk_widget_show (radio_long_line_line);
   gtk_box_pack_start (GTK_BOX (hbox5), radio_long_line_line, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, radio_long_line_line, _("Prints a vertical line in the editor window at the given cursor position (see below)."), NULL);
+  gtk_widget_set_tooltip_text (radio_long_line_line, "Prints a vertical line in the editor window at the given cursor position (see below).");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_long_line_line), radio_long_line_line_group);
   radio_long_line_line_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_long_line_line));
 
   radio_long_line_background = gtk_radio_button_new_with_mnemonic (NULL, _("Background"));
   gtk_widget_show (radio_long_line_background);
   gtk_box_pack_start (GTK_BOX (hbox5), radio_long_line_background, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, radio_long_line_background, _("The background color of characters after the given cursor position (see below) changed to the color set below. (This is recommended if you use proportional fonts)"), NULL);
+  gtk_widget_set_tooltip_text (radio_long_line_background, "The background color of characters after the given cursor position (see below) changed to the color set below. (This is recommended if you use proportional fonts)");
   gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_long_line_background), radio_long_line_line_group);
   radio_long_line_line_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_long_line_background));
 
@@ -4062,7 +4051,7 @@
   check_cmdline_new_files = gtk_check_button_new_with_mnemonic (_("Open new documents from the command-line"));
   gtk_widget_show (check_cmdline_new_files);
   gtk_box_pack_start (GTK_BOX (vbox38), check_cmdline_new_files, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_cmdline_new_files, _("Start a new file for each command-line filename that doesn't exist."), NULL);
+  gtk_widget_set_tooltip_text (check_cmdline_new_files, "Start a new file for each command-line filename that doesn't exist.");
 
   table15 = gtk_table_new (1, 2, FALSE);
   gtk_widget_show (table15);
@@ -4109,7 +4098,7 @@
   gtk_table_attach (GTK_TABLE (table5), eventbox1, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_tooltips_set_tip (tooltips, eventbox1, _("Sets the default encoding for newly created files."), NULL);
+  gtk_widget_set_tooltip_text (eventbox1, "Sets the default encoding for newly created files.");
 
   combo_new_encoding = gtk_combo_box_new_text ();
   gtk_widget_show (combo_new_encoding);
@@ -4134,7 +4123,7 @@
   gtk_table_attach (GTK_TABLE (table5), eventbox3, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (GTK_FILL), 0, 0);
-  gtk_tooltips_set_tip (tooltips, eventbox3, _("Sets the default encoding for opening existing files."), NULL);
+  gtk_widget_set_tooltip_text (eventbox3, "Sets the default encoding for opening existing files.");
 
   combo_open_encoding = gtk_combo_box_new_text ();
   gtk_widget_show (combo_open_encoding);
@@ -4145,7 +4134,7 @@
   gtk_table_attach (GTK_TABLE (table5), check_open_encoding, 0, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, check_open_encoding, _("This option disables the automatic detection of the file encoding when opening files and opens the file with the specified encoding (usually not needed)."), NULL);
+  gtk_widget_set_tooltip_text (check_open_encoding, "This option disables the automatic detection of the file encoding when opening files and opens the file with the specified encoding (usually not needed).");
 
   label219 = gtk_label_new (_("<b>Encodings</b>"));
   gtk_widget_show (label219);
@@ -4169,17 +4158,17 @@
   check_new_line = gtk_check_button_new_with_mnemonic (_("Ensure new line at file end"));
   gtk_widget_show (check_new_line);
   gtk_box_pack_start (GTK_BOX (vbox6), check_new_line, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_new_line, _("Ensures that at the end of the file is a new line"), NULL);
+  gtk_widget_set_tooltip_text (check_new_line, "Ensures that at the end of the file is a new line");
 
   check_trailing_spaces = gtk_check_button_new_with_mnemonic (_("Strip trailing spaces and tabs"));
   gtk_widget_show (check_trailing_spaces);
   gtk_box_pack_start (GTK_BOX (vbox6), check_trailing_spaces, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_trailing_spaces, _("Removes trailing spaces and tabs and the end of lines"), NULL);
+  gtk_widget_set_tooltip_text (check_trailing_spaces, "Removes trailing spaces and tabs and the end of lines");
 
   check_replace_tabs = gtk_check_button_new_with_mnemonic (_("Replace tabs by space"));
   gtk_widget_show (check_replace_tabs);
   gtk_box_pack_start (GTK_BOX (vbox6), check_replace_tabs, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_replace_tabs, _("Replaces all tabs in document by spaces."), NULL);
+  gtk_widget_set_tooltip_text (check_replace_tabs, "Replaces all tabs in document by spaces.");
 
   label19 = gtk_label_new (_("<b>Saving files</b>"));
   gtk_widget_show (label19);
@@ -4220,7 +4209,7 @@
   gtk_table_attach (GTK_TABLE (table10), spin_mru, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_mru, _("Specifies the number of files which are stored in the Recent files list."), NULL);
+  gtk_widget_set_tooltip_text (spin_mru, "Specifies the number of files which are stored in the Recent files list.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_mru), TRUE);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_mru), TRUE);
 
@@ -4237,7 +4226,7 @@
   gtk_table_attach (GTK_TABLE (table10), spin_disk_check, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, spin_disk_check, _("How often to check for changes to document files on disk, in seconds. Zero disables checking."), NULL);
+  gtk_widget_set_tooltip_text (spin_disk_check, "How often to check for changes to document files on disk, in seconds. Zero disables checking.");
   gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spin_disk_check), TRUE);
   gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (spin_disk_check), TRUE);
 
@@ -4268,12 +4257,12 @@
   check_ask_suppress_search_dialogs = gtk_check_button_new_with_mnemonic (_("Always wrap search and hide the Find dialog"));
   gtk_widget_show (check_ask_suppress_search_dialogs);
   gtk_box_pack_start (GTK_BOX (vbox36), check_ask_suppress_search_dialogs, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_ask_suppress_search_dialogs, _("Always wrap search around the document and hide the Find dialog after clicking Find Next/Previous."), NULL);
+  gtk_widget_set_tooltip_text (check_ask_suppress_search_dialogs, "Always wrap search around the document and hide the Find dialog after clicking Find Next/Previous.");
 
   check_search_use_current_word = gtk_check_button_new_with_mnemonic (_("Use the current word under the cursor for Find dialogs"));
   gtk_widget_show (check_search_use_current_word);
   gtk_box_pack_start (GTK_BOX (vbox36), check_search_use_current_word, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_search_use_current_word, _("Use current word under the cursor when opening the Find, Find in Files or Replace dialog and there is no selection."), NULL);
+  gtk_widget_set_tooltip_text (check_search_use_current_word, "Use current word under the cursor when opening the Find, Find in Files or Replace dialog and there is no selection.");
 
   check_fif_current_dir = gtk_check_button_new_with_mnemonic (_("Use the current file's directory for Find in Files"));
   gtk_widget_show (check_fif_current_dir);
@@ -4343,21 +4332,21 @@
   gtk_table_attach (GTK_TABLE (table1), entry_com_make, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_com_make, _("Path and options for the make tool"), NULL);
+  gtk_widget_set_tooltip_text (entry_com_make, "Path and options for the make tool");
 
   entry_com_term = gtk_entry_new ();
   gtk_widget_show (entry_com_term);
   gtk_table_attach (GTK_TABLE (table1), entry_com_term, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_com_term, _("A terminal emulator like xterm, gnome-terminal or konsole (should accept the -e argument)"), NULL);
+  gtk_widget_set_tooltip_text (entry_com_term, "A terminal emulator like xterm, gnome-terminal or konsole (should accept the -e argument)");
 
   entry_browser = gtk_entry_new ();
   gtk_widget_show (entry_browser);
   gtk_table_attach (GTK_TABLE (table1), entry_browser, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_browser, _("Path (and possibly additional arguments) to your favorite browser"), NULL);
+  gtk_widget_set_tooltip_text (entry_browser, "Path (and possibly additional arguments) to your favorite browser");
 
   button_make = gtk_button_new ();
   gtk_widget_show (button_make);
@@ -4444,7 +4433,7 @@
   gtk_table_attach (GTK_TABLE (table12), entry_contextaction, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_contextaction, _("Context action command. The currently selected word can be used with %s. It can appear anywhere in the given command and will be replaced before execution."), NULL);
+  gtk_widget_set_tooltip_text (entry_contextaction, "Context action command. The currently selected word can be used with %s. It can appear anywhere in the given command and will be replaced before execution.");
   gtk_entry_set_invisible_char (GTK_ENTRY (entry_contextaction), 9679);
 
   button_contextaction = gtk_button_new ();
@@ -4496,14 +4485,14 @@
   gtk_table_attach (GTK_TABLE (table6), entry_template_mail, 1, 2, 2, 3,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_mail, _("email address of the developer"), NULL);
+  gtk_widget_set_tooltip_text (entry_template_mail, "email address of the developer");
 
   entry_template_initial = gtk_entry_new ();
   gtk_widget_show (entry_template_initial);
   gtk_table_attach (GTK_TABLE (table6), entry_template_initial, 1, 2, 1, 2,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_initial, _("Initials of the developer name"), NULL);
+  gtk_widget_set_tooltip_text (entry_template_initial, "Initials of the developer name");
 
   label126 = gtk_label_new (_("Initial version:"));
   gtk_widget_show (label126);
@@ -4517,14 +4506,14 @@
   gtk_table_attach (GTK_TABLE (table6), entry_template_version, 1, 2, 4, 5,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_version, _("Version number, which a new file initially has"), NULL);
+  gtk_widget_set_tooltip_text (entry_template_version, "Version number, which a new file initially has");
 
   entry_template_company = gtk_entry_new ();
   gtk_widget_show (entry_template_company);
   gtk_table_attach (GTK_TABLE (table6), entry_template_company, 1, 2, 3, 4,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_company, _("Company name"), NULL);
+  gtk_widget_set_tooltip_text (entry_template_company, "Company name");
 
   label129 = gtk_label_new (_("Developer:"));
   gtk_widget_show (label129);
@@ -4559,7 +4548,7 @@
   gtk_table_attach (GTK_TABLE (table6), entry_template_developer, 1, 2, 0, 1,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_developer, _("The name of the developer"), NULL);
+  gtk_widget_set_tooltip_text (entry_template_developer, "The name of the developer");
 
   label216 = gtk_label_new (_("Year:"));
   gtk_widget_show (label216);
@@ -4587,21 +4576,21 @@
   gtk_table_attach (GTK_TABLE (table6), entry_template_datetime, 1, 2, 7, 8,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_datetime, _("Specify a format for the the {datetime} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function."), NULL);
+  gtk_widget_set_tooltip_text (entry_template_datetime, "Specify a format for the the {datetime} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function.");
 
   entry_template_year = gtk_entry_new ();
   gtk_widget_show (entry_template_year);
   gtk_table_attach (GTK_TABLE (table6), entry_template_year, 1, 2, 5, 6,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_year, _("Specify a format for the the {year} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function."), NULL);
+  gtk_widget_set_tooltip_text (entry_template_year, "Specify a format for the the {year} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function.");
 
   entry_template_date = gtk_entry_new ();
   gtk_widget_show (entry_template_date);
   gtk_table_attach (GTK_TABLE (table6), entry_template_date, 1, 2, 6, 7,
                     (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                     (GtkAttachOptions) (0), 0, 0);
-  gtk_tooltips_set_tip (tooltips, entry_template_date, _("Specify a format for the the {date} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function."), NULL);
+  gtk_widget_set_tooltip_text (entry_template_date, "Specify a format for the the {date} wildcard. You can use any conversion specifiers which can be used with the ANSI C strftime function.");
 
   label180 = gtk_label_new (_("<b>Template data</b>"));
   gtk_widget_show (label180);
@@ -4685,7 +4674,7 @@
   entry_print_external_cmd = gtk_entry_new ();
   gtk_widget_show (entry_print_external_cmd);
   gtk_box_pack_start (GTK_BOX (hbox9), entry_print_external_cmd, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, entry_print_external_cmd, _("Path to the command for printing files (use %f for the filename)."), NULL);
+  gtk_widget_set_tooltip_text (entry_print_external_cmd, "Path to the command for printing files (use %f for the filename).");
 
   button_print_external_cmd = gtk_button_new ();
   gtk_widget_show (button_print_external_cmd);
@@ -4718,17 +4707,17 @@
   check_print_linenumbers = gtk_check_button_new_with_mnemonic (_("Print line numbers"));
   gtk_widget_show (check_print_linenumbers);
   gtk_box_pack_start (GTK_BOX (vbox29), check_print_linenumbers, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_print_linenumbers, _("Add line numbers to the printed page."), NULL);
+  gtk_widget_set_tooltip_text (check_print_linenumbers, "Add line numbers to the printed page.");
 
   check_print_pagenumbers = gtk_check_button_new_with_mnemonic (_("Print page numbers"));
   gtk_widget_show (check_print_pagenumbers);
   gtk_box_pack_start (GTK_BOX (vbox29), check_print_pagenumbers, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_print_pagenumbers, _("Add page numbers at the bottom of each page. It takes 2 lines of the page."), NULL);
+  gtk_widget_set_tooltip_text (check_print_pagenumbers, "Add page numbers at the bottom of each page. It takes 2 lines of the page.");
 
   check_print_pageheader = gtk_check_button_new_with_mnemonic (_("Print page header"));
   gtk_widget_show (check_print_pageheader);
   gtk_box_pack_start (GTK_BOX (vbox29), check_print_pageheader, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_print_pageheader, _("Adds a little header to every page containing the page number, the filename and the current date(see below). It takes 3 lines of the page."), NULL);
+  gtk_widget_set_tooltip_text (check_print_pageheader, "Adds a little header to every page containing the page number, the filename and the current date(see below). It takes 3 lines of the page.");
 
   frame33 = gtk_frame_new (NULL);
   gtk_widget_show (frame33);
@@ -4748,7 +4737,7 @@
   check_print_basename = gtk_check_button_new_with_mnemonic (_("Use the basename of the printed file"));
   gtk_widget_show (check_print_basename);
   gtk_box_pack_start (GTK_BOX (vbox30), check_print_basename, FALSE, FALSE, 0);
-  gtk_tooltips_set_tip (tooltips, check_print_basename, _("Print only the basename(without the path) of the printed file."), NULL);
+  gtk_widget_set_tooltip_text (check_print_basename, "Print only the basename(without the path) of the printed file.");
 
   hbox10 = gtk_hbox_new (FALSE, 5);
   gtk_widget_show (hbox10);
@@ -4761,7 +4750,7 @@
   entry_print_dateformat = gtk_entry_new ();
   gtk_widget_show (entry_print_dateformat);
   gtk_box_pack_start (GTK_BOX (hbox10), entry_print_dateformat, TRUE, TRUE, 0);
-  gtk_tooltips_set_tip (tooltips, entry_print_dateformat, _("Specify a format for the date and time stamp which is added to the page header on each page. You can use any conversion specifiers which can be used with the ANSI C strftime function."), NULL);
+  gtk_widget_set_tooltip_text (entry_print_dateformat, "Specify a format for the date and time stamp which is added to the page header on each page. You can use any conversion specifiers which can be used with the ANSI C strftime function.");
   gtk_entry_set_invisible_char (GTK_ENTRY (entry_print_dateformat), 9679);
 
   radio_print_gtk = gtk_radio_button_new_with_mnemonic (NULL, _("Use native GTK printing"));
@@ -5132,7 +5121,6 @@
   GLADE_HOOKUP_OBJECT (prefs_dialog, button3, "button3");
   GLADE_HOOKUP_OBJECT (prefs_dialog, button4, "button4");
   GLADE_HOOKUP_OBJECT (prefs_dialog, button5, "button5");
-  GLADE_HOOKUP_OBJECT_NO_REF (prefs_dialog, tooltips, "tooltips");
 
   gtk_widget_grab_default (button5);
   return prefs_dialog;
Index: src/geany-marshal.c
===================================================================
--- src/geany-marshal.c	(r��vision 0)
+++ src/geany-marshal.c	(r��vision 0)
@@ -0,0 +1,94 @@
+
+#include	<glib-object.h>
+
+
+#ifdef G_ENABLE_DEBUG
+#define g_marshal_value_peek_boolean(v)  g_value_get_boolean (v)
+#define g_marshal_value_peek_char(v)     g_value_get_char (v)
+#define g_marshal_value_peek_uchar(v)    g_value_get_uchar (v)
+#define g_marshal_value_peek_int(v)      g_value_get_int (v)
+#define g_marshal_value_peek_uint(v)     g_value_get_uint (v)
+#define g_marshal_value_peek_long(v)     g_value_get_long (v)
+#define g_marshal_value_peek_ulong(v)    g_value_get_ulong (v)
+#define g_marshal_value_peek_int64(v)    g_value_get_int64 (v)
+#define g_marshal_value_peek_uint64(v)   g_value_get_uint64 (v)
+#define g_marshal_value_peek_enum(v)     g_value_get_enum (v)
+#define g_marshal_value_peek_flags(v)    g_value_get_flags (v)
+#define g_marshal_value_peek_float(v)    g_value_get_float (v)
+#define g_marshal_value_peek_double(v)   g_value_get_double (v)
+#define g_marshal_value_peek_string(v)   (char*) g_value_get_string (v)
+#define g_marshal_value_peek_param(v)    g_value_get_param (v)
+#define g_marshal_value_peek_boxed(v)    g_value_get_boxed (v)
+#define g_marshal_value_peek_pointer(v)  g_value_get_pointer (v)
+#define g_marshal_value_peek_object(v)   g_value_get_object (v)
+#else /* !G_ENABLE_DEBUG */
+/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API.
+ *          Do not access GValues directly in your code. Instead, use the
+ *          g_value_get_*() functions
+ */
+#define g_marshal_value_peek_boolean(v)  (v)->data[0].v_int
+#define g_marshal_value_peek_char(v)     (v)->data[0].v_int
+#define g_marshal_value_peek_uchar(v)    (v)->data[0].v_uint
+#define g_marshal_value_peek_int(v)      (v)->data[0].v_int
+#define g_marshal_value_peek_uint(v)     (v)->data[0].v_uint
+#define g_marshal_value_peek_long(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_ulong(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_int64(v)    (v)->data[0].v_int64
+#define g_marshal_value_peek_uint64(v)   (v)->data[0].v_uint64
+#define g_marshal_value_peek_enum(v)     (v)->data[0].v_long
+#define g_marshal_value_peek_flags(v)    (v)->data[0].v_ulong
+#define g_marshal_value_peek_float(v)    (v)->data[0].v_float
+#define g_marshal_value_peek_double(v)   (v)->data[0].v_double
+#define g_marshal_value_peek_string(v)   (v)->data[0].v_pointer
+#define g_marshal_value_peek_param(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_boxed(v)    (v)->data[0].v_pointer
+#define g_marshal_value_peek_pointer(v)  (v)->data[0].v_pointer
+#define g_marshal_value_peek_object(v)   (v)->data[0].v_pointer
+#endif /* !G_ENABLE_DEBUG */
+
+
+/* VOID:POINTER (geany-marshal.list:1) */
+
+/* VOID:INT (geany-marshal.list:2) */
+
+/* VOID:VOID (geany-marshal.list:3) */
+
+/* VOID:STRING,INT,POINTER (geany-marshal.list:4) */
+void
+geany_marshal_VOID__STRING_INT_POINTER (GClosure     *closure,
+                                        GValue       *return_value G_GNUC_UNUSED,
+                                        guint         n_param_values,
+                                        const GValue *param_values,
+                                        gpointer      invocation_hint G_GNUC_UNUSED,
+                                        gpointer      marshal_data)
+{
+  typedef void (*GMarshalFunc_VOID__STRING_INT_POINTER) (gpointer     data1,
+                                                         gpointer     arg_1,
+                                                         gint         arg_2,
+                                                         gpointer     arg_3,
+                                                         gpointer     data2);
+  register GMarshalFunc_VOID__STRING_INT_POINTER callback;
+  register GCClosure *cc = (GCClosure*) closure;
+  register gpointer data1, data2;
+
+  g_return_if_fail (n_param_values == 4);
+
+  if (G_CCLOSURE_SWAP_DATA (closure))
+    {
+      data1 = closure->data;
+      data2 = g_value_peek_pointer (param_values + 0);
+    }
+  else
+    {
+      data1 = g_value_peek_pointer (param_values + 0);
+      data2 = closure->data;
+    }
+  callback = (GMarshalFunc_VOID__STRING_INT_POINTER) (marshal_data ? marshal_data : cc->callback);
+
+  callback (data1,
+            g_marshal_value_peek_string (param_values + 1),
+            g_marshal_value_peek_int (param_values + 2),
+            g_marshal_value_peek_pointer (param_values + 3),
+            data2);
+}
+
Index: src/printing.c
===================================================================
--- src/printing.c	(r��vision 3060)
+++ src/printing.c	(copie de travail)
@@ -332,7 +332,6 @@
 	GtkWidget *vbox30;
 	GtkWidget *hbox10;
 	GtkWidget *label203;
-	GtkTooltips *tooltips = gtk_tooltips_new();
 	PrintWidgets *w = user_data;
 
 	gtk_print_operation_set_custom_tab_label(operation, _("Document Setup"));
@@ -342,17 +341,17 @@
 
 	w->check_print_linenumbers = gtk_check_button_new_with_mnemonic(_("Print line numbers"));
 	gtk_box_pack_start(GTK_BOX(page), w->check_print_linenumbers, FALSE, FALSE, 0);
-	gtk_tooltips_set_tip(tooltips, w->check_print_linenumbers, _("Add line numbers to the printed page."), NULL);
+	gtk_widget_set_tooltip_text(w->check_print_linenumbers, _("Add line numbers to the printed page."));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->check_print_linenumbers), printing_prefs.print_line_numbers);
 
 	w->check_print_pagenumbers = gtk_check_button_new_with_mnemonic(_("Print page numbers"));
 	gtk_box_pack_start(GTK_BOX(page), w->check_print_pagenumbers, FALSE, FALSE, 0);
-	gtk_tooltips_set_tip(tooltips, w->check_print_pagenumbers, _("Add page numbers at the bottom of each page. It takes 2 lines of the page."), NULL);
+	gtk_widget_set_tooltip_text(w->check_print_pagenumbers, _("Add page numbers at the bottom of each page. It takes 2 lines of the page."));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->check_print_pagenumbers), printing_prefs.print_page_numbers);
 
 	w->check_print_pageheader = gtk_check_button_new_with_mnemonic(_("Print page header"));
 	gtk_box_pack_start(GTK_BOX(page), w->check_print_pageheader, FALSE, FALSE, 0);
-	gtk_tooltips_set_tip(tooltips, w->check_print_pageheader, _("Adds a little header to every page containing the page number, the filename and the current date(see below). It takes 3 lines of the page."), NULL);
+	gtk_widget_set_tooltip_text(w->check_print_pageheader, _("Adds a little header to every page containing the page number, the filename and the current date(see below). It takes 3 lines of the page."));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->check_print_pageheader), printing_prefs.print_page_header);
 	g_signal_connect(w->check_print_pageheader, "toggled", G_CALLBACK(on_page_header_toggled), w);
 
@@ -370,7 +369,7 @@
 
 	w->check_print_basename = gtk_check_button_new_with_mnemonic(_("Use the basename of the printed file"));
 	gtk_box_pack_start(GTK_BOX(vbox30), w->check_print_basename, FALSE, FALSE, 0);
-	gtk_tooltips_set_tip(tooltips, w->check_print_basename, _("Print only the basename(without the path) of the printed file."), NULL);
+	gtk_widget_set_tooltip_text(w->check_print_basename, _("Print only the basename(without the path) of the printed file."));
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(w->check_print_basename), printing_prefs.page_header_basename);
 
 	hbox10 = gtk_hbox_new(FALSE, 5);
@@ -381,7 +380,7 @@
 
 	w->entry_print_dateformat = gtk_entry_new();
 	gtk_box_pack_start(GTK_BOX(hbox10), w->entry_print_dateformat, TRUE, TRUE, 0);
-	gtk_tooltips_set_tip(tooltips, w->entry_print_dateformat, _("Specify a format for the date and time stamp which is added to the page header on each page. You can use any conversion specifiers which can be used with the ANSI C strftime function."), NULL);
+	gtk_widget_set_tooltip_text(w->entry_print_dateformat, _("Specify a format for the date and time stamp which is added to the page header on each page. You can use any conversion specifiers which can be used with the ANSI C strftime function."));
 	gtk_entry_set_text(GTK_ENTRY(w->entry_print_dateformat), printing_prefs.page_header_datefmt);
 
 	on_page_header_toggled(GTK_TOGGLE_BUTTON(w->check_print_pageheader), w);
Index: src/geany-marshal.h
===================================================================
--- src/geany-marshal.h	(r��vision 0)
+++ src/geany-marshal.h	(r��vision 0)
@@ -0,0 +1,29 @@
+
+#ifndef __geany_marshal_MARSHAL_H__
+#define __geany_marshal_MARSHAL_H__
+
+#include	<glib-object.h>
+
+G_BEGIN_DECLS
+
+/* VOID:POINTER (geany-marshal.list:1) */
+#define geany_marshal_VOID__POINTER	g_cclosure_marshal_VOID__POINTER
+
+/* VOID:INT (geany-marshal.list:2) */
+#define geany_marshal_VOID__INT	g_cclosure_marshal_VOID__INT
+
+/* VOID:VOID (geany-marshal.list:3) */
+#define geany_marshal_VOID__VOID	g_cclosure_marshal_VOID__VOID
+
+/* VOID:STRING,INT,POINTER (geany-marshal.list:4) */
+extern void geany_marshal_VOID__STRING_INT_POINTER (GClosure     *closure,
+                                                    GValue       *return_value,
+                                                    guint         n_param_values,
+                                                    const GValue *param_values,
+                                                    gpointer      invocation_hint,
+                                                    gpointer      marshal_data);
+
+G_END_DECLS
+
+#endif /* __geany_marshal_MARSHAL_H__ */
+
Index: src/project.c
===================================================================
--- src/project.c	(r��vision 3060)
+++ src/project.c	(copie de travail)
@@ -97,7 +97,6 @@
 	GtkWidget *button;
 	GtkWidget *bbox;
 	GtkWidget *label;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 	PropertyDialogElements *e;
 	gint response;
 
@@ -155,10 +154,10 @@
 	gtk_misc_set_alignment(GTK_MISC(label), 1, 0);
 
 	e->base_path = gtk_entry_new();
-	gtk_tooltips_set_tip(tooltips, e->base_path,
+	gtk_widget_set_tooltip_text(e->base_path,
 		_("Base directory of all files that make up the project. "
 		"This can be a new path, or an existing directory tree. "
-		"You can use paths relative to the project filename."), NULL);
+		"You can use paths relative to the project filename."));
 	bbox = ui_path_box_new(_("Choose Project Base Path"),
 		GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_ENTRY(e->base_path));
 
@@ -352,7 +351,6 @@
 	GtkWidget *bbox;
 	GtkWidget *label;
 	GtkWidget *swin;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 	e->dialog = gtk_dialog_new_with_buttons(_("Project Properties"), GTK_WINDOW(main_widgets.window),
 										 GTK_DIALOG_DESTROY_WITH_PARENT,
@@ -414,10 +412,10 @@
 	gtk_misc_set_alignment(GTK_MISC(label), -1, 0);
 
 	e->base_path = gtk_entry_new();
-	gtk_tooltips_set_tip(tooltips, e->base_path,
+	gtk_widget_set_tooltip_text(e->base_path,
 		_("Base directory of all files that make up the project. "
 		"This can be a new path, or an existing directory tree. "
-		"You can use paths relative to the project filename."), NULL);
+		"You can use paths relative to the project filename."));
 	bbox = ui_path_box_new(_("Choose Project Base Path"),
 		GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_ENTRY(e->base_path));
 	gtk_table_attach(GTK_TABLE(table), bbox, 1, 2, 3, 4,
@@ -436,10 +434,10 @@
 	gtk_misc_set_alignment(GTK_MISC(label), -1, 0);
 
 	e->run_cmd = gtk_entry_new();
-	gtk_tooltips_set_tip(tooltips, e->run_cmd,
+	gtk_widget_set_tooltip_text(e->run_cmd,
 		_("Command-line to run in the project base directory. "
 		"Options can be appended to the command. "
-		"Leave blank to use the default run command."), NULL);
+		"Leave blank to use the default run command."));
 	button = gtk_button_new();
 	g_signal_connect(button, "clicked", G_CALLBACK(on_file_open_button_clicked), e->run_cmd);
 	image = gtk_image_new_from_stock("gtk-open", GTK_ICON_SIZE_BUTTON);
Index: src/geany-marshal.list
===================================================================
--- src/geany-marshal.list	(r��vision 0)
+++ src/geany-marshal.list	(r��vision 0)
@@ -0,0 +1,4 @@
+VOID:POINTER
+VOID:INT
+VOID:VOID
+VOID:STRING,INT,POINTER
Index: src/dialogs.c
===================================================================
--- src/dialogs.c	(r��vision 3060)
+++ src/dialogs.c	(copie de travail)
@@ -171,7 +171,6 @@
 {
 	GtkWidget *filetype_combo, *encoding_combo;
 	GtkWidget *viewbtn;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 	guint i;
 	gchar *encoding_string;
 
@@ -181,8 +180,8 @@
 
 	viewbtn = gtk_dialog_add_button(GTK_DIALOG(ui_widgets.open_filesel), _("_View"),
 				GEANY_RESPONSE_VIEW);
-	gtk_tooltips_set_tip(tooltips, viewbtn,
-		_("Opens the file in read-only mode. If you choose more than one file to open, all files will be opened read-only."), NULL);
+	gtk_widget_set_tooltip_text(viewbtn, _("Opens the file in read-only mode. If you choose more "
+										   "than one file to open, all files will be opened read-only."));
 
 	gtk_dialog_add_buttons(GTK_DIALOG(ui_widgets.open_filesel),
 		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -285,7 +284,6 @@
 	GtkWidget *vbox, *table, *file_entry, *check_hidden;
 	GtkWidget *filetype_ebox, *filetype_label, *filetype_combo;
 	GtkWidget *encoding_ebox, *encoding_label, *encoding_combo;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 	vbox = gtk_vbox_new(FALSE, 6);
 
@@ -312,8 +310,10 @@
 	encoding_ebox = gtk_event_box_new();
 	encoding_combo = gtk_combo_box_new_text();
 	gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(encoding_combo), 3);
-	gtk_tooltips_set_tip(tooltips, encoding_ebox,
-		_("Explicitly defines an encoding for the file, if it would not be detected. This is useful when you know that the encoding of a file cannot be detected correctly by Geany.\nNote if you choose multiple files, they will all be opened with the chosen encoding."), NULL);
+	gtk_widget_set_tooltip_text(encoding_ebox,
+		_("Explicitly defines an encoding for the file, if it would not be detected. "
+		  "This is useful when you know that the encoding of a file cannot be detected correctly by Geany.\n"
+		  "Note if you choose multiple files, they will all be opened with the chosen encoding."));
 	gtk_container_add(GTK_CONTAINER(encoding_ebox), encoding_combo);
 	gtk_table_attach(GTK_TABLE(table), encoding_ebox, 3, 4, 0, 1,
 					(GtkAttachOptions) (GTK_FILL),
@@ -342,8 +342,9 @@
 	filetype_ebox = gtk_event_box_new();
 	filetype_combo = gtk_combo_box_new_text();
 	gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(filetype_combo), 2);
-	gtk_tooltips_set_tip(tooltips, filetype_ebox,
-		_("Explicitly defines a filetype for the file, if it would not be detected by filename extension.\nNote if you choose multiple files, they will all be opened with the chosen filetype."), NULL);
+	gtk_widget_set_tooltip_text(filetype_ebox,
+		_("Explicitly defines a filetype for the file, if it would not be detected by filename extension.\n"
+		  "Note if you choose multiple files, they will all be opened with the chosen filetype."));
 	gtk_container_add(GTK_CONTAINER(filetype_ebox), filetype_combo);
 	gtk_table_attach(GTK_TABLE(table), filetype_ebox, 3, 4, 1, 2,
 					(GtkAttachOptions) (GTK_FILL),
@@ -358,13 +359,13 @@
 				G_CALLBACK(on_file_open_check_hidden_toggled), NULL);
 
 	g_object_set_data_full(G_OBJECT(ui_widgets.open_filesel), "file_entry",
-				gtk_widget_ref(file_entry), (GDestroyNotify)gtk_widget_unref);
+				g_object_ref(file_entry), (GDestroyNotify)g_object_unref);
 	g_object_set_data_full(G_OBJECT(ui_widgets.open_filesel), "check_hidden",
-				gtk_widget_ref(check_hidden), (GDestroyNotify)gtk_widget_unref);
+				g_object_ref(check_hidden), (GDestroyNotify)g_object_unref);
 	g_object_set_data_full(G_OBJECT(ui_widgets.open_filesel), "filetype_combo",
-				gtk_widget_ref(filetype_combo), (GDestroyNotify)gtk_widget_unref);
+				g_object_ref(filetype_combo), (GDestroyNotify)g_object_unref);
 	g_object_set_data_full(G_OBJECT(ui_widgets.open_filesel), "encoding_combo",
-				gtk_widget_ref(encoding_combo), (GDestroyNotify)gtk_widget_unref);
+				g_object_ref(encoding_combo), (GDestroyNotify)g_object_unref);
 
 	return vbox;
 }
@@ -471,7 +472,6 @@
 static void create_save_file_dialog(void)
 {
 	GtkWidget *vbox, *check_open_new_tab, *rename_btn;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 	ui_widgets.save_filesel = gtk_file_chooser_dialog_new(_("Save File"), GTK_WINDOW(main_widgets.window),
 				GTK_FILE_CHOOSER_ACTION_SAVE, NULL, NULL);
@@ -483,8 +483,7 @@
 
 	rename_btn = gtk_dialog_add_button(GTK_DIALOG(ui_widgets.save_filesel), _("R_ename"),
 					GEANY_RESPONSE_RENAME);
-	gtk_tooltips_set_tip(tooltips, rename_btn,
-		_("Save the file and rename it."), NULL);
+	gtk_widget_set_tooltip_text(rename_btn, _("Save the file and rename it."));
 
 	gtk_dialog_add_buttons(GTK_DIALOG(ui_widgets.save_filesel),
 		GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
@@ -493,9 +492,8 @@
 
 	vbox = gtk_vbox_new(FALSE, 0);
 	check_open_new_tab = gtk_check_button_new_with_mnemonic(_("_Open file in a new tab"));
-	gtk_tooltips_set_tip(tooltips, check_open_new_tab,
-		_("Keep the current unsaved document open"
-		" and open the newly saved file in a new tab."), NULL);
+	gtk_widget_set_tooltip_text(check_open_new_tab, _("Keep the current unsaved document open"
+													  " and open the newly saved file in a new tab."));
 	gtk_box_pack_start(GTK_BOX(vbox), check_open_new_tab, FALSE, FALSE, 0);
 	gtk_widget_show_all(vbox);
 	gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(ui_widgets.save_filesel), vbox);
@@ -504,7 +502,7 @@
 				G_CALLBACK(on_save_as_new_tab_toggled), rename_btn);
 
 	g_object_set_data_full(G_OBJECT(ui_widgets.save_filesel), "check_open_new_tab",
-				gtk_widget_ref(check_open_new_tab), (GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_open_new_tab), (GDestroyNotify)g_object_unref);
 
 	g_signal_connect(ui_widgets.save_filesel, "delete-event",
 		G_CALLBACK(gtk_widget_hide_on_delete), NULL);
Index: src/geanyobject.c
===================================================================
--- src/geanyobject.c	(r��vision 3060)
+++ src/geanyobject.c	(copie de travail)
@@ -27,6 +27,7 @@
  * Mainly used for plugins - geany_object is created in plugins_init(). */
 
 #include "geany.h"
+#include "geany-marshal.h"
 #include "geanyobject.h"
 
 GObject	*geany_object;
@@ -86,7 +87,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, document_new),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_DOCUMENT_OPEN] = g_signal_new (
@@ -95,7 +96,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, document_open),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_DOCUMENT_SAVE] = g_signal_new (
@@ -104,7 +105,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, document_save),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_DOCUMENT_ACTIVATE] = g_signal_new (
@@ -113,7 +114,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, document_activate),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_DOCUMENT_CLOSE] = g_signal_new (
@@ -122,7 +123,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, document_close),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 
@@ -132,7 +133,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, project_open),
 		NULL, NULL,
-		gtk_marshal_NONE__POINTER,
+		geany_marshal_VOID__POINTER,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_PROJECT_SAVE] = g_signal_new (
@@ -141,7 +142,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, project_save),
 		NULL, NULL,
-		gtk_marshal_NONE__INT,
+		geany_marshal_VOID__INT,
 		G_TYPE_NONE, 1,
 		G_TYPE_POINTER);
 	geany_object_signals[GCB_PROJECT_CLOSE] = g_signal_new (
@@ -150,7 +151,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, project_close),
 		NULL, NULL,
-		gtk_marshal_NONE__NONE,
+		geany_marshal_VOID__VOID,
 		G_TYPE_NONE, 0);
 
 	geany_object_signals[GCB_UPDATE_EDITOR_MENU] = g_signal_new (
@@ -159,7 +160,7 @@
 		G_SIGNAL_RUN_FIRST,
 		G_STRUCT_OFFSET (GeanyObjectClass, update_editor_menu),
 		NULL, NULL,
-		gtk_marshal_NONE__STRING_INT_POINTER,
+		geany_marshal_VOID__STRING_INT_POINTER,
 		G_TYPE_NONE, 3,
 		G_TYPE_STRING, G_TYPE_INT, G_TYPE_POINTER);
 }
Index: src/vte.c
===================================================================
--- src/vte.c	(r��vision 3060)
+++ src/vte.c	(copie de travail)
@@ -680,10 +680,8 @@
 		GtkWidget *check_scroll_key, *check_scroll_out, *check_follow_path;
 		GtkWidget *check_enable_bash_keys, *check_ignore_menu_key;
 		GtkWidget *check_run_in_vte, *check_skip_script, *entry_shell, *button_shell, *image_shell;
-		GtkTooltips *tooltips;
 		GtkObject *spin_scrollback_adj;
 
-		tooltips = GTK_TOOLTIPS(lookup_widget(ui_widgets.prefs_dialog, "tooltips"));
 		notebook = lookup_widget(ui_widgets.prefs_dialog, "notebook2");
 
 		frame = ui_frame_new_with_alignment(_("Terminal plugin"), &alignment);
@@ -715,7 +713,7 @@
 		gtk_table_attach(GTK_TABLE(table), font_term, 1, 2, 0, 1,
 					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
 					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, font_term, _("Sets the font for the terminal widget."), NULL);
+		gtk_widget_set_tooltip_text(font_term, _("Sets the font for the terminal widget."));
 
 		label = gtk_label_new(_("Foreground color:"));
 		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 1, 2,
@@ -733,14 +731,14 @@
 		gtk_table_attach(GTK_TABLE(table), color_fore, 1, 2, 1, 2,
 					(GtkAttachOptions) (GTK_FILL),
 					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, color_fore, _("Sets the foreground color of the text in the terminal widget."), NULL);
+		gtk_widget_set_tooltip_text(color_fore, _("Sets the foreground color of the text in the terminal widget."));
 		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_fore), _("Color Chooser"));
 
 		color_back = gtk_color_button_new();
 		gtk_table_attach(GTK_TABLE(table), color_back, 1, 2, 2, 3,
 					(GtkAttachOptions) (GTK_FILL),
 					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, color_back, _("Sets the background color of the text in the terminal widget."), NULL);
+		gtk_widget_set_tooltip_text(color_back, _("Sets the background color of the text in the terminal widget."));
 		gtk_color_button_set_title(GTK_COLOR_BUTTON(color_back), _("Color Chooser"));
 
 		label = gtk_label_new(_("Scrollback lines:"));
@@ -754,7 +752,7 @@
 		gtk_table_attach(GTK_TABLE(table), spin_scrollback, 1, 2, 3, 4,
 					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
 					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, spin_scrollback, _("Specifies the history in lines, which you can scroll back in the terminal widget."), NULL);
+		gtk_widget_set_tooltip_text(spin_scrollback, _("Specifies the history in lines, which you can scroll back in the terminal widget."));
 		gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
 		gtk_spin_button_set_wrap(GTK_SPIN_BUTTON(spin_scrollback), TRUE);
 
@@ -768,7 +766,7 @@
 		gtk_table_attach(GTK_TABLE(table), entry_emulation, 1, 2, 4, 5,
 					(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
 					(GtkAttachOptions) (0), 0, 0);
-		gtk_tooltips_set_tip(tooltips, entry_emulation, _("Controls how the terminal emulator should behave. Do not change this value unless you know exactly what you are doing."), NULL);
+		gtk_widget_set_tooltip_text(entry_emulation, _("Controls how the terminal emulator should behave. Do not change this value unless you know exactly what you are doing."));
 
 		label = gtk_label_new(_("Shell:"));
 		gtk_table_attach(GTK_TABLE(table), label, 0, 1, 5, 6,
@@ -777,7 +775,7 @@
 		gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5);
 
 		entry_shell = gtk_entry_new();
-		gtk_tooltips_set_tip(tooltips, entry_shell, _("Sets the path to the shell which should be started inside the terminal emulation."), NULL);
+		gtk_widget_set_tooltip_text(entry_shell, _("Sets the path to the shell which should be started inside the terminal emulation."));
 
 		button_shell = gtk_button_new();
 		gtk_widget_show(button_shell);
@@ -795,34 +793,34 @@
 
 		box = gtk_vbox_new(FALSE, 3);
 		check_scroll_key = gtk_check_button_new_with_mnemonic(_("Scroll on keystroke"));
-		gtk_tooltips_set_tip(tooltips, check_scroll_key, _("Whether to scroll to the bottom if a key was pressed."), NULL);
+		gtk_widget_set_tooltip_text(check_scroll_key, _("Whether to scroll to the bottom if a key was pressed."));
 		gtk_container_add(GTK_CONTAINER(box), check_scroll_key);
 
 		check_scroll_out = gtk_check_button_new_with_mnemonic(_("Scroll on output"));
-		gtk_tooltips_set_tip(tooltips, check_scroll_out, _("Whether to scroll to the bottom when output is generated."), NULL);
+		gtk_widget_set_tooltip_text(check_scroll_out, _("Whether to scroll to the bottom when output is generated."));
 		gtk_container_add(GTK_CONTAINER(box), check_scroll_out);
 
 		check_enable_bash_keys = gtk_check_button_new_with_mnemonic(_("Override Geany keybindings"));
-		gtk_tooltips_set_tip(tooltips, check_enable_bash_keys,
-			_("Allows the VTE to receive keyboard shortcuts (apart from focus commands)."), NULL);
+		gtk_widget_set_tooltip_text(check_enable_bash_keys,
+			_("Allows the VTE to receive keyboard shortcuts (apart from focus commands)."));
 		gtk_container_add(GTK_CONTAINER(box), check_enable_bash_keys);
 
 		check_ignore_menu_key = gtk_check_button_new_with_mnemonic(_("Disable menu shortcut key (F10 by default)"));
-		gtk_tooltips_set_tip(tooltips, check_ignore_menu_key, _("This option disables the keybinding to popup the menu bar (default is F10). Disabling it can be useful if you use, for example, Midnight Commander within the VTE."), NULL);
+		gtk_widget_set_tooltip_text(check_ignore_menu_key, _("This option disables the keybinding to popup the menu bar (default is F10). Disabling it can be useful if you use, for example, Midnight Commander within the VTE."));
 		gtk_container_add(GTK_CONTAINER(box), check_ignore_menu_key);
 
 		check_follow_path = gtk_check_button_new_with_mnemonic(_("Follow the path of the current file"));
-		gtk_tooltips_set_tip(tooltips, check_follow_path, _("Whether to execute \"cd $path\" when you switch between opened files."), NULL);
+		gtk_widget_set_tooltip_text(check_follow_path, _("Whether to execute \"cd $path\" when you switch between opened files."));
 		gtk_container_add(GTK_CONTAINER(box), check_follow_path);
 
 		/* create check_skip_script checkbox before the check_skip_script checkbox to be able to
 		 * use the object for the toggled handler of check_skip_script checkbox */
 		check_skip_script = gtk_check_button_new_with_mnemonic(_("Don't use run script"));
-		gtk_tooltips_set_tip(tooltips, check_skip_script, _("Don't use the simple run script which is usually used to display the exit status of the executed program."), NULL);
+		gtk_widget_set_tooltip_text(check_skip_script, _("Don't use the simple run script which is usually used to display the exit status of the executed program."));
 		gtk_widget_set_sensitive(check_skip_script, vc->run_in_vte);
 
 		check_run_in_vte = gtk_check_button_new_with_mnemonic(_("Execute programs in VTE"));
-		gtk_tooltips_set_tip(tooltips, check_run_in_vte, _("Run programs in VTE instead of opening a terminal emulation window. Please note, programs executed in VTE cannot be stopped."), NULL);
+		gtk_widget_set_tooltip_text(check_run_in_vte, _("Run programs in VTE instead of opening a terminal emulation window. Please note, programs executed in VTE cannot be stopped."));
 		gtk_container_add(GTK_CONTAINER(box), check_run_in_vte);
 		g_signal_connect(check_run_in_vte, "toggled",
 			G_CALLBACK(check_run_in_vte_toggled), check_skip_script);
@@ -833,31 +831,31 @@
 		gtk_box_pack_start(GTK_BOX(vbox), box, FALSE, FALSE, 0);
 
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "font_term",
-				gtk_widget_ref(font_term),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(font_term),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "color_fore",
-				gtk_widget_ref(color_fore),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(color_fore),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "color_back",
-				gtk_widget_ref(color_back),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(color_back),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "spin_scrollback",
-				gtk_widget_ref(spin_scrollback),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(spin_scrollback),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "entry_emulation",
-				gtk_widget_ref(entry_emulation),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(entry_emulation),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "entry_shell",
-				gtk_widget_ref(entry_shell),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(entry_shell),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_scroll_key",
-				gtk_widget_ref(check_scroll_key),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_scroll_key),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_scroll_out",
-				gtk_widget_ref(check_scroll_out),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_scroll_out),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_enable_bash_keys",
-				gtk_widget_ref(check_enable_bash_keys),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_enable_bash_keys),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_ignore_menu_key",
-				gtk_widget_ref(check_ignore_menu_key),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_ignore_menu_key),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_follow_path",
-				gtk_widget_ref(check_follow_path),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_follow_path),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_run_in_vte",
-				gtk_widget_ref(check_run_in_vte),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_run_in_vte),	(GDestroyNotify) g_object_unref);
 		g_object_set_data_full(G_OBJECT(ui_widgets.prefs_dialog), "check_skip_script",
-				gtk_widget_ref(check_skip_script),	(GDestroyNotify) gtk_widget_unref);
+				g_object_ref(check_skip_script),	(GDestroyNotify) g_object_unref);
 
 		gtk_widget_show_all(frame);
 
Index: src/search.c
===================================================================
--- src/search.c	(r��vision 3060)
+++ src/search.c	(copie de travail)
@@ -134,14 +134,13 @@
 {
 	GtkWidget *checkbox1, *checkbox2, *check_regexp, *check_back, *checkbox5,
 			  *checkbox7, *hbox, *fbox, *mbox;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 	check_regexp = gtk_check_button_new_with_mnemonic(_("_Use regular expressions"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_regexp",
-					gtk_widget_ref(check_regexp), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(check_regexp), (GDestroyNotify)g_object_unref);
 	gtk_button_set_focus_on_click(GTK_BUTTON(check_regexp), FALSE);
-	gtk_tooltips_set_tip(tooltips, check_regexp, _("Use POSIX-like regular expressions. "
-		"For detailed information about using regular expressions, please read the documentation."), NULL);
+	gtk_widget_set_tooltip_text(check_regexp, _("Use POSIX-like regular expressions. "
+		"For detailed information about using regular expressions, please read the documentation."));
 	g_signal_connect(check_regexp, "toggled",
 		G_CALLBACK(on_find_replace_checkbutton_toggled), GTK_WIDGET(dialog));
 
@@ -149,7 +148,7 @@
 	{
 		check_back = gtk_check_button_new_with_mnemonic(_("Search _backwards"));
 		g_object_set_data_full(G_OBJECT(dialog), "check_back",
-						gtk_widget_ref(check_back), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(check_back), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_back), FALSE);
 	}
 	else
@@ -163,11 +162,11 @@
 	}
 	checkbox7 = gtk_check_button_new_with_mnemonic(_("Use _escape sequences"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_escape",
-					gtk_widget_ref(checkbox7), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(checkbox7), (GDestroyNotify)g_object_unref);
 	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox7), FALSE);
-	gtk_tooltips_set_tip(tooltips, checkbox7,
+	gtk_widget_set_tooltip_text(checkbox7,
 		_("Replace \\\\, \\t, \\n, \\r and \\uXXXX (Unicode chararacters) with the "
-		  "corresponding control characters."), NULL);
+		  "corresponding control characters."));
 
 	/* Search features */
 	fbox = gtk_vbox_new(FALSE, 0);
@@ -177,17 +176,17 @@
 
 	checkbox1 = gtk_check_button_new_with_mnemonic(_("C_ase sensitive"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_case",
-					gtk_widget_ref(checkbox1), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(checkbox1), (GDestroyNotify)g_object_unref);
 	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox1), FALSE);
 
 	checkbox2 = gtk_check_button_new_with_mnemonic(_("Match only a _whole word"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_word",
-					gtk_widget_ref(checkbox2), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(checkbox2), (GDestroyNotify)g_object_unref);
 	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox2), FALSE);
 
 	checkbox5 = gtk_check_button_new_with_mnemonic(_("Match from s_tart of word"));
 	g_object_set_data_full(G_OBJECT(dialog), "check_wordstart",
-					gtk_widget_ref(checkbox5), (GDestroyNotify)gtk_widget_unref);
+					g_object_ref(checkbox5), (GDestroyNotify)g_object_unref);
 	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox5), FALSE);
 
 	/* Matching options */
@@ -297,7 +296,6 @@
 	{
 		GtkWidget *label, *entry, *sbox, *vbox;
 		GtkWidget *exp, *bbox, *button, *check_close;
-		GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 		load_monospace_style();
 
@@ -312,7 +310,7 @@
 		gtk_dialog_add_action_widget(GTK_DIALOG(widgets.find_dialog), button,
 			GEANY_RESPONSE_FIND_PREVIOUS);
 		g_object_set_data_full(G_OBJECT(widgets.find_dialog), "btn_previous",
-						gtk_widget_ref(button), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(button), (GDestroyNotify)g_object_unref);
 
 		button = ui_button_new_with_image(GTK_STOCK_GO_FORWARD, _("_Next"));
 		gtk_dialog_add_action_widget(GTK_DIALOG(widgets.find_dialog), button,
@@ -327,7 +325,7 @@
 		gtk_entry_set_width_chars(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry))), 50);
 		if (sel) gtk_entry_set_text(GTK_ENTRY(GTK_BIN(entry)->child), sel);
 		g_object_set_data_full(G_OBJECT(widgets.find_dialog), "entry",
-						gtk_widget_ref(entry), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(entry), (GDestroyNotify)g_object_unref);
 
 		g_signal_connect(gtk_bin_get_child(GTK_BIN(entry)), "activate",
 				G_CALLBACK(on_find_entry_activate), NULL);
@@ -349,8 +347,8 @@
 		bbox = gtk_hbutton_box_new();
 
 		button = gtk_button_new_with_mnemonic(_("_Mark"));
-		gtk_tooltips_set_tip(tooltips, button,
-				_("Mark all matches in the current document."), NULL);
+		gtk_widget_set_tooltip_text(button,
+				_("Mark all matches in the current document."));
 		gtk_container_add(GTK_CONTAINER(bbox), button);
 		g_signal_connect(button, "clicked", G_CALLBACK(send_find_dialog_response),
 			GINT_TO_POINTER(GEANY_RESPONSE_MARK));
@@ -368,10 +366,10 @@
 		/* close window checkbox */
 		check_close = gtk_check_button_new_with_mnemonic(_("Close _dialog"));
 		g_object_set_data_full(G_OBJECT(widgets.find_dialog), "check_close",
-						gtk_widget_ref(check_close), (GDestroyNotify) gtk_widget_unref);
+						g_object_ref(check_close), (GDestroyNotify) g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_close), FALSE);
-		gtk_tooltips_set_tip(tooltips, check_close,
-				_("Disable this option to keep the dialog open."), NULL);
+		gtk_widget_set_tooltip_text(check_close,
+				_("Disable this option to keep the dialog open."));
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_close), TRUE);
 		gtk_container_add(GTK_CONTAINER(bbox), check_close);
 		gtk_button_box_set_child_secondary(GTK_BUTTON_BOX(bbox), check_close, TRUE);
@@ -420,7 +418,6 @@
 		GtkWidget *label_find, *label_replace, *entry_find, *entry_replace,
 			*check_close, *button, *rbox, *fbox, *vbox, *exp, *bbox;
 		GtkSizeGroup *label_size;
-		GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 		load_monospace_style();
 
@@ -453,14 +450,14 @@
 		gtk_entry_set_width_chars(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_find))), 50);
 		if (sel) gtk_entry_set_text(GTK_ENTRY(GTK_BIN(entry_find)->child), sel);
 		g_object_set_data_full(G_OBJECT(widgets.replace_dialog), "entry_find",
-						gtk_widget_ref(entry_find), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(entry_find), (GDestroyNotify)g_object_unref);
 
 		entry_replace = gtk_combo_box_entry_new_text();
 		gtk_label_set_mnemonic_widget(GTK_LABEL(label_replace), entry_replace);
 		gtk_entry_set_max_length(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_replace))), 248);
 		gtk_entry_set_width_chars(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(entry_replace))), 50);
 		g_object_set_data_full(G_OBJECT(widgets.replace_dialog), "entry_replace",
-						gtk_widget_ref(entry_replace), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(entry_replace), (GDestroyNotify)g_object_unref);
 
 		g_signal_connect(gtk_bin_get_child(GTK_BIN(entry_find)),
 				"key-press-event", G_CALLBACK(on_widget_key_pressed_set_focus),
@@ -495,8 +492,8 @@
 		bbox = gtk_hbutton_box_new();
 
 		button = gtk_button_new_with_mnemonic(_("In Se_lection"));
-		gtk_tooltips_set_tip(tooltips, button,
-			_("Replace all matches found in the currently selected text"), NULL);
+		gtk_widget_set_tooltip_text(button,
+			_("Replace all matches found in the currently selected text"));
 		gtk_container_add(GTK_CONTAINER(bbox), button);
 		g_signal_connect(button, "clicked", G_CALLBACK(send_replace_dialog_response),
 			GINT_TO_POINTER(GEANY_RESPONSE_REPLACE_IN_SEL));
@@ -514,10 +511,10 @@
 		/* close window checkbox */
 		check_close = gtk_check_button_new_with_mnemonic(_("Close _dialog"));
 		g_object_set_data_full(G_OBJECT(widgets.replace_dialog), "check_close",
-						gtk_widget_ref(check_close), (GDestroyNotify) gtk_widget_unref);
+						g_object_ref(check_close), (GDestroyNotify) g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_close), FALSE);
-		gtk_tooltips_set_tip(tooltips, check_close,
-				_("Disable this option to keep the dialog open."), NULL);
+		gtk_widget_set_tooltip_text(check_close,
+				_("Disable this option to keep the dialog open."));
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(check_close), TRUE);
 		gtk_container_add(GTK_CONTAINER(bbox), check_close);
 		gtk_button_box_set_child_secondary(GTK_BUTTON_BOX(bbox), check_close, TRUE);
@@ -570,7 +567,6 @@
 			*check_recursive, *check_extra, *entry_extra;
 		GtkWidget *dbox, *sbox, *cbox, *rbox, *rbtn, *hbox, *vbox;
 		GtkSizeGroup *size_group;
-		GtkTooltips *tooltips = GTK_TOOLTIPS(lookup_widget(main_widgets.window, "tooltips"));
 
 		load_monospace_style();
 
@@ -594,7 +590,7 @@
 		gtk_entry_set_max_length(GTK_ENTRY(entry), 248);
 		gtk_entry_set_width_chars(GTK_ENTRY(entry), 50);
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "dir_combo",
-						gtk_widget_ref(dir_combo), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(dir_combo), (GDestroyNotify)g_object_unref);
 
 		dbox = ui_path_box_new(NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
 			GTK_ENTRY(entry));
@@ -624,48 +620,48 @@
 		/* Make fixed strings the default to speed up searching all files in directory. */
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(rbtn), TRUE);
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "radio_fgrep",
-						gtk_widget_ref(rbtn), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(rbtn), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(rbtn), FALSE);
 		gtk_container_add(GTK_CONTAINER(rbox), rbtn);
 
 		rbtn = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(rbtn),
 					_("_Grep regular expressions"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "radio_grep",
-						gtk_widget_ref(rbtn), (GDestroyNotify)gtk_widget_unref);
-		gtk_tooltips_set_tip(tooltips, rbtn,
-					_("See grep's manual page for more information."), NULL);
+						g_object_ref(rbtn), (GDestroyNotify)g_object_unref);
+		gtk_widget_set_tooltip_text(rbtn,
+					_("See grep's manual page for more information."));
 		gtk_button_set_focus_on_click(GTK_BUTTON(rbtn), FALSE);
 		gtk_container_add(GTK_CONTAINER(rbox), rbtn);
 
 		rbtn = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(rbtn),
 					_("_Extended regular expressions"));
-		gtk_tooltips_set_tip(tooltips, rbtn,
-					_("See grep's manual page for more information."), NULL);
+		gtk_widget_set_tooltip_text(rbtn,
+					_("See grep's manual page for more information."));
 		gtk_button_set_focus_on_click(GTK_BUTTON(rbtn), FALSE);
 		gtk_container_add(GTK_CONTAINER(rbox), rbtn);
 
 		check_recursive = gtk_check_button_new_with_mnemonic(_("_Recurse in subfolders"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "check_recursive",
-						gtk_widget_ref(check_recursive), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(check_recursive), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_recursive), FALSE);
 
 		checkbox1 = gtk_check_button_new_with_mnemonic(_("C_ase sensitive"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "check_case",
-						gtk_widget_ref(checkbox1), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(checkbox1), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(checkbox1), FALSE);
 		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox1), TRUE);
 
 		check_wholeword = gtk_check_button_new_with_mnemonic(_("Match only a _whole word"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "check_wholeword",
-						gtk_widget_ref(check_wholeword), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(check_wholeword), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_wholeword), FALSE);
 
 		checkbox2 = gtk_check_button_new_with_mnemonic(_("_Invert search results"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "check_invert",
-						gtk_widget_ref(checkbox2), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(checkbox2), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(checkbox2), FALSE);
-		gtk_tooltips_set_tip(tooltips, checkbox2,
-				_("Invert the sense of matching, to select non-matching lines."), NULL);
+		gtk_widget_set_tooltip_text(checkbox2,
+				_("Invert the sense of matching, to select non-matching lines."));
 
 		cbox = gtk_vbox_new(FALSE, 0);
 		gtk_container_add(GTK_CONTAINER(cbox), checkbox1);
@@ -683,7 +679,7 @@
 
 		check_extra = gtk_check_button_new_with_mnemonic(_("E_xtra options:"));
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "check_extra",
-						gtk_widget_ref(check_extra), (GDestroyNotify)gtk_widget_unref);
+						g_object_ref(check_extra), (GDestroyNotify)g_object_unref);
 		gtk_button_set_focus_on_click(GTK_BUTTON(check_extra), FALSE);
 
 		entry_extra = gtk_entry_new();
@@ -691,9 +687,8 @@
 			gtk_entry_set_text(GTK_ENTRY(entry_extra), search_prefs.fif_extra_options);
 		gtk_widget_set_sensitive(entry_extra, FALSE);
 		g_object_set_data_full(G_OBJECT(widgets.find_in_files_dialog), "entry_extra",
-						gtk_widget_ref(entry_extra), (GDestroyNotify)gtk_widget_unref);
-		gtk_tooltips_set_tip(tooltips, entry_extra,
-				_("Other options to pass to Grep"), NULL);
+						g_object_ref(entry_extra), (GDestroyNotify)g_object_unref);
+		gtk_widget_set_tooltip_text(entry_extra, _("Other options to pass to Grep"));
 
 		/* enable entry_extra when check_extra is checked */
 		g_signal_connect(check_extra, "toggled",
Index: src/Makefile.am
===================================================================
--- src/Makefile.am	(r��vision 3060)
+++ src/Makefile.am	(copie de travail)
@@ -41,7 +41,8 @@
 	tools.c tools.h \
 	treeviews.c treeviews.h \
 	ui_utils.c ui_utils.h \
-	utils.c utils.h
+	utils.c utils.h \
+	geany-marshal.c geany-marshal.h
 
 
 geany_includedir = $(includedir)/geany/
@@ -64,7 +65,8 @@
 	support.h \
 	templates.h \
 	ui_utils.h \
-	utils.h
+	utils.h \
+	geany-marshal.h
 
 
 INCLUDES = -I$(srcdir)/../scintilla/include -I$(srcdir)/../tagmanager/include @GTK_CFLAGS@
Index: src/ui_utils.c
===================================================================
--- src/ui_utils.c	(r��vision 3060)
+++ src/ui_utils.c	(copie de travail)
@@ -541,14 +541,14 @@
 	gtk_widget_show(item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_menu_insert_date_activate), str);
 	g_object_set_data_full(G_OBJECT(main_widgets.window),
-		"insert_date_custom1", gtk_widget_ref(item), (GDestroyNotify)gtk_widget_unref);
+		"insert_date_custom1", g_object_ref(item), (GDestroyNotify)g_object_unref);
 
 	item = gtk_menu_item_new_with_mnemonic(str);
 	gtk_container_add(GTK_CONTAINER(menu_popup), item);
 	gtk_widget_show(item);
 	g_signal_connect(item, "activate", G_CALLBACK(on_insert_date_activate), str);
 	g_object_set_data_full(G_OBJECT(main_widgets.editor_menu),
-		"insert_date_custom2", gtk_widget_ref(item), (GDestroyNotify)gtk_widget_unref);
+		"insert_date_custom2", g_object_ref(item), (GDestroyNotify)g_object_unref);
 
 	insert_date_items(menu_edit, menu_popup, _("_Set Custom Date Format"));
 }
@@ -1192,7 +1192,7 @@
 
 	/* set_spacing is deprecated but there seems to be no alternative,
 	* GTK 2.6 defaults to no spacing, unlike dialog button box */
-	gtk_button_box_set_spacing(copy, 10);
+	gtk_box_set_spacing(GTK_BOX (copy), 10);
 	gtk_button_box_set_layout(copy, gtk_button_box_get_layout(master));
 
 	/* now we need to put the widest widget from each button box in a size group,
@@ -1391,7 +1391,7 @@
 				(GDestroyNotify) g_free);
 	g_object_set_data(G_OBJECT(open_btn), "action", (gpointer) action);
 	g_object_set_data_full(G_OBJECT(open_btn), "entry",
-		gtk_widget_ref(path_entry), (GDestroyNotify) gtk_widget_unref);
+		g_object_ref(path_entry), (GDestroyNotify) g_object_unref);
 	g_signal_connect(open_btn, "clicked", G_CALLBACK(ui_path_box_open_clicked), open_btn);
 }
 
Index: tagmanager/tm_file_entry.c
===================================================================
--- tagmanager/tm_file_entry.c	(r��vision 3060)
+++ tagmanager/tm_file_entry.c	(copie de travail)
@@ -27,6 +27,15 @@
 #include "tm_work_object.h"
 #include "tm_file_entry.h"
 
+
+#if GLIB_CHECK_VERSION (2, 10, 0)
+/* Use GSlices if present */
+
+#define FILE_NEW(T)		((T) = g_slice_new0(TMFileEntry))
+#define FILE_FREE(T)	g_slice_free(TMFileEntry, (T))
+
+#else /* GLib < 2.10 */
+
 static GMemChunk *file_mem_chunk = NULL;
 
 #define FILE_NEW(T) {\
@@ -37,6 +46,9 @@
 
 #define FILE_FREE(T) g_mem_chunk_free(file_mem_chunk, (T))
 
+#endif /* GLib version check */
+
+
 void tm_file_entry_print(TMFileEntry *entry, gpointer __unused__ user_data
   , guint level)
 {
Index: tagmanager/tm_tag.c
===================================================================
--- tagmanager/tm_tag.c	(r��vision 3060)
+++ tagmanager/tm_tag.c	(copie de travail)
@@ -17,6 +17,15 @@
 #define LIBCTAGS_DEFINED
 #include "tm_tag.h"
 
+
+#if GLIB_CHECK_VERSION (2, 10, 0)
+/* Use GSlices if present */
+
+#define TAG_NEW(T)	((T) = g_slice_new0(TMTag))
+#define TAG_FREE(T)	g_slice_free(TMTag, (T))
+
+#else /* GLib < 2.10 */
+
 static GMemChunk *s_tag_mem_chunk = NULL;
 
 #define TAG_NEW(T) {\
@@ -27,6 +36,9 @@
 
 #define TAG_FREE(T) g_mem_chunk_free(s_tag_mem_chunk, (T))
 
+#endif /* GLib version check */
+
+
 /* Note: To preserve binary compatibility, it is very important
 	that you only *append* to this list ! */
 enum
Index: tagmanager/tm_symbol.c
===================================================================
--- tagmanager/tm_symbol.c	(r��vision 3060)
+++ tagmanager/tm_symbol.c	(copie de travail)
@@ -12,6 +12,15 @@
 #include <string.h>
 #include "tm_symbol.h"
 
+
+#if GLIB_CHECK_VERSION (2, 10, 0)
+/* Use GSlices if present */
+
+#define SYM_NEW(T)	((T) = g_slice_new0(TMSymbol))
+#define SYM_FREE(T)	g_slice_free(TMSymbol, (T))
+
+#else /* GLib < 2.10 */
+
 static GMemChunk *sym_mem_chunk = NULL;
 
 #define SYM_NEW(T) {\
@@ -22,6 +31,9 @@
 
 #define SYM_FREE(T) g_mem_chunk_free(sym_mem_chunk, (T))
 
+#endif /* GLib version check */
+
+
 void tm_symbol_print(TMSymbol *sym, guint level)
 {
 	guint i;
Index: plugins/export.c
===================================================================
--- plugins/export.c	(r��vision 3060)
+++ plugins/export.c	(copie de travail)
@@ -155,7 +155,6 @@
 									   gboolean show_zoom_level_checkbox)
 {
 	GtkWidget *dialog;
-	GtkTooltips *tooltips;
 	GeanyDocument *doc;
 	ExportInfo *exi;
 
@@ -163,7 +162,6 @@
 		return;
 
 	doc = p_document->get_current();
-	tooltips = GTK_TOOLTIPS(p_support->lookup_widget(geany->main_widgets->window, "tooltips"));
 
 	exi = g_new(ExportInfo, 1);
 	exi->doc = doc;
@@ -188,14 +186,14 @@
 
 		vbox = gtk_vbox_new(FALSE, 0);
 		check_zoom_level = gtk_check_button_new_with_mnemonic(_("_Use current zoom level"));
-		gtk_tooltips_set_tip(tooltips, check_zoom_level,
-			_("Renders the font size of the document together with the current zoom level."), NULL);
+		gtk_widget_set_tooltip_text(check_zoom_level,
+			_("Renders the font size of the document together with the current zoom level."));
 		gtk_box_pack_start(GTK_BOX(vbox), check_zoom_level, FALSE, FALSE, 0);
 		gtk_widget_show_all(vbox);
 		gtk_file_chooser_set_extra_widget(GTK_FILE_CHOOSER(dialog), vbox);
 
 		g_object_set_data_full(G_OBJECT(dialog), "check_zoom_level",
-					gtk_widget_ref(check_zoom_level), (GDestroyNotify) gtk_widget_unref);
+					g_object_ref(check_zoom_level), (GDestroyNotify) g_object_unref);
 
 		exi->have_zoom_level_checkbox = TRUE;
 	}
Index: plugins/vcdiff.c
===================================================================
--- plugins/vcdiff.c	(r��vision 3060)
+++ plugins/vcdiff.c	(copie de travail)
@@ -496,10 +496,7 @@
 {
 	GtkWidget	*menu_vcdiff = NULL;
 	GtkWidget	*menu_vcdiff_menu = NULL;
- 	GtkTooltips	*tooltips = NULL;
 
-	tooltips = gtk_tooltips_new();
-
 	menu_vcdiff = gtk_image_menu_item_new_with_mnemonic(_("_Version Diff"));
 	gtk_container_add(GTK_CONTAINER(geany->main_widgets->tools_menu), menu_vcdiff);
 
@@ -511,24 +508,24 @@
 	/* Single file */
 	menu_vcdiff_file = gtk_menu_item_new_with_mnemonic(_("From Current _File"));
 	gtk_container_add(GTK_CONTAINER (menu_vcdiff_menu), menu_vcdiff_file);
-	gtk_tooltips_set_tip (tooltips, menu_vcdiff_file,
-		_("Make a diff from the current active file"), NULL);
+	gtk_widget_set_tooltip_text(menu_vcdiff_file,
+								_("Make a diff from the current active file"));
 
 	g_signal_connect(menu_vcdiff_file, "activate", G_CALLBACK(vcfile_activated), NULL);
 
 	/* Directory */
 	menu_vcdiff_dir = gtk_menu_item_new_with_mnemonic(_("From Current _Directory"));
 	gtk_container_add(GTK_CONTAINER (menu_vcdiff_menu), menu_vcdiff_dir);
-	gtk_tooltips_set_tip (tooltips, menu_vcdiff_dir,
-		_("Make a diff from the directory of the current active file"), NULL);
+	gtk_widget_set_tooltip_text(menu_vcdiff_dir,
+		_("Make a diff from the directory of the current active file"));
 
 	g_signal_connect(menu_vcdiff_dir, "activate", G_CALLBACK(vcdirectory_activated), NULL);
 
 	/* Project */
 	menu_vcdiff_project = gtk_menu_item_new_with_mnemonic(_("From Current _Project"));
 	gtk_container_add(GTK_CONTAINER (menu_vcdiff_menu), menu_vcdiff_project);
-	gtk_tooltips_set_tip (tooltips, menu_vcdiff_project,
-		_("Make a diff from the current project's base path"), NULL);
+	gtk_widget_set_tooltip_text(menu_vcdiff_project,
+		_("Make a diff from the current project's base path"));
 
 	g_signal_connect(menu_vcdiff_project, "activate", G_CALLBACK(vcproject_activated), NULL);
 
Index: plugins/filebrowser.c
===================================================================
--- plugins/filebrowser.c	(r��vision 3060)
+++ plugins/filebrowser.c	(copie de travail)
@@ -720,34 +720,28 @@
 static GtkWidget *make_toolbar(void)
 {
 	GtkWidget *wid, *toolbar;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(p_support->lookup_widget(
-		geany->main_widgets->window, "tooltips"));
 
 	toolbar = gtk_toolbar_new();
 	gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar), GTK_ICON_SIZE_MENU);
 	gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
 
 	wid = (GtkWidget *) gtk_tool_button_new_from_stock(GTK_STOCK_GO_UP);
-	gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(wid), tooltips,
-		_("Up"), NULL);
+	gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(wid), _("Up"));
 	g_signal_connect(wid, "clicked", G_CALLBACK(on_go_up), NULL);
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
 	wid = (GtkWidget *) gtk_tool_button_new_from_stock(GTK_STOCK_REFRESH);
-	gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(wid), tooltips,
-		_("Refresh"), NULL);
+	gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(wid), _("Refresh"));
 	g_signal_connect(wid, "clicked", G_CALLBACK(refresh), NULL);
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
 	wid = (GtkWidget *) gtk_tool_button_new_from_stock(GTK_STOCK_HOME);
-	gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(wid), tooltips,
-		_("Home"), NULL);
+	gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(wid), _("Home"));
 	g_signal_connect(wid, "clicked", G_CALLBACK(on_go_home), NULL);
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
 	wid = (GtkWidget *) gtk_tool_button_new_from_stock(GTK_STOCK_JUMP_TO);
-	gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(wid), tooltips,
-		_("Set path from document"), NULL);
+	gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(wid), _("Set path from document"));
 	g_signal_connect(wid, "clicked", G_CALLBACK(on_current_path), NULL);
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
@@ -755,7 +749,7 @@
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
 	wid = (GtkWidget *) gtk_tool_button_new_from_stock(GTK_STOCK_CLEAR);
-	gtk_tool_item_set_tooltip(GTK_TOOL_ITEM(wid), tooltips, _("Clear the filter"), NULL);
+	gtk_tool_item_set_tooltip_text(GTK_TOOL_ITEM(wid), _("Clear the filter"));
 	g_signal_connect(wid, "clicked", G_CALLBACK(on_clear_filter), NULL);
 	gtk_container_add(GTK_CONTAINER(toolbar), wid);
 
@@ -987,7 +981,6 @@
 GtkWidget *plugin_configure(GtkDialog *dialog)
 {
 	GtkWidget *label, *entry, *checkbox_of, *checkbox_hf, *vbox;
-	GtkTooltips *tooltips = gtk_tooltips_new();
 
 	vbox = gtk_vbox_new(FALSE, 6);
 
@@ -999,11 +992,10 @@
 	gtk_widget_show(entry);
 	if (open_cmd != NULL)
 		gtk_entry_set_text(GTK_ENTRY(entry), open_cmd);
-	gtk_tooltips_set_tip(tooltips, entry,
+	gtk_widget_set_tooltip_text(entry,
 		_("The command to execute when using \"Open with\". You can use %f and %d wildcards.\n"
 		  "%f will be replaced with the filename including full path\n"
-		  "%d will be replaced with the path name of the selected file without the filename"),
-		  NULL);
+		  "%d will be replaced with the path name of the selected file without the filename"));
 	gtk_container_add(GTK_CONTAINER(vbox), entry);
 	pref_widgets.open_cmd_entry = entry;
 
@@ -1016,10 +1008,9 @@
 	checkbox_of = gtk_check_button_new_with_label(_("Hide object files"));
 	gtk_button_set_focus_on_click(GTK_BUTTON(checkbox_of), FALSE);
 	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbox_of), hide_object_files);
-	gtk_tooltips_set_tip(tooltips, checkbox_of,
+	gtk_widget_set_tooltip_text(checkbox_of,
 		_("Don't show generated object files in the file browser, this includes "
-		  "*.o, *.obj. *.so, *.dll, *.a, *.lib"),
-		  NULL);
+		  "*.o, *.obj. *.so, *.dll, *.a, *.lib"));
 	gtk_box_pack_start(GTK_BOX(vbox), checkbox_of, FALSE, FALSE, 5);
 	pref_widgets.hide_objects_checkbox = checkbox_of;
 
Index: plugins/splitwindow.c
===================================================================
--- plugins/splitwindow.c	(r��vision 3060)
+++ plugins/splitwindow.c	(copie de travail)
@@ -212,12 +212,10 @@
 static GtkWidget *create_tool_button(const gchar *label, const gchar *stock_id)
 {
 	GtkToolItem *item;
-	GtkTooltips *tooltips = GTK_TOOLTIPS(p_support->lookup_widget(
-		geany->main_widgets->window, "tooltips"));
 
 	item = gtk_tool_button_new(NULL, label);
 	gtk_tool_button_set_icon_name(GTK_TOOL_BUTTON(item), stock_id);
-	gtk_tool_item_set_tooltip(item, tooltips, label, NULL);
+	gtk_tool_item_set_tooltip_text(item, label);
 
 	return GTK_WIDGET(item);
 }
