Bug 131989 - [Browser] NullPointerException in WorkbenchBrowserSupport.createBrowser
diff --git a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
index 8c7b9dc..a4482e9 100644
--- a/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
+++ b/bundles/org.eclipse.ui.browser/src/org/eclipse/ui/internal/browser/DefaultBrowserSupport.java
@@ -26,6 +26,7 @@
*/
public class DefaultBrowserSupport extends AbstractWorkbenchBrowserSupport {
static final String SHARED_ID = "org.eclipse.ui.browser"; //$NON-NLS-1$
+ static final String DEFAULT_ID_BASE = "org.eclipse.ui.defaultBrowser"; //$NON-NLS-1$
protected HashMap browserIdMap = new HashMap();
@@ -84,7 +85,7 @@
public IWebBrowser createBrowser(int style, String browserId, String name,
String tooltip) throws PartInitException {
if (browserId == null)
- browserId = SHARED_ID;
+ browserId = getDefaultId();
IWebBrowser browser = getExistingWebBrowser(browserId);
if (browser != null) {
if (browser instanceof InternalBrowserInstance) {
@@ -181,4 +182,14 @@
} else
browserIdMap.remove(baseId);
}
+
+ private String getDefaultId() {
+ String id = null;
+ for (int i = 0; i < Integer.MAX_VALUE; i++) {
+ id = DEFAULT_ID_BASE + i;
+ if (browserIdMap.get(id) == null)
+ break;
+ }
+ return id;
+ }
}
\ No newline at end of file