Index: ChangeLog
===================================================================
--- ChangeLog	(Revision 672)
+++ ChangeLog	(Arbeitskopie)
@@ -1,3 +1,14 @@
+2007-10-07  David Farning <dfarning@gmail.com>
+
+	Patch updated and revised by 
+	Christian Kirbach <Christian.Kirbach@googlemail.com>
+ 
+ 	* icons/Makefile.am (update-icon-cache): Fix gtk-update-icon-cache
+ 	for install-hook and uninstall-hook.
+ 	* src/netstatus-dialog.c:
+ 	* src/netstatus-applet.c: Replace custom icon theme code with
+ 	gtk_window_set_icon_name() and remove unused variables.
+
 2007-09-22  Ihar Hrachyshka <ihar.hrachyshka@gmail.com>
 
 	* configure.in: Added "be@latin" (Belarusian Latin) to ALL_LINGUAS.
Index: src/netstatus-applet.c
===================================================================
--- src/netstatus-applet.c	(Revision 672)
+++ src/netstatus-applet.c	(Arbeitskopie)
@@ -284,7 +284,6 @@
   const char *translator_credits = _("translator_credits");
 
   GdkPixbuf *pixbuf = NULL;
-  char      *file;
 
   if (applet->priv->about_dialog)
     {
@@ -293,30 +292,24 @@
       gtk_window_present (GTK_WINDOW (applet->priv->about_dialog));
       return;
     }
-  
-  file = gnome_program_locate_file (NULL, GNOME_FILE_DOMAIN_PIXMAP,
-				    "gnome-netstatus-tx.png", TRUE, NULL);
-  pixbuf = gdk_pixbuf_new_from_file (file, NULL);
-  g_free (file);
 
   applet->priv->about_dialog =
-    gnome_about_new (_("Network Monitor"), VERSION,
-		     "Copyright \xc2\xa9 2003 Sun Microsystems, Inc.\n",
-		     _("The Network Monitor displays the status of a network device."),
-		     authors,
-		     documenters,
-		     strcmp (translator_credits, "translator_credits") != 0 ? translator_credits : NULL,
-		     pixbuf);
+       g_object_new (GTK_TYPE_ABOUT_DIALOG,
+                     "name", _("Network Monitor"), 
+                     "version", VERSION,
+		     "copyright", "Copyright \xc2\xa9 2003 Sun Microsystems, Inc.\n",
+		     "comments", _("The Network Monitor displays the status of a network device."),
+		     "authors", authors,
+		     "documenters", documenters,
+		     "translator-credits", translator_credits,
+		     "logo", pixbuf,
+                     NULL);
 
   gtk_window_set_wmclass (GTK_WINDOW (applet->priv->about_dialog), "netstatus", "Netstatus");
   gtk_window_set_screen (GTK_WINDOW (applet->priv->about_dialog),
 			 gtk_widget_get_screen (GTK_WIDGET (applet)));
 
-  if (pixbuf)
-    {
-      gtk_window_set_icon (GTK_WINDOW (applet->priv->about_dialog), pixbuf);
-      g_object_unref (pixbuf);
-    }
+  gtk_window_set_icon_name(GTK_WINDOW (applet->priv->about_dialog), "gnome-netstatus-tx");
 
   g_signal_connect (applet->priv->about_dialog,
 		    "destroy",
Index: src/netstatus-dialog.c
===================================================================
--- src/netstatus-dialog.c	(Revision 672)
+++ src/netstatus-dialog.c	(Arbeitskopie)
@@ -675,23 +675,6 @@
   netstatus_dialog_update_device_support (data);
 }
 
-static void
-netstatus_dialog_set_icon (GtkWidget *dialog)
-{
-  GtkIconTheme *icon_theme;
-  GtkIconInfo  *icon_info;
-
-  icon_theme = gtk_icon_theme_get_for_screen (gtk_window_get_screen (GTK_WINDOW (dialog)));
-
-  if ((icon_info = gtk_icon_theme_lookup_icon (icon_theme, "gnome-netstatus-tx", 48, 0)))
-    {
-      gtk_window_set_icon_from_file (GTK_WINDOW (dialog),
-				     gtk_icon_info_get_filename (icon_info),
-				     NULL);
-      gtk_icon_info_free (icon_info);
-    }
-}
-
 static gboolean
 netstatus_dialog_iface_list_monitor (NetstatusDialogData *data)
 {
@@ -738,7 +721,7 @@
   data->dialog = glade_xml_get_widget (xml, "network_status_dialog");
   g_object_set_data (G_OBJECT (data->dialog), "netstatus-dialog-data", data);
 
-  netstatus_dialog_set_icon (data->dialog);
+  gtk_window_set_icon_name(GTK_WINDOW (data->dialog), "gnome-netstatus-tx");	
 
   data->iface = g_object_ref (iface);
   netstatus_connect_signal_while_alive (data->iface,
Index: icons/Makefile.am
===================================================================
--- icons/Makefile.am	(Revision 672)
+++ icons/Makefile.am	(Arbeitskopie)
@@ -1,7 +1,5 @@
-iconsize=48x48
-category=apps
-iconsdir = $(datadir)/icons/hicolor/$(iconsize)/$(category)
-icons_DATA = 				\
+icondir = $(datadir)/icons/hicolor/48x48/apps
+icon_DATA = 				\
 	gnome-netstatus-disconn.png	\
 	gnome-netstatus-idle.png	\
 	gnome-netstatus-rx.png		\
@@ -13,7 +11,16 @@
 	gnome-netstatus-50-74.png       \
 	gnome-netstatus-75-100.png
 
-logodir = $(datadir)/pixmaps
-logo_DATA = gnome-netstatus-tx.png
+gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
+install-data-hook: update-icon-cache
+uninstall-hook: update-icon-cache
+update-icon-cache:
+	@-if test -z "$(DESTDIR)"; then \
+		echo "Updating Gtk icon cache."; \
+		$(gtk_update_icon_cache); \
+	else \
+		echo "*** Icon cache not updated.  After (un)install, run this:"; \
+		echo "***   $(gtk_update_icon_cache)"; \
+	fi
 
-EXTRA_DIST = $(icons_DATA)
+EXTRA_DIST = $(icon_DATA)
