Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCurtis Windatt2008-01-28 17:46:35 +0000
committerCurtis Windatt2008-01-28 17:46:35 +0000
commitd8057e275bd82fcada141ab985ccbcd9a171a69e (patch)
treee38a6b98f038ad7d28bcd56d12b6cb27b3c8cd73 /org.eclipse.debug.ui
parenta1668d4b1d361b08b0e8a5d807f154904ecdf803 (diff)
downloadeclipse.platform.debug-d8057e275bd82fcada141ab985ccbcd9a171a69e.tar.gz
eclipse.platform.debug-d8057e275bd82fcada141ab985ccbcd9a171a69e.tar.xz
eclipse.platform.debug-d8057e275bd82fcada141ab985ccbcd9a171a69e.zip
Bug 216777 - [detail panes] widget disposed exception
Diffstat (limited to 'org.eclipse.debug.ui')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.java4
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.properties6
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java10
3 files changed, 13 insertions, 7 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.java
index e115efae6..4a18b069f 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -28,6 +28,8 @@ public class DetailMessages extends NLS {
public static String DefaultDetailPane_Select__All_5;
public static String DetailPaneProxy_0;
public static String DetailPaneProxy_1;
+ public static String DetailPaneProxy_2;
+ public static String DetailPaneProxy_3;
static {
// initialize resource bundle
NLS.initializeMessages(BUNDLE_NAME, DetailMessages.class);
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.properties
index b512c3f09..e56651b5a 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.properties
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailMessages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2006, 2007 IBM Corporation and others.
+# Copyright (c) 2006, 2008 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -22,4 +22,6 @@ DefaultDetailPane__Paste_14=&Paste
DefaultDetailPane_Error_1=Error
DefaultDetailPane_2=Unable to configure source viewer detail pane
DetailPaneProxy_0=Problem displaying detail pane, see log for details.
-DetailPaneProxy_1=There are no detail panes available, see log for details.
+DetailPaneProxy_1=There are no detail panes available for the current selection.
+DetailPaneProxy_2=The detail pane with ID {0} did not create and return a control.
+DetailPaneProxy_3=Could not create the detail pane with ID {0}
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java
index 9248a2772..07570d974 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/variables/details/DetailPaneProxy.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2007 IBM Corporation and others.
+ * Copyright (c) 2006, 2008 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,6 +22,8 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
+import com.ibm.icu.text.MessageFormat;
+
/**
* Acts as a proxy between a view and a detail pane. Controls how information is displayed
* in the details pane in a view. Currently used by the variables, registers and expression
@@ -148,6 +150,7 @@ public class DetailPaneProxy {
private void setupPane(String paneID, IStructuredSelection selection) {
if (fCurrentPane != null) fCurrentPane.dispose();
if (fCurrentControl != null && !fCurrentControl.isDisposed()) fCurrentControl.dispose();
+ fCurrentPane = null;
if (paneID != null){
fCurrentPane = DetailPaneManager.getDefault().getDetailPaneFromID(paneID);
if (fCurrentPane != null){
@@ -158,15 +161,14 @@ public class DetailPaneProxy {
fCurrentPane.display(selection);
} else{
createErrorLabel(DetailMessages.DetailPaneProxy_0);
- DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "The detail pane \""+ fCurrentPane.getID() + "\" did not create and return a control."))); //$NON-NLS-1$ //$NON-NLS-2$
+ DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_2, new String[]{fCurrentPane.getID()}))));
}
} else {
createErrorLabel(DetailMessages.DetailPaneProxy_0);
- DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "Could not create the detail pane with ID " + paneID))); //$NON-NLS-1$
+ DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), MessageFormat.format(DetailMessages.DetailPaneProxy_3, new String[]{paneID}))));
}
} else {
createErrorLabel(DetailMessages.DetailPaneProxy_1);
- DebugUIPlugin.log(new CoreException(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), "No detail panes could be found to display the current selection."))); //$NON-NLS-1$
}
}

Back to the top