From efd76606b2cc5d287d4d0d57fb3dc386e02d9e8a Mon Sep 17 00:00:00 2001 From: Randy Rohrbach Date: Mon, 22 Oct 2012 23:03:38 +0200 Subject: [PATCH] Bug 392095 The Traditional Memory Renderer does not work properly with the TCF Memory Block. Tightened up obtaining the factory using an adapter ( pawel input ). --- .../debug/ui/memory/traditional/TraditionalRendering.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/TraditionalRendering.java b/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/TraditionalRendering.java index 5692f7f0e35..b9331ea9f69 100644 --- a/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/TraditionalRendering.java +++ b/memory/org.eclipse.cdt.debug.ui.memory.traditional/src/org/eclipse/cdt/debug/ui/memory/traditional/TraditionalRendering.java @@ -23,6 +23,7 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.model.IMemoryBlock; import org.eclipse.debug.core.model.IMemoryBlockExtension; import org.eclipse.debug.core.model.MemoryByte; @@ -250,7 +251,8 @@ public class TraditionalRendering extends AbstractMemoryRendering implements IRe /* * Working with the model proxy must be done on the UI dispatch thread. */ - if ( block instanceof IModelProxyFactory ) { + final IModelProxyFactory factory = (IModelProxyFactory) DebugPlugin.getAdapter(block, IModelProxyFactory.class ); + if ( factory != null ) { Display.getDefault().asyncExec(new Runnable() { public void run() { @@ -265,7 +267,6 @@ public class TraditionalRendering extends AbstractMemoryRendering implements IRe * Get a new proxy and perform the initialization sequence so we are known the * the model provider. */ - IModelProxyFactory factory = (IModelProxyFactory) block; fModel = factory.createModelProxy(block, context); fModel.installed(null); fModel.addModelChangedListener(TraditionalRendering.this);