--- /usr/tmp/clean/gail-1.9.3/gail/gaillabel.c	2006-09-25 16:40:23.000000000 +0100
+++ gaillabel.c	2006-11-07 14:08:44.441565000 +0000
@@ -275,6 +275,27 @@
   if (gail_label->textutil == NULL)
     return;
 
+  /*
+   * Check whether the label has actually changed before emitting
+   * notification.
+   */
+  if (gail_label->textutil->buffer) 
+    {
+      GtkTextIter start, end;
+      const char *new_label;
+      char *old_label;
+      int same;   
+
+      gtk_text_buffer_get_start_iter (gail_label->textutil->buffer, &start);
+      gtk_text_buffer_get_end_iter (gail_label->textutil->buffer, &end);
+      old_label = gtk_text_buffer_get_text (gail_label->textutil->buffer, &start, &end, FALSE);
+      new_label = gtk_label_get_text (label);
+      same = strcmp (new_label, old_label);
+      g_free (old_label);
+      if (same == 0)
+        return;
+    }
+   
   /* Create a delete text and an insert text signal */
  
   g_signal_emit_by_name (gail_obj, "text_changed::delete", 0, 
