Made tests more stable
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
index 517870d..6ef92ea 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/AbstractJavaReplaceAllTest.java
@@ -70,9 +70,9 @@
 
 	private void measure(PerformanceMeter performanceMeter, int runs) throws Exception {
 		IAction action= fEditor.getAction(ITextEditorActionConstants.FIND);
-		Display display= EditorTestHelper.getActiveDisplay();
+		final Display display= EditorTestHelper.getActiveDisplay();
 		for (int i= 0; i < runs; i++) {
-			StyledText text= (StyledText)fEditor.getAdapter(Control.class);
+			StyledText text= (StyledText) fEditor.getAdapter(Control.class);
 			text.setSelection(0);
 			runAction(action);
 			
@@ -92,17 +92,19 @@
 			SWTEventHelper.pressKeyChar(display, 'a');
 			SWTEventHelper.keyCodeUp(display, SWT.MOD3);
 			
-			performanceMeter.stop();
 			
 			// Close Find/Replace dialog
 			SWTEventHelper.pressKeyCode(display, SWT.ESC);
 			
 			DisplayHelper helper= new DisplayHelper() {
 				public boolean condition() {
-					return fEditor.isDirty();
+					return fEditor.isDirty() && display.getActiveShell() == fEditor.getEditorSite().getShell();
 				}
 			};
 			assertTrue(helper.waitForCondition(display, 1000));
+			
+			performanceMeter.stop();
+			
 			try {
 				EditorTestHelper.revertEditor(fEditor, true);
 			} catch (IllegalArgumentException e) {
diff --git a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
index 1cab9e1..fa5d6d4 100644
--- a/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
+++ b/org.eclipse.jdt.text.tests/src/org/eclipse/jdt/text/tests/performance/MoveLineTest.java
@@ -99,11 +99,15 @@
 			}
 			SWTEventHelper.keyCodeUp(display, SWT.MOD3, true);
 			performanceMeter.stop();
-			try {
-				EditorTestHelper.revertEditor(fEditor, true);
-			} catch (NullPointerException e) {
-				// ignore because this can trigger a bug that got fixed in the 3.1 stream
-			}
+			
+			/*
+			 * In some cases in Eclipse 3.0 revert under Linux
+			 * caused an NPE which we cannot yet explain. Setting
+			 * the selection to (0, 0) prevents this from happening.
+			 */
+			fEditor.selectAndReveal(0, 0);
+			EditorTestHelper.revertEditor(fEditor, true);
+			
 			EditorTestHelper.joinBackgroundActivities(fEditor);
 		}
 	}