mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-05 08:46:02 +02:00
Bug 144719: [Modules view] Modules from from different sessions are mixed up.
This commit is contained in:
parent
1236d27b74
commit
263add60a9
4 changed files with 26 additions and 6 deletions
|
@ -1,3 +1,7 @@
|
|||
2006-05-31 Mikhail Khodjaiants
|
||||
Bug 144719: [Modules view] Modules from from different sessions are mixed up.
|
||||
* CDebugElement.java
|
||||
|
||||
2006-05-29 Mikhail Khodjaiants
|
||||
Bug 108472: Debug continues to fail.
|
||||
* DebugCoreMessages.properties
|
||||
|
|
|
@ -21,6 +21,7 @@ import org.eclipse.cdt.debug.core.model.CDebugElementState;
|
|||
import org.eclipse.cdt.debug.core.model.ICDebugElement;
|
||||
import org.eclipse.cdt.debug.core.model.ICDebugElementStatus;
|
||||
import org.eclipse.cdt.debug.core.model.ICDebugTarget;
|
||||
import org.eclipse.cdt.debug.core.model.IModuleRetrieval;
|
||||
import org.eclipse.cdt.debug.internal.core.ICDebugInternalConstants;
|
||||
import org.eclipse.core.runtime.IStatus;
|
||||
import org.eclipse.core.runtime.PlatformObject;
|
||||
|
@ -307,6 +308,8 @@ abstract public class CDebugElement extends PlatformObject implements ICDebugEle
|
|||
// See bug #100261
|
||||
if ( adapter.equals( IMemoryBlockRetrieval.class ) )
|
||||
return getDebugTarget().getAdapter( adapter );
|
||||
if ( adapter.equals( IModuleRetrieval.class ) )
|
||||
return getDebugTarget().getAdapter( adapter );
|
||||
if ( adapter.equals( ILaunch.class ) )
|
||||
return getDebugTarget().getLaunch();
|
||||
return super.getAdapter( adapter );
|
||||
|
|
|
@ -1,3 +1,7 @@
|
|||
2006-05-31 Mikhail Khodjaiants
|
||||
Bug 144719: [Modules view] Modules from from different sessions are mixed up.
|
||||
* ModulesViewEventHandler.java
|
||||
|
||||
2006-05-31 Mikhail Khodjaiants
|
||||
Bug 144684: [Modules view] Collapse all action doesn't work.
|
||||
* CollapseAllModulesAction.java
|
||||
|
|
|
@ -58,11 +58,15 @@ public class ModulesViewEventHandler extends DebugEventHandler {
|
|||
* @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handleCreate(org.eclipse.debug.core.DebugEvent)
|
||||
*/
|
||||
protected void handleCreate( DebugEvent event ) {
|
||||
if ( event.getSource() instanceof IDebugTarget ) {
|
||||
Object source = event.getSource();
|
||||
if ( source instanceof IDebugTarget ) {
|
||||
refreshRoot( event );
|
||||
}
|
||||
else if ( event.getSource() instanceof ICModule ) {
|
||||
fireDelta( (ICModule)event.getSource(), IModelDelta.ADDED );
|
||||
else if ( source instanceof ICModule ) {
|
||||
if ( accept( (ICModule)source ) ) {
|
||||
ICModule module = (ICModule)source;
|
||||
fireDelta( module, IModelDelta.ADDED );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -70,11 +74,12 @@ public class ModulesViewEventHandler extends DebugEventHandler {
|
|||
* @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handleTerminate(org.eclipse.debug.core.DebugEvent)
|
||||
*/
|
||||
protected void handleTerminate( DebugEvent event ) {
|
||||
if ( event.getSource() instanceof IDebugTarget ) {
|
||||
Object source = event.getSource();
|
||||
if ( source instanceof IDebugTarget ) {
|
||||
refreshRoot( event );
|
||||
}
|
||||
else if ( event.getSource() instanceof ICModule ) {
|
||||
fireDelta( (ICModule)event.getSource(), IModelDelta.REMOVED );
|
||||
else if ( source instanceof ICModule ) {
|
||||
fireDelta( (ICModule)source, IModelDelta.REMOVED );
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -91,4 +96,8 @@ public class ModulesViewEventHandler extends DebugEventHandler {
|
|||
super.dispose();
|
||||
fModuleRetrieval = null;
|
||||
}
|
||||
|
||||
private boolean accept( ICModule module ) {
|
||||
return fModuleRetrieval.equals( module.getAdapter( IModuleRetrieval.class ) );
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue