Index: src/dlg-photo-importer.c
===================================================================
--- src/dlg-photo-importer.c	(revision 1265)
+++ src/dlg-photo-importer.c	(working copy)
@@ -33,6 +33,7 @@
 #include <gtk/gtk.h>
 #include <libgnome/gnome-help.h>
 #include <libgnomeui/gnome-icon-lookup.h>
+#include <libgnomeui/gnome-icon-theme.h>
 #include <libgnomevfs/gnome-vfs-file-info.h>
 #include <libgnomevfs/gnome-vfs-mime.h>
 #include <libgnomevfs/gnome-vfs-ops.h>
@@ -650,9 +651,9 @@
 {
 	GdkPixbuf      *pixbuf = NULL;
 	int             icon_size;
-        GtkIconTheme   *icon_theme = gtk_icon_theme_get_default ();
-        GtkIconInfo    *icon_info = NULL;
+        GnomeIconTheme *icon_theme = gnome_icon_theme_new ();
         char           *icon_name;
+        char           *icon_path;
 
         icon_size = get_default_icon_size (data->dialog);
         icon_name = gnome_icon_lookup (icon_theme,
@@ -663,15 +664,16 @@
                                        mime_type,
                                        GNOME_ICON_LOOKUP_FLAGS_NONE,
                                        NULL);
-	icon_info = gtk_icon_theme_lookup_icon (icon_theme,
-                                            icon_name,
-                                            icon_size,
-                                            0);
+	icon_path = gnome_icon_theme_lookup_icon (icon_theme,
+                                                  icon_name,
+                                                  icon_size,
+                                                  NULL,
+                                                  NULL);
         g_free (icon_name);
 
-	if (icon_info != NULL) {
-		pixbuf = gtk_icon_info_load_icon (icon_info, NULL);
-		gtk_icon_info_free (icon_info);
+	if (icon_path != NULL) {
+		 pixbuf = gdk_pixbuf_new_from_file (icon_path, NULL);
+                g_free (icon_path);
 	}
 
 	g_object_unref (icon_theme);
Index: src/main.c
===================================================================
--- src/main.c	(revision 1265)
+++ src/main.c	(working copy)
@@ -80,7 +80,7 @@
 static gboolean        view_single_image = FALSE;
 static GdkPixbuf      *icon_pixbuf[ICON_NAMES] = { 0 };
 static GtkWidget      *first_window = NULL;
-static GtkIconTheme   *icon_theme = NULL;
+static GnomeIconTheme *icon_theme = NULL;
 static BonoboObject   *gth_application = NULL;
 
 struct poptOption options[] = {
@@ -122,7 +122,7 @@
 
 
 static void
-theme_changed_cb (GtkIconTheme *theme,
+theme_changed_cb (GnomeIconTheme *theme,
 		  gpointer        data)
 {
 	free_icon_pixbufs ();
@@ -379,7 +379,8 @@
 
 	/* Icon theme */
 
-	icon_theme = gtk_icon_theme_get_default ();
+	icon_theme = gnome_icon_theme_new ();
+	gnome_icon_theme_set_allow_svg (icon_theme, TRUE);
 	g_signal_connect (icon_theme,
 			  "changed",
 			  G_CALLBACK (theme_changed_cb),
@@ -919,26 +920,30 @@
 	return icon_pixbuf[icon_name];
 	*/
 
-        if (icon_pixbuf[icon_name] == NULL) {
-		GtkIconInfo         *icon_info = NULL;
- 
-		icon_info = gtk_icon_theme_lookup_icon (icon_theme,
-							icon_mime_name[icon_name],
-							icon_size,
-							0);
+	if (icon_pixbuf[icon_name] == NULL) {
+		const GnomeIconData *icon_data;
+		int                  base_size;
+		char                *icon_path;
 
-		if (icon_info == NULL) {
-                	icon_pixbuf[icon_name] = gdk_pixbuf_new_from_inline (-1,
-                                                                             dir_16_rgba,
-                                                                             FALSE,
-                                                                             NULL);
-                        scale = FALSE;
-                } else {
-			icon_pixbuf[icon_name] = gtk_icon_info_load_icon (icon_info, NULL);
-			gtk_icon_info_free (icon_info);
-                }
-        }
+		icon_path = gnome_icon_theme_lookup_icon (icon_theme,
+							  icon_mime_name[icon_name],
+							  icon_size,
+							  &icon_data,
+							  &base_size);
 
+		if (icon_path == NULL) {
+			icon_pixbuf[icon_name] = gdk_pixbuf_new_from_inline (-1,
+									     dir_16_rgba,
+									     FALSE,
+									     NULL);
+			scale = FALSE;
+		} else {
+			icon_pixbuf[icon_name] = gdk_pixbuf_new_from_file (icon_path,
+									   NULL);
+			g_free (icon_path);
+		}
+	}
+
 	/* Scale keeping aspect ratio. */
 
  	if (! scale) {
Index: src/gth-viewer.c
===================================================================
--- src/gth-viewer.c	(revision 1265)
+++ src/gth-viewer.c	(working copy)
@@ -1414,6 +1414,7 @@
 			 GList           *list,
 			 GthViewer       *viewer)
 {
+printf ("monitor cb\n\r");	
 	g_return_if_fail (viewer != NULL);
 
 	if (viewer->priv->image_path == NULL)
@@ -1431,6 +1432,7 @@
 		break;
 
 	case GTH_MONITOR_EVENT_DELETED:
+printf ("delete cb\n\r");		
 		if (! viewer->priv->image_modified)
 			gth_window_close (GTH_WINDOW (viewer));
 		break;
Index: libgthumb/gth-file-view-list.c
===================================================================
--- libgthumb/gth-file-view-list.c	(revision 1265)
+++ libgthumb/gth-file-view-list.c	(working copy)
@@ -27,6 +27,7 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libgnomeui/gnome-icon-lookup.h>
+#include <libgnomeui/gnome-icon-theme.h>
 
 #include "typedefs.h"
 #include "gth-file-view.h"
@@ -59,7 +60,7 @@
 	GtkSortType     sort_type;
 	GthViewMode     view_mode;
 	int             max_image_size;
-	GtkIconTheme   *icon_theme;
+	GnomeIconTheme *icon_theme;
 	gboolean        enable_thumbs;
 	gboolean        reorderable;
 	GdkPixbuf      *unknown_pixbuf_small;
@@ -1124,10 +1125,10 @@
 static GdkPixbuf *
 create_unknown_pixbuf (GthFileViewList *gfv_list, gboolean big)
 {
-	GtkIconTheme   *icon_theme = gfv_list->priv->icon_theme;
-	GtkIconInfo    *icon_info = NULL;
+	GnomeIconTheme *icon_theme = gfv_list->priv->icon_theme;
 	int             icon_width, icon_height, icon_size;
 	char           *icon_name;
+	char           *icon_path;
 	GdkPixbuf      *pixbuf = NULL;
 	int             width, height;
 
@@ -1144,17 +1145,16 @@
 				       "image/*",
 				       GNOME_ICON_LOOKUP_FLAGS_NONE,
 				       NULL);
-
-	icon_info = gtk_icon_theme_lookup_icon (icon_theme,
-						icon_name,
-						icon_size,
-						0);
-
+	icon_path = gnome_icon_theme_lookup_icon (icon_theme,
+						  icon_name,
+						  icon_size,
+						  NULL,
+						  NULL);
 	g_free (icon_name);
 
-	if (icon_info != NULL) {
-		pixbuf = gtk_icon_info_load_icon (icon_info, NULL);
-		gtk_icon_info_free (icon_info);
+	if (icon_path != NULL) {
+		pixbuf = gdk_pixbuf_new_from_file (icon_path, NULL);
+		g_free (icon_path);
 	}
 
 	if (pixbuf == NULL)
@@ -1732,7 +1732,8 @@
 
 	/**/
 
-	priv->icon_theme = gtk_icon_theme_get_default ();
+	priv->icon_theme = gnome_icon_theme_new ();
+	gnome_icon_theme_set_allow_svg (priv->icon_theme, TRUE);
 	priv->unknown_pixbuf_small = create_unknown_pixbuf (gfv_list, FALSE);
 	priv->unknown_pixbuf_big = create_unknown_pixbuf (gfv_list, TRUE);
 
Index: libgthumb/gth-file-view-thumbs.c
===================================================================
--- libgthumb/gth-file-view-thumbs.c	(revision 1265)
+++ libgthumb/gth-file-view-thumbs.c	(working copy)
@@ -37,7 +37,7 @@
 
 struct _GthFileViewThumbsPrivate {
 	GthImageList   *ilist;
-	GtkIconTheme   *icon_theme;
+	GnomeIconTheme *icon_theme;
 	GdkPixbuf      *unknown_pixbuf;
 };
 
@@ -816,11 +816,11 @@
 static GdkPixbuf *
 create_unknown_pixbuf (GthFileViewThumbs *gfv_thumbs)
 {
-	GtkIconInfo *icon_info = NULL;
-	int          icon_size;
-	char        *icon_name;
-	GdkPixbuf   *pixbuf = NULL;
-	int          width, height;
+	int         icon_size;
+	char       *icon_name;
+	char       *icon_path;
+	GdkPixbuf  *pixbuf = NULL;
+	int         width, height;
 
 	icon_size = get_default_icon_size (GTK_WIDGET (gfv_thumbs->priv->ilist));
 
@@ -832,15 +832,16 @@
 				       "image/*",
 				       GNOME_ICON_LOOKUP_FLAGS_NONE,
 				       NULL);
-	icon_info = gtk_icon_theme_lookup_icon (gfv_thumbs->priv->icon_theme,
+	icon_path = gnome_icon_theme_lookup_icon (gfv_thumbs->priv->icon_theme,
 						  icon_name,
 						  icon_size,
-						  0);
+						  NULL,
+						  NULL);
 	g_free (icon_name);
 
-	if (icon_info != NULL) {
-		pixbuf = gtk_icon_info_load_icon (icon_info, NULL);
-		gtk_icon_info_free (icon_info);
+	if (icon_path != NULL) {
+		pixbuf = gdk_pixbuf_new_from_file (icon_path, NULL);
+		g_free (icon_path);
 	}
 
 	if (pixbuf == NULL)
@@ -1143,7 +1144,8 @@
 
 	/**/
 
-	gfv_thumbs->priv->icon_theme = gtk_icon_theme_get_default ();
+	gfv_thumbs->priv->icon_theme = gnome_icon_theme_new ();
+	gnome_icon_theme_set_allow_svg (gfv_thumbs->priv->icon_theme, TRUE);
 	gfv_thumbs->priv->unknown_pixbuf = create_unknown_pixbuf (gfv_thumbs);
 
 	return GTH_FILE_VIEW (gfv_thumbs);
