mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-06-06 09:16: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
|
2006-05-29 Mikhail Khodjaiants
|
||||||
Bug 108472: Debug continues to fail.
|
Bug 108472: Debug continues to fail.
|
||||||
* DebugCoreMessages.properties
|
* 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.ICDebugElement;
|
||||||
import org.eclipse.cdt.debug.core.model.ICDebugElementStatus;
|
import org.eclipse.cdt.debug.core.model.ICDebugElementStatus;
|
||||||
import org.eclipse.cdt.debug.core.model.ICDebugTarget;
|
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.cdt.debug.internal.core.ICDebugInternalConstants;
|
||||||
import org.eclipse.core.runtime.IStatus;
|
import org.eclipse.core.runtime.IStatus;
|
||||||
import org.eclipse.core.runtime.PlatformObject;
|
import org.eclipse.core.runtime.PlatformObject;
|
||||||
|
@ -307,6 +308,8 @@ abstract public class CDebugElement extends PlatformObject implements ICDebugEle
|
||||||
// See bug #100261
|
// See bug #100261
|
||||||
if ( adapter.equals( IMemoryBlockRetrieval.class ) )
|
if ( adapter.equals( IMemoryBlockRetrieval.class ) )
|
||||||
return getDebugTarget().getAdapter( adapter );
|
return getDebugTarget().getAdapter( adapter );
|
||||||
|
if ( adapter.equals( IModuleRetrieval.class ) )
|
||||||
|
return getDebugTarget().getAdapter( adapter );
|
||||||
if ( adapter.equals( ILaunch.class ) )
|
if ( adapter.equals( ILaunch.class ) )
|
||||||
return getDebugTarget().getLaunch();
|
return getDebugTarget().getLaunch();
|
||||||
return super.getAdapter( adapter );
|
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
|
2006-05-31 Mikhail Khodjaiants
|
||||||
Bug 144684: [Modules view] Collapse all action doesn't work.
|
Bug 144684: [Modules view] Collapse all action doesn't work.
|
||||||
* CollapseAllModulesAction.java
|
* 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)
|
* @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handleCreate(org.eclipse.debug.core.DebugEvent)
|
||||||
*/
|
*/
|
||||||
protected void handleCreate( DebugEvent event ) {
|
protected void handleCreate( DebugEvent event ) {
|
||||||
if ( event.getSource() instanceof IDebugTarget ) {
|
Object source = event.getSource();
|
||||||
|
if ( source instanceof IDebugTarget ) {
|
||||||
refreshRoot( event );
|
refreshRoot( event );
|
||||||
}
|
}
|
||||||
else if ( event.getSource() instanceof ICModule ) {
|
else if ( source instanceof ICModule ) {
|
||||||
fireDelta( (ICModule)event.getSource(), IModelDelta.ADDED );
|
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)
|
* @see org.eclipse.debug.internal.ui.viewers.update.DebugEventHandler#handleTerminate(org.eclipse.debug.core.DebugEvent)
|
||||||
*/
|
*/
|
||||||
protected void handleTerminate( DebugEvent event ) {
|
protected void handleTerminate( DebugEvent event ) {
|
||||||
if ( event.getSource() instanceof IDebugTarget ) {
|
Object source = event.getSource();
|
||||||
|
if ( source instanceof IDebugTarget ) {
|
||||||
refreshRoot( event );
|
refreshRoot( event );
|
||||||
}
|
}
|
||||||
else if ( event.getSource() instanceof ICModule ) {
|
else if ( source instanceof ICModule ) {
|
||||||
fireDelta( (ICModule)event.getSource(), IModelDelta.REMOVED );
|
fireDelta( (ICModule)source, IModelDelta.REMOVED );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,4 +96,8 @@ public class ModulesViewEventHandler extends DebugEventHandler {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
fModuleRetrieval = null;
|
fModuleRetrieval = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean accept( ICModule module ) {
|
||||||
|
return fModuleRetrieval.equals( module.getAdapter( IModuleRetrieval.class ) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue