diff -ur mtr-0.26/Makefile.am mtr-0.27/Makefile.am
--- mtr-0.26/Makefile.am	Thu Oct 29 15:16:16 1998
+++ mtr-0.27/Makefile.am	Sun Nov  1 00:20:53 1998
@@ -22,3 +22,6 @@
 mtr_LDFLAGS = $(GTK_OBJ) $(CURSES_OBJ)
 
 EXTRA_DIST = SECURITY mtr.8
+
+DISTCLEANFILES = *~
+
diff -ur mtr-0.26/Makefile.in mtr-0.27/Makefile.in
--- mtr-0.26/Makefile.in	Sat Oct 31 13:56:42 1998
+++ mtr-0.27/Makefile.in	Mon Nov  2 10:15:40 1998
@@ -81,6 +81,8 @@
 mtr_LDFLAGS = $(GTK_OBJ) $(CURSES_OBJ)
 
 EXTRA_DIST = SECURITY mtr.8
+
+DISTCLEANFILES = *~
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
 CONFIG_HEADER = config.h
diff -ur mtr-0.26/NEWS mtr-0.27/NEWS
--- mtr-0.26/NEWS	Sat Oct 31 16:22:48 1998
+++ mtr-0.27/NEWS	Mon Nov  2 10:24:29 1998
@@ -1,5 +1,9 @@
 WHAT'S NEW?
 
+  v0.27
+	Fixed bug that showed up on Solaris/x86.
+	Gimp mainloop now runs as it's supposed to.
+
   v0.26
         Added "-n" flag for numeric output. 
         fixed IP numbers displaying backwards.
diff -ur mtr-0.26/configure mtr-0.27/configure
--- mtr-0.26/configure	Sat Oct 31 13:57:10 1998
+++ mtr-0.27/configure	Mon Nov  2 10:15:42 1998
@@ -609,7 +609,7 @@
 
 PACKAGE=mtr
 
-VERSION=0.26
+VERSION=0.27
 
 if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
   { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
diff -ur mtr-0.26/configure.in mtr-0.27/configure.in
--- mtr-0.26/configure.in	Sat Oct 31 13:56:35 1998
+++ mtr-0.27/configure.in	Mon Nov  2 10:15:33 1998
@@ -1,5 +1,5 @@
 AC_INIT(mtr.c)
-AM_INIT_AUTOMAKE(mtr, 0.26)
+AM_INIT_AUTOMAKE(mtr, 0.27)
 
 AC_SUBST(GTK_OBJ)
 AC_SUBST(CURSES_OBJ)
diff -ur mtr-0.26/gtk.c mtr-0.27/gtk.c
--- mtr-0.26/gtk.c	Sat Oct 31 16:08:29 1998
+++ mtr-0.27/gtk.c	Sun Nov  1 01:01:18 1998
@@ -36,6 +36,8 @@
 extern float WaitTime;
 extern float DeltaTime;
 
+static int tag;
+
 void gtk_do_init(int *argc, char ***argv) {
   static int done = 0;
 
@@ -305,6 +307,8 @@
 gint gtk_ping(gpointer data) {
   gtk_redraw();
   net_send_batch();
+  gtk_timeout_remove (tag);
+  tag = gtk_timeout_add(DeltaTime*1000, gtk_ping, NULL);
   return TRUE;
 }
 
@@ -321,7 +325,7 @@
 
 void gtk_loop() {
   DeltaTime = WaitTime/10;
-  gtk_timeout_add(DeltaTime*1000, gtk_ping, NULL);
+  tag = gtk_timeout_add(DeltaTime*1000, gtk_ping, NULL);
   gdk_input_add(net_waitfd(), GDK_INPUT_READ, gtk_net_data, NULL);
   gdk_input_add(dns_waitfd(), GDK_INPUT_READ, gtk_dns_data, NULL);
 
diff -ur mtr-0.26/net.c mtr-0.27/net.c
--- mtr-0.26/net.c	Sat Oct 31 16:00:33 1998
+++ mtr-0.27/net.c	Mon Nov  2 10:11:36 1998
@@ -136,7 +136,7 @@
 
   ip->version = 0x45;
   ip->tos = 0;
-  ip->len = packetsize;
+  ip->len = htons (packetsize);
   ip->id = 0;
   ip->frag = 0;
   ip->ttl = 127;
@@ -178,7 +178,7 @@
 
   ip->version = 0x45;
   ip->tos = 0;
-  ip->len = packetsize;
+  ip->len = htons (packetsize);
   ip->id = 0;
   ip->frag = 0;
   ip->ttl = hops;
