mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 22:52:11 +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);
|
||||
|
||||
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) {
|
||||
@Override
|
||||
protected void handleCompleted() {
|
||||
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. */
|
||||
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
||||
public void getVisualizerModelDone(VisualizerModel model) {
|
||||
fDataModel.setLoadMetersEnabled(m_loadMetersEnabled);
|
||||
updateLoads();
|
||||
model.setLoadMetersEnabled(m_loadMetersEnabled);
|
||||
updateLoads(model);
|
||||
model.sort();
|
||||
setCanvasModel(model);
|
||||
}
|
||||
|
@ -1375,10 +1376,9 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
|||
done(1, model);
|
||||
}
|
||||
|
||||
|
||||
/** Updates the loads for all cpus and cores */
|
||||
@ConfinedToDsfExecutor("getSession().getExecutor()")
|
||||
public void updateLoads() {
|
||||
public void updateLoads(final VisualizerModel model) {
|
||||
if (m_cpuCoreContextsCache.isEmpty()) {
|
||||
// not ready to get load info yet
|
||||
return;
|
||||
|
@ -1388,8 +1388,6 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
|||
return;
|
||||
}
|
||||
|
||||
final VisualizerModel model = fDataModel;
|
||||
|
||||
model.getLoadTodo().dispose();
|
||||
// keep track of how many loads we expect
|
||||
model.getLoadTodo().add(m_cpuCoreContextsCache.size());
|
||||
|
@ -1470,7 +1468,8 @@ public class MulticoreVisualizer extends GraphicCanvasVisualizer implements IPin
|
|||
executor.execute(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
updateLoads();
|
||||
final VisualizerModel model = fDataModel;
|
||||
updateLoads(model);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue