Index: capplets/theme-switcher/gnome-theme-details.c
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/theme-switcher/gnome-theme-details.c,v
retrieving revision 1.12
diff -u -r1.12 gnome-theme-details.c
--- capplets/theme-switcher/gnome-theme-details.c	14 Feb 2003 00:02:47 -0000	1.12
+++ capplets/theme-switcher/gnome-theme-details.c	1 Jun 2003 17:12:36 -0000
@@ -318,13 +318,13 @@
 
   /* window manager themes */
   widget = WID ("window_install_button");
-  g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_icon_theme_installer_run_cb), parent);
+  g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run_cb), parent);
   widget = WID ("window_manage_button");
   g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_window_show_manage_themes), dialog);
 
   /* icon themes */
   widget = WID ("icon_install_button");
-  g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_installer_run_cb), parent);
+  g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_icon_theme_installer_run_cb), parent);
   widget = WID ("icon_manage_button");
   g_signal_connect (G_OBJECT (widget), "clicked", G_CALLBACK (gnome_theme_manager_icon_show_manage_themes), dialog);
 
Index: capplets/theme-switcher/gnome-theme-installer.c
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/theme-switcher/gnome-theme-installer.c,v
retrieving revision 1.3
diff -u -r1.3 gnome-theme-installer.c
--- capplets/theme-switcher/gnome-theme-installer.c	16 Jan 2003 07:40:29 -0000	1.3
+++ capplets/theme-switcher/gnome-theme-installer.c	1 Jun 2003 17:12:37 -0000
@@ -45,8 +45,15 @@
 	gchar *path = data;
 
 	/* this should be something more clever and nonblocking */
-	command = g_strdup_printf ("sh -c 'gzip -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
+	if (strstr (data, ".icons") != NULL) { 
+		command = g_strdup_printf ("sh -c 'gzip -d -c < \"%s\" | tar xf - -C \"%s/.icons\"'",
 				   path, g_get_home_dir ());
+	}
+	else {
+		command = g_strdup_printf ("sh -c 'gzip -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
+				   path, g_get_home_dir ());
+	}
+
 	if (g_spawn_command_line_sync (command, NULL, NULL, &status, NULL) && status == 0)
 		gnome_vfs_unlink (path);
 	g_free (command);
@@ -73,9 +80,15 @@
 	gchar *command;
 	gchar *path = data;
 
-	/* this should be something more clever and nonblocking */
-	command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
-				   path, g_get_home_dir ());
+	if (strstr (data, ".icons") != NULL) { 
+	 	command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.icons\"'",
+			path, g_get_home_dir ());
+	}
+	else {
+		command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
+			path, g_get_home_dir ());
+	}
+
 	if (g_spawn_command_line_sync (command, NULL, NULL, &status, NULL) && status == 0)
 		gnome_vfs_unlink (path);
 	g_free (command);
Index: capplets/theme-switcher/theme-switcher.c
===================================================================
RCS file: /cvs/gnome/gnome-control-center/capplets/theme-switcher/theme-switcher.c,v
retrieving revision 1.21
diff -u -r1.21 theme-switcher.c
--- capplets/theme-switcher/theme-switcher.c	29 Oct 2002 06:19:50 -0000	1.21
+++ capplets/theme-switcher/theme-switcher.c	1 Jun 2003 17:12:38 -0000
@@ -522,8 +522,15 @@
 	gchar *path = data;
 
 	/* this should be something more clever and nonblocking */
-	command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
-				   path, g_get_home_dir ());
+	if (strstr (data, ".icons") != NULL) { 
+	 	command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.icons\"'",
+			path, g_get_home_dir ());
+	}
+	else {
+		command = g_strdup_printf ("sh -c 'bzip2 -d -c < \"%s\" | tar xf - -C \"%s/.themes\"'",
+			path, g_get_home_dir ());
+	}
+
 	if (g_spawn_command_line_sync (command, NULL, NULL, &status, NULL) && status == 0)
 		gnome_vfs_unlink (path);
 	g_free (command);
