fixes some drawing and state restore issues

This commit is contained in:
2024-01-27 14:58:55 +01:00
parent c4fafae029
commit f6a3da013e
3 changed files with 24 additions and 6 deletions

View File

@ -267,6 +267,7 @@ public class TransactionList extends Composite {
.map(e -> new AttributeNameBean(e.getKey(), e.getValue()))
.collect(Collectors.toList());
getDisplay().asyncExec(() -> {
if(tableViewer.getControl().isDisposed()) return;
tableViewer.setInput(txList);
attrNames.clear();
attrNames.addAll(newAttrNames);

View File

@ -828,7 +828,18 @@ public class WaveformViewer implements IFileChangeListener, IPreferenceChangeLis
if(Boolean.parseBoolean(state.get(SHOWN_WAVEFORM + i + WAVEFORM_SELECTED)))
selectedTrackEntries.add(trackEntry);
} else {
IWaveform waveform = database.getStreamByName(state.get(SHOWN_WAVEFORM + i));
String name = state.get(SHOWN_WAVEFORM + i);
IWaveform waveform = database.getStreamByName(name);
if (waveform == null) {
int pos = name.lastIndexOf('.');
waveform = database.getStreamByName(name.substring(0, pos));
if(waveform!=null) {
List<IHierNode> childs = waveform.getChildNodes();
waveform = (IWaveform) childs.stream().filter(node -> name.substring(pos+1).equals(node.getName()))
.findAny()
.orElse(null);
}
}
if (waveform != null) {
TrackEntry trackEntry = waveformPane.addWaveform(waveform, -1);
//check if t is selected