Index: addressbook/gui/contact-editor/e-contact-editor.c
===================================================================
--- addressbook/gui/contact-editor/e-contact-editor.c	(revision 34343)
+++ addressbook/gui/contact-editor/e-contact-editor.c	(working copy)
@@ -2260,12 +2260,15 @@
 		photo.data.inlined.mime_type = NULL;
 		if (editor->image_changed)
 		{
+			gchar *img_buff = NULL;
 			if (editor->image_set &&
 			    e_image_chooser_get_image_data (E_IMAGE_CHOOSER (widget),
-							    (char **)&photo.data.inlined.data, &photo.data.inlined.length)) {
+							    &img_buff, &photo.data.inlined.length)) {
 				GdkPixbuf *pixbuf, *new;
 				GdkPixbufLoader *loader = gdk_pixbuf_loader_new();
 				
+				photo.data.inlined.data = (unsigned char *)img_buff;
+				img_buff = NULL;
 				gdk_pixbuf_loader_write (loader, photo.data.inlined.data, photo.data.inlined.length, NULL);
 				gdk_pixbuf_loader_close (loader, NULL);
 				
@@ -2295,9 +2298,11 @@
 								GdkPixbufFormat *format = gdk_pixbuf_loader_get_format (loader);
 								gchar *format_name = gdk_pixbuf_format_get_name (format);
 								g_free(photo.data.inlined.data);
-								gdk_pixbuf_save_to_buffer (new, (gchar **)&(photo.data.inlined.data),
+								gdk_pixbuf_save_to_buffer (new, &img_buff,
 											   &photo.data.inlined.length,
 											   format_name, NULL, NULL);
+								photo.data.inlined.data = (unsigned char *)img_buff;
+								img_buff = NULL;
 								g_free (format_name);
 								g_object_unref (new);
 							}
Index: addressbook/gui/component/addressbook-config.c
===================================================================
--- addressbook/gui/component/addressbook-config.c	(revision 34343)
+++ addressbook/gui/component/addressbook-config.c	(working copy)
@@ -396,7 +396,7 @@
 query_for_supported_bases (GtkWidget *button, AddressbookSourceDialog *sdialog)
 {
 	GtkTreeSelection *selection;
-	GtkListStore *model;
+	GtkTreeModel *model;
 	GtkTreeView *table;
 	GtkWidget *dialog;
 	GtkWidget *supported_bases_table;
@@ -423,19 +423,19 @@
 	gtk_widget_show_all (supported_bases_table);
 
 	table = g_object_get_data (G_OBJECT (supported_bases_table), "table");
-	model = GTK_LIST_STORE (gtk_tree_view_get_model(table));
+	model = gtk_tree_view_get_model (table);
 	selection = gtk_tree_view_get_selection (table);
 	g_signal_connect (selection, "changed", G_CALLBACK (search_base_selection_model_changed), dialog);
 	search_base_selection_model_changed (selection, dialog);
 
-	if (do_ldap_root_dse_query (sdialog, model, sdialog->source)) {
+	if (do_ldap_root_dse_query (sdialog, GTK_LIST_STORE (model), sdialog->source)) {
 		gtk_widget_show (dialog);
 
 		if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK
-		    && gtk_tree_selection_get_selected(selection, (GtkTreeModel **)&model, &iter)) {
+		    && gtk_tree_selection_get_selected (selection, &model, &iter)) {
 			char *dn;
 
-			gtk_tree_model_get ((GtkTreeModel *)model, &iter, 0, &dn, -1);
+			gtk_tree_model_get (model, &iter, 0, &dn, -1);
 			gtk_entry_set_text((GtkEntry *)sdialog->rootdn, dn);
 			g_free(dn);
 		}
Index: addressbook/gui/widgets/eab-gui-util.c
===================================================================
--- addressbook/gui/widgets/eab-gui-util.c	(revision 34343)
+++ addressbook/gui/widgets/eab-gui-util.c	(working copy)
@@ -505,7 +505,6 @@
 	GtkWidget *filesel;
 	char *file;
 	char *name;
-	char *full_filename;
 	SaveAsInfo *info = g_new(SaveAsInfo, 1);
 
 	name = e_contact_get (contact, E_CONTACT_FILE_AS);
@@ -548,7 +547,6 @@
 	GtkWidget *filesel;
 	SaveAsInfo *info = g_new(SaveAsInfo, 1);
 	char *file;
-	char *full_filename;
 
 	filesel = gtk_file_chooser_dialog_new (title,
 					       parent_window,
Index: addressbook/ChangeLog
===================================================================
--- addressbook/ChangeLog	(revision 34343)
+++ addressbook/ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* gui/contact-editor/e-contact-editor.c:
+	* gui/component/addressbook-config.c:
+	* gui/widgets/eab-gui-util.c: Fixes various compiler warnings.
+
 2007-10-01  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #337539
Index: tools/killev.c
===================================================================
--- tools/killev.c	(revision 34343)
+++ tools/killev.c	(working copy)
@@ -197,8 +197,10 @@
 			    NULL);
 
 	language_names = g_get_language_names ();
-	while (*language_names != NULL)
-		languages = g_slist_append (languages, *language_names++);
+	while (*language_names != NULL) {
+		languages = g_slist_append (languages, (gpointer *) *language_names);
+		language_names++;
+	}
 
 	components = g_hash_table_new (g_str_hash, g_str_equal);
 
Index: shell/e-shell.c
===================================================================
--- shell/e-shell.c	(revision 34343)
+++ shell/e-shell.c	(working copy)
@@ -98,7 +98,10 @@
 	EvolutionListener *line_status_listener;
 
 	/* Settings Dialog */
-	GtkWidget *settings_dialog;
+	union { /* to fix strict-aliasing */
+		GtkWidget *settings_dialog;
+		gpointer settings_dialogptr;
+	};
 
 	/* If we're quitting and things are still busy, a timeout handler */
 	guint quit_timeout;
@@ -1257,7 +1260,7 @@
 	if (type != NULL)
 		e_shell_settings_dialog_show_type (E_SHELL_SETTINGS_DIALOG (priv->settings_dialog), type);
 
-	g_object_add_weak_pointer (G_OBJECT (priv->settings_dialog), (void **) & priv->settings_dialog);
+	g_object_add_weak_pointer (G_OBJECT (priv->settings_dialog), &priv->settings_dialogptr);
 
 	gtk_window_set_transient_for (GTK_WINDOW (priv->settings_dialog), GTK_WINDOW (shell_window));
 	gtk_widget_show (priv->settings_dialog);
Index: shell/e-shell-window.c
===================================================================
--- shell/e-shell-window.c	(revision 34343)
+++ shell/e-shell-window.c	(working copy)
@@ -88,7 +88,10 @@
 
 
 struct _EShellWindowPrivate {
-	EShell *shell;
+	union { /* to fix strict-aliasing */
+		EShell *shell;
+		gpointer shellptr;
+	};
 
 	EShellView *shell_view;	/* CORBA wrapper for this, just a placeholder */
 
@@ -869,7 +872,7 @@
 	priv->destroyed = TRUE;
 	
 	if (priv->shell != NULL) {
-		g_object_remove_weak_pointer (G_OBJECT (priv->shell), (void **) &priv->shell);
+		g_object_remove_weak_pointer (G_OBJECT (priv->shell), &priv->shellptr);
 		priv->shell = NULL;
 	}
 
@@ -1052,7 +1055,7 @@
 	}
 
 	window->priv->shell = shell;
-	g_object_add_weak_pointer (G_OBJECT (shell), (void **) &window->priv->shell);
+	g_object_add_weak_pointer (G_OBJECT (shell), &window->priv->shellptr);
 
 	/* FIXME TODO: Add system_exception signal handling and all the other
 	   stuff from e_shell_view_construct().  */
Index: shell/ChangeLog
===================================================================
--- shell/ChangeLog	(revision 34343)
+++ shell/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* e-shell.c:
+	* e-shell-window.c: Fixes various compiler warnings.
+
 2007-09-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
 
 	** Fix for bug #461195
Index: smime/lib/e-cert-db.c
===================================================================
--- smime/lib/e-cert-db.c	(revision 34343)
+++ smime/lib/e-cert-db.c	(working copy)
@@ -581,6 +581,7 @@
 {
 	ECert *certToShow;
 	SECItem der;
+	char *raw_der = NULL;
 	CERTCertificate *tmpCert;
 
 	/* First thing we have to do is figure out which certificate
@@ -648,11 +649,13 @@
 		return FALSE;
 	}
 
-	if (!e_cert_get_raw_der (certToShow, (char**)&der.data, &der.len)) {
+	if (!e_cert_get_raw_der (certToShow, &raw_der, &der.len)) {
 		/* XXX gerror */
 		return FALSE;
 	}
 
+	der.data = (unsigned char *)raw_der;
+
 	{
 		/*PR_LOG(gPIPNSSLog, PR_LOG_DEBUG, ("Creating temp cert\n"));*/
 		CERTCertDBHandle *certdb = CERT_GetDefaultCertDB();
Index: smime/ChangeLog
===================================================================
--- smime/ChangeLog	(revision 34343)
+++ smime/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* lib/e-cert-db.c: Fixes various compiler warnings.
+
 2007-09-14  Matthew Barnes  <mbarnes@redhat.com>
 
 	** Fixes part of bug #476231
Index: plugins/bbdb/ChangeLog
===================================================================
--- plugins/bbdb/ChangeLog	(revision 34343)
+++ plugins/bbdb/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* bbdb.c:
+	* gaimbuddies.c: Fixes various compiler warnings.
+
 2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	* bbdb.c (bbdb_page_factory):
Index: plugins/bbdb/bbdb.c
===================================================================
--- plugins/bbdb/bbdb.c	(revision 34343)
+++ plugins/bbdb/bbdb.c	(working copy)
@@ -266,8 +266,6 @@
 	char        *uri;
 	EBook       *book = NULL;
 
-	gboolean     enable;
-
 	gboolean     status;
 	GError      *error = NULL;
 	
Index: plugins/bbdb/gaimbuddies.c
===================================================================
--- plugins/bbdb/gaimbuddies.c	(revision 34343)
+++ plugins/bbdb/gaimbuddies.c	(working copy)
@@ -241,11 +241,12 @@
 	if (b->icon != NULL) {
 		photo = e_contact_get (c, E_CONTACT_PHOTO);
 		if (photo == NULL) {
+			gchar *buff = NULL;
 
 			photo = g_new0 (EContactPhoto, 1);
 			photo->type = E_CONTACT_PHOTO_TYPE_INLINED;
 
-			if (! g_file_get_contents (b->icon, (gchar **) &photo->data.inlined.data, &photo->data.inlined.length, &error)) {
+			if (! g_file_get_contents (b->icon, &buff, &photo->data.inlined.length, &error)) {
 				g_warning ("bbdb: Could not read buddy icon: %s\n", error->message);
 				g_error_free (error);
 				for (l = ims; l != NULL; l = l->next)
@@ -254,6 +255,7 @@
 				return dirty;
 			}
 
+			photo->data.inlined.data = (unsigned char *)buff;
 			e_contact_set (c, E_CONTACT_PHOTO, (gpointer) photo);
 			dirty = TRUE;
 		}
Index: plugins/exchange-operations/exchange-user-dialog.c
===================================================================
--- plugins/exchange-operations/exchange-user-dialog.c	(revision 34343)
+++ plugins/exchange-operations/exchange-user-dialog.c	(working copy)
@@ -250,7 +250,7 @@
 		return NULL;
 
 	for (l = destinations; l; l = g_list_next (l)) {
-		char *mail;
+		const char *mail;
 		destination = l->data;
 
 		mail = e_destination_get_email (destination);
Index: plugins/exchange-operations/ChangeLog
===================================================================
--- plugins/exchange-operations/ChangeLog	(revision 34343)
+++ plugins/exchange-operations/ChangeLog	(working copy)
@@ -1,3 +1,10 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* exchange-user-dialog.c:
+	* exchange-delegates-user.c: Fixes various compiler warnings.
+
 2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	** Fixes part of bug #477045
Index: plugins/exchange-operations/exchange-delegates-user.c
===================================================================
--- plugins/exchange-operations/exchange-delegates-user.c	(revision 34343)
+++ plugins/exchange-operations/exchange-delegates-user.c	(working copy)
@@ -216,7 +216,7 @@
 /**
  * exchange_delegates_user_edit:
  * @user: a delegate
- * @parent_window: parent window for the editor dialog
+ * @parent_wnd: parent window for the editor dialog
  *
  * Brings up a dialog to edit @user's permissions as a delegate.
  * An %edited signal will be emitted if anything changed.
@@ -226,7 +226,7 @@
 gboolean
 exchange_delegates_user_edit (ExchangeAccount *account, 
 			     ExchangeDelegatesUser *user,
-			     GtkWidget *parent_window)
+			     GtkWidget *parent_wnd)
 {	
 	GladeXML *xml;
 	GtkWidget *dialog, *table, *label, *menu, *check, *check_delegate;
@@ -234,10 +234,16 @@
 	int button, i;
 	E2kPermissionsRole role;
 	gboolean modified;
+	union { /* to fix strict-aliasing */
+		GtkWidget *parent_window;
+		gpointer parent_windowptr;
+	} pw;
 
 	g_return_val_if_fail (EXCHANGE_IS_DELEGATES_USER (user), FALSE);
 	g_return_val_if_fail (E2K_IS_SID (user->sid), FALSE);
 
+	pw.parent_window = parent_wnd;
+
 	/* Grab the Glade widgets */
 	xml = glade_xml_new (
 		CONNECTOR_GLADEDIR "/exchange-delegates.glade",
@@ -248,7 +254,7 @@
 
 	dialog = glade_xml_get_widget (xml, "delegate_permissions");
 	gtk_window_set_title (GTK_WINDOW (dialog), title);
-	e_dialog_set_transient_for (GTK_WINDOW (dialog), parent_window);
+	e_dialog_set_transient_for (GTK_WINDOW (dialog), pw.parent_window);
 	g_free (title);
 
 	table = glade_xml_get_widget (xml, "toplevel_table");
@@ -270,15 +276,15 @@
 				      user->see_private);
 
 	/* Run the dialog, while watching its parent. */
-	g_object_weak_ref (G_OBJECT (parent_window),
+	g_object_weak_ref (G_OBJECT (pw.parent_window),
 			   parent_window_destroyed, dialog);
-	g_object_add_weak_pointer (G_OBJECT (parent_window),
-				   (gpointer*)&parent_window);
+	g_object_add_weak_pointer (G_OBJECT (pw.parent_window),
+				   &pw.parent_windowptr);
 	button = gtk_dialog_run (GTK_DIALOG (dialog));
-	if (parent_window) {
-		g_object_remove_weak_pointer (G_OBJECT (parent_window),
-					      (gpointer *)&parent_window);
-		g_object_weak_unref (G_OBJECT (parent_window),
+	if (pw.parent_window) {
+		g_object_remove_weak_pointer (G_OBJECT (pw.parent_window),
+					      &pw.parent_windowptr);
+		g_object_weak_unref (G_OBJECT (pw.parent_window),
 				     parent_window_destroyed, dialog);
 	}
 
Index: plugins/calendar-http/ChangeLog
===================================================================
--- plugins/calendar-http/ChangeLog	(revision 34343)
+++ plugins/calendar-http/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* calendar-http.c: Fixes various compiler warnings.
+
 2007-07-25  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #268162
Index: plugins/calendar-http/calendar-http.c
===================================================================
--- plugins/calendar-http/calendar-http.c	(revision 34343)
+++ plugins/calendar-http/calendar-http.c	(working copy)
@@ -377,9 +377,9 @@
 	GtkWidget *entry, *parent;
 	int row;
 	ECalConfigTargetSource *t = (ECalConfigTargetSource *) data->target;
-	ESource *source = t->source;
 	EUri *uri;
-	char* uri_text;
+	char *uri_text;
+	const char *c_uri_text;
 	static GtkWidget *hidden = NULL;
 
 	if (!hidden)
@@ -408,11 +408,11 @@
 	gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
 	gtk_table_attach (GTK_TABLE (parent), label, 0, 1, row, row+1, GTK_FILL, GTK_SHRINK, 0, 0);
 
-	uri_text = e_source_get_property (t->source, "username");
+	c_uri_text = e_source_get_property (t->source, "username");
 
 	entry = gtk_entry_new ();
 	gtk_widget_show (entry);
-	gtk_entry_set_text (GTK_ENTRY (entry), uri_text ? uri_text : "");
+	gtk_entry_set_text (GTK_ENTRY (entry), c_uri_text ? c_uri_text : "");
 	gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
 	g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (username_changed), t->source);
 
Index: plugins/face/face.c
===================================================================
--- plugins/face/face.c	(revision 34343)
+++ plugins/face/face.c	(working copy)
@@ -98,7 +98,7 @@
 							d (printf ("\n\a Invalid Image Size. Please choose a 48*48 image\n\a"));
 							e_error_run (NULL, "org.gnome.evolution.plugins.face:invalid-image-size", NULL, NULL);
 						} else {
-							file_contents = g_base64_encode (file_contents, length);
+							file_contents = g_base64_encode ((const guchar *) file_contents, length);
 							g_file_set_contents (filename, file_contents, -1, &error);
 						}
 					}
Index: plugins/face/ChangeLog
===================================================================
--- plugins/face/ChangeLog	(revision 34343)
+++ plugins/face/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* face.c: Fixes various compiler warnings.
+
 2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	* org-gnome-face-eplug.xml:
Index: mail/mail-vfolder.c
===================================================================
--- mail/mail-vfolder.c	(revision 34343)
+++ mail/mail-vfolder.c	(working copy)
@@ -725,15 +725,17 @@
 
 	/* if the folder has changed name, then add it, then remove the old manually */
 	if (strcmp(folder->full_name, rule->name) != 0) {
-		char *key, *oldname;
-		CamelFolder *old;
+		char *oldname;
 
+		gpointer key;
+		gpointer oldfolder;
+
 		LOCK();
 		d(printf("Changing folder name in hash table to '%s'\n", rule->name));
-		if (g_hash_table_lookup_extended(vfolder_hash, folder->full_name, (void **)&key, (void **)&old)) {
-			g_hash_table_remove(vfolder_hash, key);
-			g_free(key);
-			g_hash_table_insert(vfolder_hash, g_strdup(rule->name), folder);
+		if (g_hash_table_lookup_extended (vfolder_hash, folder->full_name, &key, &oldfolder)) {
+			g_hash_table_remove (vfolder_hash, key);
+			g_free (key);
+			g_hash_table_insert (vfolder_hash, g_strdup(rule->name), folder);
 			UNLOCK();
 		} else {
 			UNLOCK();
@@ -787,9 +789,10 @@
 
 static void context_rule_removed(RuleContext *ctx, FilterRule *rule)
 {
-	char *key, *path;
-	CamelFolder *folder = NULL;
+	char *path;
 
+	gpointer key, folder = NULL;
+
 	d(printf("rule removed; %s\n", rule->name));
 
 	/* TODO: remove from folder info cache? */
@@ -802,16 +805,16 @@
 	g_free(path);
 	
 	LOCK();
-	if (g_hash_table_lookup_extended(vfolder_hash, rule->name, (void **)&key, (void **)&folder)) {
-		g_hash_table_remove(vfolder_hash, key);
-		g_free(key);
+	if (g_hash_table_lookup_extended (vfolder_hash, rule->name, &key, &folder)) {
+		g_hash_table_remove (vfolder_hash, key);
+		g_free (key);
 	}
 	UNLOCK();
 
 	camel_store_delete_folder(vfolder_store, rule->name, NULL);
 	/* this must be unref'd after its deleted */
 	if (folder)
-		camel_object_unref(folder);
+		camel_object_unref ((CamelFolder *) folder);
 }
 
 static void
@@ -865,8 +868,8 @@
 	CamelRenameInfo *info = event_data;
 	FilterRule *rule;
 	char *user;
-	char *key;
-	CamelFolder *folder;
+
+	gpointer key, folder;
 	
 	/* This should be more-or-less thread-safe */
 
@@ -875,10 +878,10 @@
 	/* Folder is already renamed? */
 	LOCK();
 	d(printf("Changing folder name in hash table to '%s'\n", info->new->full_name));
-	if (g_hash_table_lookup_extended(vfolder_hash, info->old_base, (void **)&key, (void **)&folder)) {
-		g_hash_table_remove(vfolder_hash, key);
-		g_free(key);
-		g_hash_table_insert(vfolder_hash, g_strdup(info->new->full_name), folder);
+	if (g_hash_table_lookup_extended (vfolder_hash, info->old_base, &key, &folder)) {
+		g_hash_table_remove (vfolder_hash, key);
+		g_free (key);
+		g_hash_table_insert (vfolder_hash, g_strdup(info->new->full_name), folder);
 
 		rule = rule_context_find_rule((RuleContext *)context, info->old_base, NULL);
 		if (!rule) {
Index: mail/em-folder-browser.c
===================================================================
--- mail/em-folder-browser.c	(revision 34343)
+++ mail/em-folder-browser.c	(working copy)
@@ -142,7 +142,7 @@
 static void emfb_search_config_search(EFilterBar *efb, FilterRule *rule, int id, const char *query, void *data);
 static void emfb_search_menu_activated(ESearchBar *esb, int id, EMFolderBrowser *emfb);
 static void emfb_search_search_activated(ESearchBar *esb, EMFolderBrowser *emfb);
-static void emfb_search_query_changed(ESearchBar *esb, EMFolderBrowser *emfb);
+/*static void emfb_search_query_changed(ESearchBar *esb, EMFolderBrowser *emfb);*/
 static void emfb_search_search_cleared(ESearchBar *esb);
 
 static int emfb_list_key_press(ETree *tree, int row, ETreePath path, int col, GdkEvent *ev, EMFolderBrowser *emfb);
@@ -1147,7 +1147,7 @@
 	camel_exception_free (ex);
 }
 
-static void
+/*static void
 emfb_search_query_changed(ESearchBar *esb, EMFolderBrowser *emfb)
 {
 	int search_scope;
@@ -1156,7 +1156,7 @@
 	search_scope = e_search_bar_get_search_scope (esb);
 	item_id = e_search_bar_get_item_id (esb);
 
-	/* Close the current message search bar */
+	/ * Close the current message search bar * /
 	if ( search_scope != E_FILTERBAR_CURRENT_MESSAGE_ID ) {
 		em_format_html_display_search_close (emfb->view.preview);
 		gtk_widget_set_sensitive (esb->option_button, TRUE);
@@ -1168,7 +1168,7 @@
 		    emfb_search_search_activated(esb, emfb);
 		    break;
 	}
-}
+}*/
 
 static void
 emfb_search_search_cleared(ESearchBar *esb)
Index: mail/ChangeLog
===================================================================
--- mail/ChangeLog	(revision 34343)
+++ mail/ChangeLog	(working copy)
@@ -1,3 +1,17 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* mail-vfolder.c:
+	* em-folder-browser.c:
+	* em-folder-view.c:
+	* em-format-html.c:
+	* mail-session.c:
+	* mail-session.h:
+	* em-mailer-prefs.c:
+	* em-mailer-prefs.h:
+	* e-searching-tokenizer.c: Fixes various compiler warnings.
+
 2007-10-01  Sankar P  <psankar@novell.com>
 
 	* em-format-html.c: (efh_format_headers):
Index: mail/em-folder-view.c
===================================================================
--- mail/em-folder-view.c	(revision 34343)
+++ mail/em-folder-view.c	(working copy)
@@ -2405,7 +2405,7 @@
 
 	if (emfv->priv->selected_uid) {
 		if (emfv->displayed_uid == NULL || strcmp(emfv->displayed_uid, emfv->priv->selected_uid) != 0) {
-			GtkHTMLStream *hstream;
+			/*GtkHTMLStream *hstream;*/
 
 			g_free(emfv->displayed_uid);
 			emfv->displayed_uid = emfv->priv->selected_uid;
Index: mail/em-format-html.c
===================================================================
--- mail/em-format-html.c	(revision 34343)
+++ mail/em-format-html.c	(working copy)
@@ -1516,9 +1516,9 @@
 
 /* FIXME: include Sender and Resent-* headers too? */
 /* For Translators only: The following strings are used in the header table in the preview pane */
-static char *i18n_hdrs[] = {
+/*static char *i18n_hdrs[] = {
 	N_("From"), N_("Reply-To"), N_("To"), N_("Cc"), N_("Bcc")
-};
+};*/
 
 static gchar *
 efh_format_address (EMFormatHTML *efh, GString *out, struct _camel_header_address *a, gchar *field)
Index: mail/mail-session.c
===================================================================
--- mail/mail-session.c	(revision 34343)
+++ mail/mail-session.c	(working copy)
@@ -745,7 +745,7 @@
 }
 
 const GList *
-mail_session_get_junk_plugins ()
+mail_session_get_junk_plugins (void)
 {
 	MailSession *ms = (MailSession *) session;	
 	return ms->junk_plugins;
Index: mail/mail-session.h
===================================================================
--- mail/mail-session.h	(revision 34343)
+++ mail/mail-session.h	(working copy)
@@ -51,7 +51,7 @@
 
 void mail_session_add_junk_plugin (const char *plugin_name, CamelJunkPlugin *junk_plugin);
 
-const GList * mail_session_get_junk_plugins ();
+const GList * mail_session_get_junk_plugins (void);
 	
 extern CamelSession *session;
 
Index: mail/em-mailer-prefs.c
===================================================================
--- mail/em-mailer-prefs.c	(revision 34343)
+++ mail/em-mailer-prefs.c	(working copy)
@@ -865,7 +865,7 @@
 }
 
 GtkWidget *
-create_combo_text_widget () {
+create_combo_text_widget (void) {
 	return gtk_combo_box_new_text ();
 }
 	
Index: mail/em-mailer-prefs.h
===================================================================
--- mail/em-mailer-prefs.h	(revision 34343)
+++ mail/em-mailer-prefs.h	(working copy)
@@ -142,7 +142,7 @@
 };
 
 GtkType em_mailer_prefs_get_type (void);
-GtkWidget * create_combo_text_widget ();
+GtkWidget * create_combo_text_widget (void);
 
 struct _GtkWidget *em_mailer_prefs_new (void);
 
Index: mail/e-searching-tokenizer.c
===================================================================
--- mail/e-searching-tokenizer.c	(revision 34343)
+++ mail/e-searching-tokenizer.c	(working copy)
@@ -162,7 +162,7 @@
 static char *ignored_tags[] = { "B", "I", "FONT", "TT", "EM", /* and more? */};
 
 static int
-ignore_tag(const char *tag)
+ignore_tag (const char *tag)
 {
 	char *t = alloca(strlen(tag)+1), c, *out;
 	const char *in;
@@ -260,10 +260,10 @@
 }
 
 static struct _trie *
-build_trie(int nocase, int len, char **words)
+build_trie(int nocase, int len, unsigned char **words)
 {
 	struct _state *q, *qt, *r;
-	char *word;
+	const unsigned char *word;
 	struct _match *m, *n = NULL;
 	int i, depth;
 	guint32 c;
@@ -294,7 +294,7 @@
 		word = words[i];
 		q = &trie->root;
 		depth = 0;
-		while ((c = camel_utf8_getc((const unsigned char **)&word))) {
+		while ((c = camel_utf8_getc (&word))) {
 			if (nocase)
 				c = g_unichar_tolower(c);
 			m = g(q, c);
@@ -439,7 +439,7 @@
 }
 
 static struct _searcher *
-searcher_new(int flags, int argc, char **argv, const char *tags, const char *tage)
+searcher_new (int flags, int argc, unsigned char **argv, const char *tags, const char *tage)
 {
 	int i, m;
 	struct _searcher *s;
@@ -717,7 +717,7 @@
 searcher_next_token(struct _searcher *s)
 {
 	struct _token *token;
-	char *tok, *stok, *pre_tok;
+	const unsigned char *tok, *stok, *pre_tok;
 	struct _trie *t = s->t;
 	struct _state *q = s->state;
 	struct _match *m = NULL;
@@ -726,7 +726,7 @@
 
 	while (e_dlist_empty(&s->output)) {
 		/* get next token */
-		tok = s->next_token(s->next_data);
+		tok = (unsigned char *)s->next_token(s->next_data);
 		if (tok == NULL) {
 			output_subpending(s);
 			output_pending(s);
@@ -734,15 +734,15 @@
 		}
 
 		/* we dont always have to copy each token, e.g. if we dont match anything */
-		token = append_token(&s->input, tok, -1);
+		token = append_token(&s->input, (const char *)tok, -1);
 		token->offset = s->offset;
-		tok = token->tok;
+		tok = (unsigned char *)token->tok;
 
 		d(printf("new token %d '%s'\n", token->offset, token->tok[0]==TAG_ESCAPE?token->tok+1:token->tok));
 
 		/* tag test, reset state on unknown tags */
 		if (tok[0] == TAG_ESCAPE) {
-			if (!ignore_tag(tok)) {
+			if (!ignore_tag ((const char *)tok)) {
 				/* force reset */
 				output_subpending(s);
 				output_pending(s);
@@ -754,7 +754,7 @@
 
 		/* process whole token */
 		pre_tok = stok = tok;
-		while ((c = camel_utf8_getc((const unsigned char **)&tok))) {
+		while ((c = camel_utf8_getc (&tok))) {
 			if ((s->flags & SEARCH_CASE) == 0)
 				c = g_unichar_tolower(c);
 			while (q && (m = g(q, c)) == NULL)
@@ -876,21 +876,22 @@
 static void
 search_info_add_string(struct _search_info *si, const char *s)
 {
-	const char *start;
+	const unsigned char *start;
 	guint32 c;
 
 	if (s && s[0]) {
+		const unsigned char *us = (const unsigned char *) s;
 		/* strip leading whitespace */
-		start = s;
-		while ((c = camel_utf8_getc((const unsigned char **)&s))) {
-			if (!g_unichar_isspace(c)) {
+		start = us;
+		while ((c = camel_utf8_getc (&us))) {
+			if (!g_unichar_isspace (c)) {
 				break;
 			}
-			start = s;
+			start = us;
 		}
 		/* should probably also strip trailing, but i'm lazy today */
 		if (start[0])
-			g_ptr_array_add(si->strv, g_strdup(start));
+			g_ptr_array_add(si->strv, g_strdup ((const char *)start));
 	}
 }
 
@@ -953,7 +954,7 @@
 	tage = alloca(20);
 	sprintf(tage, "%c</font>", TAG_ESCAPE);
 
-	return searcher_new(si->flags, si->strv->len, (char **)si->strv->pdata, tags, tage);
+	return searcher_new (si->flags, si->strv->len, (unsigned char **)si->strv->pdata, tags, tage);
 }
 
 /* ********************************************************************** */
Index: mail/message-list.c
===================================================================
--- mail/message-list.c	(revision 34343)
+++ mail/message-list.c	(working copy)
@@ -2758,11 +2758,10 @@
 			/* matching nodes, verify details/children */
 #if 0
 			if (bp->message) {
-				char *olduid;
-				int oldrow;
+				gpointer olduid, oldrow;
 				/* if this is a message row, check/update the row id map */
-				if (g_hash_table_lookup_extended(ml->uid_rowmap, camel_message_info_uid(bp->message), (void *)&olduid, (void *)&oldrow)) {
-					if (oldrow != (*row)) {
+				if (g_hash_table_lookup_extended(ml->uid_rowmap, camel_message_info_uid(bp->message), &olduid, &oldrow)) {
+					if ((int)oldrow != (*row)) {
 						g_hash_table_insert(ml->uid_rowmap, olduid, (void *)(*row));
 					}
 				} else {
Index: filter/filter-file.c
===================================================================
--- filter/filter-file.c	(revision 34343)
+++ filter/filter-file.c	(working copy)
@@ -284,7 +284,6 @@
 {
 	FilterFile *file = (FilterFile *) fe;
 	GtkWidget *filewidget;
-	GtkWidget *entry;
 
 	filewidget = (GtkWidget *) gtk_file_chooser_button_new (_("Choose a file"), GTK_FILE_CHOOSER_ACTION_OPEN);
 	gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (filewidget), file->path);
Index: filter/ChangeLog
===================================================================
--- filter/ChangeLog	(revision 34343)
+++ filter/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* filter-file.c: Fixes various compiler warnings.
+
 2007-09-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
 
 	** Fix for bug #461195
Index: composer/ChangeLog
===================================================================
--- composer/ChangeLog	(revision 34343)
+++ composer/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* e-msg-composer.c: Fixes various compiler warnings.
+
 2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	** Fixes part of bug #477045
Index: composer/e-msg-composer.c
===================================================================
--- composer/e-msg-composer.c	(revision 34343)
+++ composer/e-msg-composer.c	(working copy)
@@ -1691,15 +1691,15 @@
 static void
 autosave_manager_unregister (AutosaveManager *am, EMsgComposer *composer) 
 {
-	char *key, *oldkey;
-	void *olddata;
+	char *key;
+	void  *oldkey, *olddata;
 	EMsgComposerPrivate *p = composer->priv;
 
 	if (!p->autosave_file)
 		return;
 
 	key = g_path_get_basename(p->autosave_file);
-	if (g_hash_table_lookup_extended(am->table, key, (gpointer)&oldkey, (gpointer)&olddata)) {
+	if (g_hash_table_lookup_extended(am->table, key, &oldkey, &olddata)) {
 		g_hash_table_remove(am->table, oldkey);
 		g_free(oldkey);
 		g_free(key);
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 34343)
+++ ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* tools/killev.c: Fixes various compiler warnings.
+
 2007-09-27  Matthew Barnes  <mbarnes@redhat.com>
 
 	** Fixes part of bug #477045
Index: e-util/e-plugin.c
===================================================================
--- e-util/e-plugin.c	(revision 34343)
+++ e-util/e-plugin.c	(working copy)
@@ -187,21 +187,20 @@
 					ep->hooks = g_slist_append(ep->hooks, hook);
 				}
 			} else {
-				GSList *l;
-				char *oldclass;
+				gpointer l, oldclass;
 
 				if (ep_plugins_pending_hooks == NULL)
 					ep_plugins_pending_hooks = g_hash_table_new(g_str_hash, g_str_equal);
-				if (!g_hash_table_lookup_extended(ep_plugins_pending_hooks, class, (void **)&oldclass, (void **)&l)) {
+				if (!g_hash_table_lookup_extended (ep_plugins_pending_hooks, class, &oldclass, &l)) {
 					oldclass = class;
 					l = NULL;
 				}
 				else {
 					g_free(class);
 				}
-				l = g_slist_prepend(l, ep);
-				g_hash_table_insert(ep_plugins_pending_hooks, oldclass, l);
-				ep->hooks_pending = g_slist_prepend(ep->hooks_pending, node);
+				l = g_slist_prepend ( (GSList *) l, ep);
+				g_hash_table_insert (ep_plugins_pending_hooks, oldclass, l);
+				ep->hooks_pending = g_slist_prepend (ep->hooks_pending, node);
 			}
 		} else if (strcmp((char *)node->name, "description") == 0) {
 			ep->description = e_plugin_xml_content_domain(node, ep->domain);
@@ -1110,9 +1109,11 @@
 e_plugin_hook_register_type(GType type)
 {
 	EPluginHookClass *klass, *oldklass;
-	GSList *l, *plugins;
-	char *class;
+	GSList *l;
 
+	gpointer plugins; /* GSList */
+	gpointer class;
+
 	if (eph_types == NULL)
 		eph_types = g_hash_table_new(g_str_hash, g_str_equal);
 
@@ -1133,17 +1134,17 @@
 	/* if we've already loaded a plugin that needed this hook but it didn't exist, re-load it now */
 
 	if (ep_plugins_pending_hooks
-	    && g_hash_table_lookup_extended(ep_plugins_pending_hooks, klass->id, (void **)&class, (void **)&plugins)) {
+	    && g_hash_table_lookup_extended (ep_plugins_pending_hooks, klass->id, &class, &plugins)) {
 		struct _plugin_doc *pdoc, *ndoc;
 
-		g_hash_table_remove(ep_plugins_pending_hooks, class);
-		g_free(class);
-		for (l = plugins; l; l = g_slist_next(l)) {
+		g_hash_table_remove (ep_plugins_pending_hooks, class);
+		g_free (class);
+		for (l = (GSList *) plugins; l; l = g_slist_next(l)) {
 			EPlugin *ep = l->data;
 
-			ep_load_pending(ep, klass);
+			ep_load_pending (ep, klass);
 		}
-		g_slist_free(plugins);
+		g_slist_free ((GSList *) plugins);
 
 		/* See if we can now garbage collect the xml definition since its been fully loaded */
 
Index: e-util/e-pilot-map.c
===================================================================
--- e-util/e-pilot-map.c	(revision 34343)
+++ e-util/e-pilot-map.c	(working copy)
@@ -254,11 +254,11 @@
 	g_return_if_fail (map != NULL);
 
 	if (!g_hash_table_lookup_extended (map->pid_map, &pid, 
-					   &pkey, (gpointer *)&pnode))
+					   &pkey, &pnode))
 		return;
 	
 	g_hash_table_lookup_extended (map->uid_map, pnode->uid, &ukey,
-				      (gpointer *)&unode);
+				      &unode);
 	g_return_if_fail (unode != NULL);
 	
 	g_hash_table_remove (map->pid_map, &pid);
@@ -280,10 +280,10 @@
 	g_return_if_fail (map != NULL);
 	g_return_if_fail (uid != NULL);
 
-	if (!g_hash_table_lookup_extended (map->uid_map, uid, &ukey, (gpointer *)&unode))
+	if (!g_hash_table_lookup_extended (map->uid_map, uid, &ukey, &unode))
 		return;
 
-	g_hash_table_lookup_extended (map->pid_map, &unode->pid, &pkey, (gpointer *)&pnode);
+	g_hash_table_lookup_extended (map->pid_map, &unode->pid, &pkey, &pnode);
 
 	g_hash_table_remove (map->uid_map, uid);
 	g_hash_table_remove (map->pid_map, &unode->pid);
Index: e-util/ChangeLog
===================================================================
--- e-util/ChangeLog	(revision 34343)
+++ e-util/ChangeLog	(working copy)
@@ -1,3 +1,12 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* e-plugin.c:
+	* e-pilot-map.c:
+	* e-profile-event.c:
+	* e-signature.c: Fixes various compiler warnings.
+
 2007-09-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
 
 	** Fix for bug #461195
Index: e-util/e-profile-event.c
===================================================================
--- e-util/e-profile-event.c	(revision 34343)
+++ e-util/e-profile-event.c	(working copy)
@@ -125,7 +125,7 @@
 }
 
 #ifdef ENABLE_PROFILING
-void
+static void
 e_profile_event_emit(const char *id, const char *uid, guint32 flags)
 {
 	EProfileEvent *epe = e_profile_event_peek();
@@ -134,11 +134,12 @@
 	e_event_emit((EEvent *)epe, "event", (EEventTarget *)t);
 }
 #else
+/* simply keep macro from header file expand to "nothing".
 #undef e_profile_event_emit
-void
+static void
 e_profile_event_emit(const char *id, const char *uid, guint32 flags)
 {
-}
+}*/
 #endif
 
 /* ********************************************************************** */
Index: e-util/e-signature.c
===================================================================
--- e-util/e-signature.c	(revision 34343)
+++ e-util/e-signature.c	(working copy)
@@ -325,7 +325,8 @@
 char *
 e_signature_to_xml (ESignature *signature)
 {
-	char *xmlbuf, *tmp;
+	xmlChar *xmlbuf;
+	char *tmp;
 	xmlNodePtr root, node;
 	xmlDocPtr doc;
 	int n;
@@ -352,7 +353,7 @@
 		xmlSetProp (root, (const unsigned char *)"format", (const unsigned char *)"text/html");
 	}
 	
-	xmlDocDumpMemory (doc, (xmlChar **)&xmlbuf, &n);
+	xmlDocDumpMemory (doc, &xmlbuf, &n);
 	xmlFreeDoc (doc);
 	
 	/* remap to glib memory */
Index: widgets/text/e-text.c
===================================================================
--- widgets/text/e-text.c	(revision 34343)
+++ widgets/text/e-text.c	(working copy)
@@ -620,7 +620,7 @@
 static void
 calc_ellipsis (EText *text)
 {
-#warning "AIEEEE FIX ME.  a pango layout per calc_ellipsis sucks"
+/* FIXME: a pango layout per calc_ellipsis sucks */
 	int width;
 	PangoLayout *layout = gtk_widget_create_pango_layout (GTK_WIDGET (GNOME_CANVAS_ITEM (text)->canvas),
 							      text->ellipsis ? text->ellipsis : "...");
@@ -1247,9 +1247,7 @@
 	create_layout (text);
 
 	text->gc = gdk_gc_new (item->canvas->layout.bin_window);
-#ifndef NO_WARNINGS
-#warning Color brokenness ...
-#endif
+/* FIXME: Color brokenness ... */
 #if 0
 	gdk_color_context_query_color (item->canvas->cc, &text->color);
 	gdk_gc_set_foreground (text->gc, &text->color);
@@ -1936,7 +1934,7 @@
 static gboolean
 _do_tooltip (gpointer data)
 {
-#warning "need to sort out tooltip stuff."
+/* FIXME: need to sort out tooltip stuff. */
 	EText *text = E_TEXT (data);
 	GtkWidget *canvas;
 	int i;
Index: widgets/table/e-table-header-item.c
===================================================================
--- widgets/table/e-table-header-item.c	(revision 34343)
+++ widgets/table/e-table-header-item.c	(working copy)
@@ -142,10 +142,8 @@
 		g_object_unref (ethi->full_header);
 	ethi->full_header = NULL;
 
-	
 	if (ethi->etfcd)
-		g_object_remove_weak_pointer (G_OBJECT (ethi->etfcd), (gpointer *) (void *) &ethi->etfcd);
-	
+		g_object_remove_weak_pointer (G_OBJECT (ethi->etfcd), &ethi->etfcdptr);
 
 	if (ethi->config)
 		g_object_unref (ethi->config);
@@ -220,9 +218,7 @@
 			item->y1 = c1.y;
 			item->x2 = c2.x;
 			item->y2 = c2.y;
-#ifndef NO_WARNINGS
-#warning FOO BAA
-#endif
+/* FIXME: Group Child bounds !? (FOO BAA) */
 #if 0
 			gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);
 #endif
@@ -1363,7 +1359,7 @@
 static void
 ethi_popup_field_chooser(GtkWidget *widget, EthiHeaderInfo *info)
 {
-	gpointer etfcd = (gpointer)info->ethi->etfcd;
+	GtkWidget *etfcd = info->ethi->etfcd;
 
 	if (etfcd) {
 		gtk_window_present (GTK_WINDOW (etfcd));
@@ -1372,9 +1368,8 @@
 	}
 	
 	info->ethi->etfcd = e_table_field_chooser_dialog_new ();
-	etfcd = (gpointer)info->ethi->etfcd;
 
-	g_object_add_weak_pointer (G_OBJECT (etfcd), (gpointer*) (void *) &info->ethi->etfcd);
+	g_object_add_weak_pointer (G_OBJECT (etfcd), &info->ethi->etfcdptr);
 	
 	g_object_set (info->ethi->etfcd,
 		     "full_header", info->ethi->full_header,
Index: widgets/table/e-table-header-item.h
===================================================================
--- widgets/table/e-table-header-item.h	(revision 34343)
+++ widgets/table/e-table-header-item.h	(working copy)
@@ -95,9 +95,13 @@
 	ETableHeader    *full_header;
 	ETable          *table;
 	ETree           *tree;
-	GtkWidget       *etfcd;
 	void            *config;
 
+	union { /* to fix strict-aliasing */
+		GtkWidget *etfcd;
+		gpointer etfcdptr;
+	};
+
 	/* For keyboard navigation*/
 	int selected_col;
 
Index: widgets/table/ChangeLog
===================================================================
--- widgets/table/ChangeLog	(revision 34343)
+++ widgets/table/ChangeLog	(working copy)
@@ -1,3 +1,14 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* e-table.c:
+	* e-table-field-chooser-item.c:
+	* e-table-header-item.c:
+	* e-table-header-item.h:
+	* e-table-extras.c:
+	* e-table-header-utils.c: Fixes various compiler warnings.
+
 2007-10-01  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #470837
Index: widgets/table/e-table-extras.c
===================================================================
--- widgets/table/e-table-extras.c	(revision 34343)
+++ widgets/table/e-table-extras.c	(working copy)
@@ -199,14 +199,13 @@
 			     char         *id,
 			     ECell        *cell)
 {
-	gchar *old_key;
-	ECell *old_cell;
+	gpointer old_key, old_cell;
 
-	if (g_hash_table_lookup_extended (extras->cells, id, (gpointer *)&old_key, (gpointer *)&old_cell)) {
+	if (g_hash_table_lookup_extended (extras->cells, id, &old_key, &old_cell)) {
 		g_hash_table_remove (extras->cells, old_key);
 		g_free (old_key);
 		if (old_cell)
-			g_object_unref (old_cell);
+			g_object_unref (G_OBJECT (old_cell));
 	}
 
 	if (cell)
@@ -226,10 +225,9 @@
 			     char         *id,
 			     GCompareFunc  compare)
 {
-	gchar *old_key;
-	GCompareFunc old_compare;
+	gpointer old_key, old_compare;
 
-	if (g_hash_table_lookup_extended (extras->compares, id, (gpointer *)&old_key, (gpointer *)&old_compare)) {
+	if (g_hash_table_lookup_extended (extras->compares, id, &old_key, &old_compare)) {
 		g_hash_table_remove (extras->compares, old_key);
 		g_free (old_key);
 	}
@@ -249,10 +247,9 @@
 			    char             *id,
 			    ETableSearchFunc  search)
 {
-	gchar *old_key;
-	ETableSearchFunc old_search;
+	gpointer old_key, old_search;
 
-	if (g_hash_table_lookup_extended (extras->searches, id, (gpointer *)&old_key, (gpointer *)&old_search)) {
+	if (g_hash_table_lookup_extended (extras->searches, id, &old_key, &old_search)) {
 		g_hash_table_remove (extras->searches, old_key);
 		g_free (old_key);
 	}
@@ -272,14 +269,13 @@
 			       char         *id,
 			       GdkPixbuf    *pixbuf)
 {
-	gchar *old_key;
-	GdkPixbuf *old_pixbuf;
+	gpointer old_key, old_pixbuf;
 
-	if (g_hash_table_lookup_extended (extras->pixbufs, id, (gpointer *)&old_key, (gpointer *)&old_pixbuf)) {
+	if (g_hash_table_lookup_extended (extras->pixbufs, id, &old_key, &old_pixbuf)) {
 		g_hash_table_remove (extras->cells, old_key);
 		g_free (old_key);
 		if (old_pixbuf)
-			g_object_unref (old_pixbuf);
+			g_object_unref (G_OBJECT (old_pixbuf));
 	}
 
 	if (pixbuf)
Index: widgets/table/e-table-field-chooser-item.c
===================================================================
--- widgets/table/e-table-field-chooser-item.c	(revision 34343)
+++ widgets/table/e-table-field-chooser-item.c	(working copy)
@@ -206,9 +206,7 @@
 			item->y1 = c1.y;
 			item->x2 = c2.x;
 			item->y2 = c2.y;
-#ifndef NO_WARNINGS
-#warning Group Child bounds !?
-#endif
+/* FIXME: Group Child bounds !? */
 #if 0
 			gnome_canvas_group_child_bounds (GNOME_CANVAS_GROUP (item->parent), item);
 #endif
Index: widgets/table/e-table-header-utils.c
===================================================================
--- widgets/table/e-table-header-utils.c	(revision 34343)
+++ widgets/table/e-table-header-utils.c	(working copy)
@@ -333,7 +333,8 @@
 	int inner_width, inner_height;
 	GdkGC *gc;
 	PangoLayout *layout;
-	static GtkWidget *g_label = NULL;
+	static gpointer g_labelptr = NULL;
+	GtkWidget *g_label = (GtkWidget *) g_labelptr;
 
 	g_return_if_fail (drawable != NULL);
 	g_return_if_fail (ecol != NULL);
@@ -350,7 +351,8 @@
 		gtk_widget_ensure_style (window);
 		gtk_widget_ensure_style (button);
 		g_label = GTK_BIN(button)->child;
-		g_object_add_weak_pointer (G_OBJECT (g_label), (gpointer *) &g_label);
+		g_labelptr = g_label;
+		g_object_add_weak_pointer (G_OBJECT (g_label), &g_labelptr);
 		gtk_widget_ensure_style (g_label);
 	}
 
Index: widgets/table/e-table.c
===================================================================
--- widgets/table/e-table.c	(revision 34343)
+++ widgets/table/e-table.c	(working copy)
@@ -2926,9 +2926,7 @@
 {
 	ETable *et = data;
 	/* if (!GTK_OBJECT_DESTROYED (et)) */
-#ifndef NO_WARNINGS
-#warning FIXME
-#endif
+/* FIXME: */
 	{
 		et->last_drop_x       = 0;
 		et->last_drop_y       = 0;
Index: widgets/ChangeLog
===================================================================
--- widgets/ChangeLog	(revision 34343)
+++ widgets/ChangeLog	(working copy)
@@ -1,3 +1,9 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* text/e-text.c: Fixes various compiler warnings.
+
 2007-09-27  Hiroyuki Ikezoe  <poincare@ikezoe.net>
 
 	** Fix for bug #461195
Index: widgets/misc/e-cursors.c
===================================================================
--- widgets/misc/e-cursors.c	(revision 34343)
+++ widgets/misc/e-cursors.c	(working copy)
@@ -115,7 +115,7 @@
 	e_color_init ();
 
 	for (i = 0; cursors [i].hot_x; i++){
-		GdkBitmap *bitmap, *mask;
+		GdkBitmap *bitmap = NULL, *mask = NULL;
 
 		if (cursors [i].hot_x < 0)
 			cursors [i].cursor = gdk_cursor_new (cursors [i].hot_y);
Index: widgets/misc/e-spinner.c
===================================================================
--- widgets/misc/e-spinner.c	(revision 34343)
+++ widgets/misc/e-spinner.c	(working copy)
@@ -484,24 +484,23 @@
 	g_type_class_add_private (object_class, sizeof (ESpinnerCachePrivate));
 }
 
-static ESpinnerCache *spinner_cache = NULL;
+static gpointer spinner_cache = NULL;
 
 static ESpinnerCache *
 e_spinner_cache_ref (void)
 {
 	if (spinner_cache == NULL)
 	{
-		ESpinnerCache **cache_ptr;
+		ESpinnerCache *cache;
 
-		spinner_cache = g_object_new (E_TYPE_SPINNER_CACHE, NULL);
-		cache_ptr = &spinner_cache;
-		g_object_add_weak_pointer (G_OBJECT (spinner_cache),
-					   (gpointer *) cache_ptr);
+		cache = g_object_new (E_TYPE_SPINNER_CACHE, NULL);
+		g_object_add_weak_pointer (G_OBJECT (cache), &spinner_cache);
 
-		return spinner_cache;
+		spinner_cache = cache;
+		return cache;
 	}
-		
-	return g_object_ref (spinner_cache);
+
+	return E_SPINNER_CACHE (g_object_ref (G_OBJECT (spinner_cache)));
 }
 
 /* Spinner implementation */
Index: widgets/misc/ChangeLog
===================================================================
--- widgets/misc/ChangeLog	(revision 34343)
+++ widgets/misc/ChangeLog	(working copy)
@@ -1,3 +1,11 @@
+2007-10-01  Milan Crha  <mcrha@redhat.com>
+
+	** Fix for bug #437579
+
+	* e-cursors.c:
+	* e-spinner.c:
+	* e-unicode.c: Fixes various compiler warnings.
+
 2007-10-01  Milan Crha  <mcrha@redhat.com>
 
 	** Fix for bug #413420
Index: widgets/misc/e-unicode.c
===================================================================
--- widgets/misc/e-unicode.c	(revision 34343)
+++ widgets/misc/e-unicode.c	(working copy)
@@ -53,9 +53,7 @@
 static gint e_canonical_decomposition (gunichar ch, gunichar * buf);
 static gunichar e_stripped_char (gunichar ch);
 
-#ifndef NO_WARNINGS
-#warning FIXME: this has not been ported fully yet - non ASCII people beware.
-#endif
+/* FIXME: this has not been ported fully yet - non ASCII people beware. */
 
 /*
  * This my favourite
