diff -Naur src.orig/org/eclipse/swt/browser/Browser.java src/org/eclipse/swt/browser/Browser.java
--- src.orig/org/eclipse/swt/browser/Browser.java	2005-09-08 11:12:00.000000000 +0200
+++ src/org/eclipse/swt/browser/Browser.java	2006-02-12 12:26:14.000000000 +0100
@@ -992,7 +992,13 @@
 	return aCanGoForward[0];
 }
 
-static String error(int code) {
+/*static String error(int code) {
+	throw new SWTError("XPCOM error "+code); //$NON-NLS-1$
+}*/
+protected void error(int code) {
+	throw new SWTError("XPCOM error "+code); //$NON-NLS-1$
+}
+static void static_error (int code) {
 	throw new SWTError("XPCOM error "+code); //$NON-NLS-1$
 }
 
diff -Naur src.orig/org/eclipse/swt/browser/Download.java src/org/eclipse/swt/browser/Download.java
--- src.orig/org/eclipse/swt/browser/Download.java	2005-02-28 16:56:00.000000000 +0100
+++ src/org/eclipse/swt/browser/Download.java	2006-02-12 12:22:06.000000000 +0100
@@ -275,8 +275,8 @@
 		nsISupports supports = new nsISupports(aObserver);
 		int /*long*/[] result = new int /*long*/[1];
 		int rc = supports.QueryInterface(nsIHelperAppLauncher.NS_IHELPERAPPLAUNCHER_IID, result);
-		if (rc != XPCOM.NS_OK) Browser.error(rc);
-		if (result[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);	
+		if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+		if (result[0] == 0) Browser.static_error(XPCOM.NS_ERROR_NO_INTERFACE);	
 		
 		helperAppLauncher = new nsIHelperAppLauncher(result[0]);
 	}
diff -Naur src.orig/org/eclipse/swt/browser/FilePicker.java src/org/eclipse/swt/browser/FilePicker.java
--- src.orig/org/eclipse/swt/browser/FilePicker.java	2005-09-08 11:12:00.000000000 +0200
+++ src/org/eclipse/swt/browser/FilePicker.java	2006-02-12 12:22:48.000000000 +0100
@@ -187,8 +187,8 @@
 	int /*long*/[] file = new int /*long*/[1];
 	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), true, file);
 	path.dispose ();
-	if (rc != XPCOM.NS_OK) Browser.error (rc);
-	if (file [0] == 0) Browser.error (XPCOM.NS_ERROR_NULL_POINTER);
+	if (rc != XPCOM.NS_OK) Browser.static_error (rc);
+	if (file [0] == 0) Browser.static_error (XPCOM.NS_ERROR_NULL_POINTER);
 	XPCOM.memmove (aFile, file, OS.PTR_SIZEOF);
 	return XPCOM.NS_OK;
 }
@@ -214,8 +214,8 @@
 	int /*long*/[] file = new int /*long*/[1];
 	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), true, file);
 	path.dispose ();
-	if (rc != XPCOM.NS_OK) Browser.error (rc);
-	if (file [0] == 0) Browser.error (XPCOM.NS_ERROR_NULL_POINTER);
+	if (rc != XPCOM.NS_OK) Browser.static_error (rc);
+	if (file [0] == 0) Browser.static_error (XPCOM.NS_ERROR_NULL_POINTER);
 	XPCOM.memmove (aDisplayDirectory, file, OS.PTR_SIZEOF);
 	return XPCOM.NS_OK;
 }
diff -Naur src.orig/org/eclipse/swt/browser/HelperAppLauncherDialog.java src/org/eclipse/swt/browser/HelperAppLauncherDialog.java
--- src.orig/org/eclipse/swt/browser/HelperAppLauncherDialog.java	2005-02-28 16:56:00.000000000 +0100
+++ src/org/eclipse/swt/browser/HelperAppLauncherDialog.java	2006-02-12 12:23:09.000000000 +0100
@@ -148,7 +148,7 @@
 	if (name == null) {
 		if (helperAppLauncher != null) {
 			rc = helperAppLauncher.Cancel();
-			if (rc != XPCOM.NS_OK) Browser.error(rc);
+			if (rc != XPCOM.NS_OK) Browser.static_error(rc);
 			return XPCOM.NS_OK;
 		}
 		return XPCOM.NS_ERROR_FAILURE;
@@ -156,8 +156,8 @@
 	nsEmbedString path = new nsEmbedString(name);
 	rc = XPCOM.NS_NewLocalFile(path.getAddress(), true, result);
 	path.dispose();
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_ERROR_NULL_POINTER);
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_ERROR_NULL_POINTER);
 	/* Our own nsIDownload has been registered during the Browser initialization. It will be invoked by Mozilla. */
 	XPCOM.memmove(_retval, result, OS.PTR_SIZEOF);	
 	return XPCOM.NS_OK;
diff -Naur src.orig/org/eclipse/swt/browser/PromptService.java src/org/eclipse/swt/browser/PromptService.java
--- src.orig/org/eclipse/swt/browser/PromptService.java	2005-09-06 10:40:00.000000000 +0200
+++ src/org/eclipse/swt/browser/PromptService.java	2006-02-12 12:24:00.000000000 +0100
@@ -97,8 +97,8 @@
 Browser getBrowser(int /*long*/ aDOMWindow) {
 	int /*long*/[] result = new int /*long*/[1];
 	int rc = XPCOM.NS_GetServiceManager(result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_NOINTERFACE);
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_NOINTERFACE);
 	
 	nsIServiceManager serviceManager = new nsIServiceManager(result[0]);
 	result[0] = 0;
@@ -106,29 +106,29 @@
 	byte[] aContractID = new byte[buffer.length + 1];
 	System.arraycopy(buffer, 0, aContractID, 0, buffer.length);
 	rc = serviceManager.GetServiceByContractID(aContractID, nsIWindowWatcher.NS_IWINDOWWATCHER_IID, result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_NOINTERFACE);		
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_NOINTERFACE);		
 	serviceManager.Release();
 	
 	nsIWindowWatcher windowWatcher = new nsIWindowWatcher(result[0]);
 	result[0] = 0;
 	rc = windowWatcher.GetChromeForWindow(aDOMWindow, result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_NOINTERFACE);		
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_NOINTERFACE);		
 	windowWatcher.Release();	
 	
 	nsIWebBrowserChrome webBrowserChrome = new nsIWebBrowserChrome(result[0]);
 	result[0] = 0;
 	rc = webBrowserChrome.QueryInterface(nsIEmbeddingSiteWindow.NS_IEMBEDDINGSITEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_NOINTERFACE);		
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_NOINTERFACE);		
 	webBrowserChrome.Release();
 	
 	nsIEmbeddingSiteWindow embeddingSiteWindow = new nsIEmbeddingSiteWindow(result[0]);
 	result[0] = 0;
 	rc = embeddingSiteWindow.GetSiteWindow(result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_NOINTERFACE);		
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_NOINTERFACE);		
 	embeddingSiteWindow.Release();
 	
 	return Browser.findBrowser(result[0]); 
diff -Naur src.orig/org/eclipse/swt/browser/WindowCreator.java src/org/eclipse/swt/browser/WindowCreator.java
--- src.orig/org/eclipse/swt/browser/WindowCreator.java	2005-02-28 16:56:00.000000000 +0100
+++ src/org/eclipse/swt/browser/WindowCreator.java	2006-02-12 12:24:26.000000000 +0100
@@ -95,22 +95,22 @@
 	nsIWebBrowserChrome browserChromeParent = new nsIWebBrowserChrome(parent);
 	int /*long*/[] aWebBrowser = new int /*long*/[1];
 	int rc = browserChromeParent.GetWebBrowser(aWebBrowser);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (aWebBrowser[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (aWebBrowser[0] == 0) Browser.static_error(XPCOM.NS_ERROR_NO_INTERFACE);
 	
 	nsIWebBrowser webBrowser = new nsIWebBrowser(aWebBrowser[0]);
 	int /*long*/[] result = new int /*long*/[1];
 	rc = webBrowser.QueryInterface(nsIBaseWindow.NS_IBASEWINDOW_IID, result);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (result[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (result[0] == 0) Browser.static_error(XPCOM.NS_ERROR_NO_INTERFACE);
 	webBrowser.Release();
 	
 	nsIBaseWindow baseWindow = new nsIBaseWindow(result[0]);
 	result[0] = 0;
 	int /*long*/[] aParentNativeWindow = new int /*long*/[1];
 	rc = baseWindow.GetParentNativeWindow(aParentNativeWindow);
-	if (rc != XPCOM.NS_OK) Browser.error(rc);
-	if (aParentNativeWindow[0] == 0) Browser.error(XPCOM.NS_ERROR_NO_INTERFACE);
+	if (rc != XPCOM.NS_OK) Browser.static_error(rc);
+	if (aParentNativeWindow[0] == 0) Browser.static_error(XPCOM.NS_ERROR_NO_INTERFACE);
 	baseWindow.Release();
 
 	Display display = Display.getCurrent();
diff -Naur src.orig/org/eclipse/swt/custom/TableCursor.java src/org/eclipse/swt/custom/TableCursor.java
--- src.orig/org/eclipse/swt/custom/TableCursor.java	2005-02-28 16:56:00.000000000 +0100
+++ src/org/eclipse/swt/custom/TableCursor.java	2006-02-12 12:37:48.000000000 +0100
@@ -483,15 +483,16 @@
 	}
 }
 
-void traverse(Event event) {
+public boolean traverse(Event event) {
 	switch (event.detail) {
 		case SWT.TRAVERSE_ARROW_NEXT :
 		case SWT.TRAVERSE_ARROW_PREVIOUS :
 		case SWT.TRAVERSE_RETURN :
 			event.doit = false;
-			return;
+			return false;
 	}
 	event.doit = true;
+	return true;
 }
 void setRowColumn(int row, int column, boolean notify) {
 	TableItem item = row == -1 ? null : table.getItem(row);
diff -Naur src.orig/org/eclipse/swt/widgets/Control.java src/org/eclipse/swt/widgets/Control.java
--- src.orig/org/eclipse/swt/widgets/Control.java	2005-06-22 19:25:00.000000000 +0200
+++ src/org/eclipse/swt/widgets/Control.java	2006-02-12 12:37:34.000000000 +0100
@@ -3261,7 +3261,7 @@
 	return code;
 }
 
-boolean traverse (Event event) {
+public boolean traverse (Event event) {
 	/*
 	* It is possible (but unlikely), that application
 	* code could have disposed the widget in the traverse
diff -Naur src.orig/org/eclipse/swt/widgets/Widget.java src/org/eclipse/swt/widgets/Widget.java
--- src.orig/org/eclipse/swt/widgets/Widget.java	2005-06-22 19:25:00.000000000 +0200
+++ src/org/eclipse/swt/widgets/Widget.java	2006-02-12 12:26:54.000000000 +0100
@@ -404,7 +404,7 @@
 	destroyWidget ();
 }
 
-void error (int code) {
+protected void error (int code) {
 	SWT.error (code);
 }
 
