Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Piech2010-10-28 19:47:42 +0000
committerPawel Piech2010-10-28 19:47:42 +0000
commit4dea12d98e8c0a6d1ea14d0a3ba3b9b91f58ebf7 (patch)
treec975122cbe0406ecd278b805a61de1f9e3d69fb3
parentc0f40ceb474ee93ed4e5b925f95b4ca9799516b4 (diff)
downloadorg.eclipse.cdt-4dea12d98e8c0a6d1ea14d0a3ba3b9b91f58ebf7.tar.gz
org.eclipse.cdt-4dea12d98e8c0a6d1ea14d0a3ba3b9b91f58ebf7.tar.xz
org.eclipse.cdt-4dea12d98e8c0a6d1ea14d0a3ba3b9b91f58ebf7.zip
Bug 328883 - AbstractCachingVMProvider throws ClassCastException
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueRetriever.java4
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/properties/PropertiesUpdateStatus.java3
-rw-r--r--dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java8
3 files changed, 7 insertions, 8 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueRetriever.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueRetriever.java
index f9f389c6885..f20b47b69af 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueRetriever.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/numberformat/FormattedValueRetriever.java
@@ -560,11 +560,11 @@ public class FormattedValueRetriever {
if (update.getProperties().contains(PROP_ACTIVE_FORMAT_VALUE) &&
format.equals(activeFormat))
{
- PropertiesUpdateStatus.getPropertiesStatus(update).setStatus(
+ PropertiesUpdateStatus.makePropertiesStatus(update.getStatus()).setStatus(
new String[] { PROP_ACTIVE_FORMAT_VALUE, formatProperty },
staleDataStatus);
} else {
- PropertiesUpdateStatus.getPropertiesStatus(update).setStatus(formatProperty, staleDataStatus);
+ PropertiesUpdateStatus.makePropertiesStatus(update.getStatus()).setStatus(formatProperty, staleDataStatus);
}
}
}
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/properties/PropertiesUpdateStatus.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/properties/PropertiesUpdateStatus.java
index 5ff39b4c9da..cce0ff6a59e 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/properties/PropertiesUpdateStatus.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/properties/PropertiesUpdateStatus.java
@@ -203,8 +203,7 @@ public class PropertiesUpdateStatus extends DsfMultiStatus {
* Convenience method that returns and optionally creates a properties
* update status object for the given update.
*/
- public static PropertiesUpdateStatus getPropertiesStatus(IPropertiesUpdate update) {
- IStatus updateStatus = update.getStatus();
+ public static PropertiesUpdateStatus makePropertiesStatus(IStatus updateStatus) {
if (updateStatus instanceof PropertiesUpdateStatus) {
return (PropertiesUpdateStatus)updateStatus;
} else {
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
index 0323463de24..b0ad8e4bbe5 100644
--- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
+++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/update/AbstractCachingVMProvider.java
@@ -1177,13 +1177,13 @@ public class AbstractCachingVMProvider extends AbstractVMProvider
String missingProperty = itr.next();
if ( !updatePolicyExt.canUpdateDirtyProperty(entry, missingProperty) ) {
itr.remove();
- PropertiesUpdateStatus.getPropertiesStatus(update).setStatus(
+ PropertiesUpdateStatus.makePropertiesStatus(update.getStatus()).setStatus(
missingProperty,
DsfUIPlugin.newErrorStatus(IDsfStatusConstants.INVALID_STATE, "Cache contains stale data. Refresh view.", null ));//$NON-NLS-1$
}
}
} else {
- PropertiesUpdateStatus.getPropertiesStatus(update).setStatus(
+ PropertiesUpdateStatus.makePropertiesStatus(update.getStatus()).setStatus(
missingProperties.toArray(new String[missingProperties.size()]),
DsfUIPlugin.newErrorStatus(IDsfStatusConstants.INVALID_STATE, "Cache contains stale data. Refresh view.", null ));//$NON-NLS-1$
missingProperties.clear();
@@ -1210,7 +1210,7 @@ public class AbstractCachingVMProvider extends AbstractVMProvider
new ViewerDataRequestMonitor<Map<String, Object>>(getExecutor(), update) {
@Override
protected void handleCompleted() {
- PropertiesUpdateStatus missUpdateStatus = (PropertiesUpdateStatus)getStatus();
+ PropertiesUpdateStatus missUpdateStatus = PropertiesUpdateStatus.makePropertiesStatus(getStatus());
Map<String, Object> cachedProperties;
PropertiesUpdateStatus cachedStatus;
if (!isCanceled() && flushCounter == entry.fFlushCounter) {
@@ -1295,7 +1295,7 @@ public class AbstractCachingVMProvider extends AbstractVMProvider
for (String property : update.getProperties()) {
update.setProperty(property, cachedProperties.get(property));
}
- PropertiesUpdateStatus updateStatus = PropertiesUpdateStatus.getPropertiesStatus(update);
+ PropertiesUpdateStatus updateStatus = PropertiesUpdateStatus.makePropertiesStatus(update.getStatus());
updateStatus = PropertiesUpdateStatus.mergePropertiesStatus(
updateStatus, cachedStatus, update.getProperties());
update.setStatus(updateStatus);

Back to the top