Index: /gli/trunk/src/org/greenstone/gatherer/gui/CreatePane.java
===================================================================
--- /gli/trunk/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 15861)
+++ /gli/trunk/src/org/greenstone/gatherer/gui/CreatePane.java	(revision 15862)
@@ -606,8 +606,7 @@
     }
 
-    /** This class serves as the listener for actions on the build button. It also ensures
-     * that the log displayed is refreshed whenever the building progress display updates. */
+    /** This class serves as the listener for actions on the build button. */
     private class BuildButtonListener
-	implements ActionListener, DocumentListener {
+	implements ActionListener {
 	/**
 	 * This method checks to see what needs to be done for a build, and starts the process off.
@@ -677,7 +676,4 @@
 	    document = options_pane.createNewLogDocument();
 	    log_textarea.setDocument(document);
-	    // Add a document listener to listen to DocumentEvents emitted by the custom document.
-	    // It prevents the blocks that appear in the log textarea that look like they need a refresh
-	    document.addDocumentListener(this);
 	    options_pane.log_textarea.setDocument(document);
 	    // Change the view.
@@ -691,12 +687,6 @@
 	    import_monitor.setStop(false);
 	}
-		
-
-	// Called whenever the custom Document object has been updated (it then fires a DocumentEvent, handled here)
-	public void changedUpdate(DocumentEvent e) { refreshLog(); }
-	public void insertUpdate(DocumentEvent e) { refreshLog(); }
-	public void removeUpdate(DocumentEvent e) { refreshLog(); }
-	public void refreshLog() { CreatePane.this.log_textarea.repaint(); }
-    }
+    }
+    
     
     /** This class serves as the listener for actions on the cancel button. */
Index: /gli/trunk/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java
===================================================================
--- /gli/trunk/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java	(revision 15861)
+++ /gli/trunk/src/org/greenstone/gatherer/util/AppendLineOnlyFileDocument.java	(revision 15862)
@@ -67,7 +67,5 @@
     /** An independant thread responsible for writing the 'in memory' contents of the document model to the random access file as appropriate. This is done so IO lag does not effect the gui as much as it used to. */
     private WriterThread writer;
-    
-    /** Keeps track of the document insert update event to be fired next (after a line element is written) */
-    private DocumentEvent event = null;
+
     
     public AppendLineOnlyFileDocument(String filename) {
@@ -119,20 +117,4 @@
     }
 
-    /** Notifies listeners of a document insert update event */
-    protected void fireInsertUpdate(DocumentEvent event) {
-	Object[] listeners = listeners_list.getListenerList(); 
-	for (int i = listeners.length - 2; i >= 0; i = i - 2) {
-	    try {
-		if (listeners[i] == DocumentListener.class) { 
-		    ((DocumentListener)listeners[i+1]).insertUpdate(event); 
-		} 
-	    } catch(Exception e) {
-		DebugStream.println("Exception in fireInsertUpdate() " + e.getMessage());
-	    }
-	} 
-	listeners = null; 
-	event = null; 
-    }
-
     /** Adds a document listener for notification of any changes. 
      * @param listener the new DocumentListener to keep track of
@@ -164,8 +146,14 @@
 	    // Queue the content to be written.
 	    writer.queue(new_line_element);
-
-	    // moved the firing of DocumentEvent to the WriterThread.run() method for when the new line is *actually* written to the doc
-	    event = new AppendLineOnlyFileDocumentEvent(new_line_element, (int)start_offset, str_length, DocumentEvent.EventType.INSERT); 
-	    //fireInsertUpdate(event);
+	    // Now fire an event so everyone knows the content has changed.
+	    DocumentEvent event = new AppendLineOnlyFileDocumentEvent(new_line_element, (int)start_offset, str_length, DocumentEvent.EventType.INSERT);
+	    Object[] listeners = listeners_list.getListenerList();
+	    for (int i = listeners.length - 2; i >= 0; i = i - 2) {
+		if (listeners[i] == DocumentListener.class) {
+		    ((DocumentListener)listeners[i+1]).insertUpdate(event);
+		}
+	    }
+	    listeners = null;
+	    event = null;
 	    new_line_element = null;
 	}
@@ -795,11 +783,7 @@
 			}
 			catch(Exception error) {
-			    DebugStream.printStackTrace(error);			    
+			    DebugStream.printStackTrace(error);
 			}
-			// having written the element, we fire any document insert update event prepared earlier
-			if(event != null) {
-			    AppendLineOnlyFileDocument.this.fireInsertUpdate(event);
-			}
-			element.clearContent();	   
+			element.clearContent();
 		    }
 		}
@@ -816,5 +800,5 @@
 			}
 			print("WriterThread.wait() complete");
-		    }
+		   }
 		}
 	    }
