mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 459901 - [visualizer] The visualizer may display duplicate elements
Change-Id: I9fb3fb8f85ec51afde48a665e275c6080b9b9bab
This commit is contained in:
parent
7e3a37be7b
commit
ef889c26f9
1 changed files with 8 additions and 9 deletions
|
@ -1132,12 +1132,13 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
||||||
DsfSession session = DsfSession.getSession(sessionId);
|
DsfSession session = DsfSession.getSession(sessionId);
|
||||||
|
|
||||||
if (session != null) {
|
if (session != null) {
|
||||||
fDataModel = new VisualizerModel(sessionId);
|
final VisualizerModel model = new VisualizerModel(sessionId);
|
||||||
|
fDataModel = model;
|
||||||
fTargetData.getCPUs(m_sessionState, new DataRequestMonitor<ICPUDMContext[]>(session.getExecutor(), null) {
|
fTargetData.getCPUs(m_sessionState, new DataRequestMonitor<ICPUDMContext[]>(session.getExecutor(), null) {
|
||||||
@Override
|
@Override
|
||||||
protected void handleCompleted() {
|
protected void handleCompleted() {
|
||||||
ICPUDMContext[] cpuContexts = isSuccess() ? getData() : null;
|
ICPUDMContext[] cpuContexts = isSuccess() ? getData() : null;
|
||||||
getCPUsDone(cpuContexts, fDataModel);
|
getCPUsDone(cpuContexts, model);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1146,8 +1147,8 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
||||||
/** Invoked when getModel() request completes. */
|
/** Invoked when getModel() request completes. */
|
||||||
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
||||||
public void getVisualizerModelDone(VisualizerModel model) {
|
public void getVisualizerModelDone(VisualizerModel model) {
|
||||||
fDataModel.setLoadMetersEnabled(m_loadMetersEnabled);
|
model.setLoadMetersEnabled(m_loadMetersEnabled);
|
||||||
updateLoads();
|
updateLoads(model);
|
||||||
model.sort();
|
model.sort();
|
||||||
setCanvasModel(model);
|
setCanvasModel(model);
|
||||||
}
|
}
|
||||||
|
@ -1375,10 +1376,9 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
||||||
done(1, model);
|
done(1, model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Updates the loads for all cpus and cores */
|
/** Updates the loads for all cpus and cores */
|
||||||
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
||||||
public void updateLoads() {
|
public void updateLoads(final VisualizerModel model) {
|
||||||
if (m_cpuCoreContextsCache.isEmpty()) {
|
if (m_cpuCoreContextsCache.isEmpty()) {
|
||||||
// not ready to get load info yet
|
// not ready to get load info yet
|
||||||
return;
|
return;
|
||||||
|
@ -1388,8 +1388,6 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final VisualizerModel model = fDataModel;
|
|
||||||
|
|
||||||
model.getLoadTodo().dispose();
|
model.getLoadTodo().dispose();
|
||||||
// keep track of how many loads we expect
|
// keep track of how many loads we expect
|
||||||
model.getLoadTodo().add(m_cpuCoreContextsCache.size());
|
model.getLoadTodo().add(m_cpuCoreContextsCache.size());
|
||||||
|
@ -1470,7 +1468,8 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
||||||
executor.execute(new Runnable() {
|
executor.execute(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
updateLoads();
|
final VisualizerModel model = fDataModel;
|
||||||
|
updateLoads(model);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue