mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-05 02:39:44 +02:00
Fixed ConcurrentModificationException when using snapshots in the Byte
Viewer.
This commit is contained in:
parent
f56e922d43
commit
ee1b1f8df5
3 changed files with 15 additions and 25 deletions
|
@ -15,9 +15,6 @@
|
|||
*/
|
||||
package ghidra.app.util.viewer.listingpanel;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.Icon;
|
||||
|
||||
import ghidra.app.nav.*;
|
||||
|
@ -34,8 +31,6 @@ import ghidra.util.UniversalIdGenerator;
|
|||
class DualListingNavigator implements Navigatable {
|
||||
|
||||
private final ListingPanel listingPanel;
|
||||
private List<NavigatableRemovalListener> listeners =
|
||||
new ArrayList<>();
|
||||
private long id;
|
||||
private GoToService goToService;
|
||||
|
||||
|
@ -55,7 +50,12 @@ class DualListingNavigator implements Navigatable {
|
|||
|
||||
@Override
|
||||
public void addNavigatableListener(NavigatableRemovalListener listener) {
|
||||
listeners.add(listener);
|
||||
// not used
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNavigatableListener(NavigatableRemovalListener listener) {
|
||||
// not used
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -126,11 +126,6 @@ class DualListingNavigator implements Navigatable {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNavigatableListener(NavigatableRemovalListener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestFocus() {
|
||||
listingPanel.requestFocus();
|
||||
|
|
|
@ -52,7 +52,7 @@ public class ProgramByteViewerComponentProvider extends ByteViewerComponentProvi
|
|||
|
||||
protected DecoratorPanel decorationComponent;
|
||||
private WeakSet<NavigatableRemovalListener> navigationListeners =
|
||||
WeakDataStructureFactory.createSingleThreadAccessWeakSet();
|
||||
WeakDataStructureFactory.createCopyOnWriteWeakSet();
|
||||
|
||||
private CloneByteViewerAction cloneByteViewerAction;
|
||||
|
||||
|
@ -564,9 +564,9 @@ public class ProgramByteViewerComponentProvider extends ByteViewerComponentProvi
|
|||
}
|
||||
}
|
||||
|
||||
protected ByteBlockChangeManager newByteBlockChangeManager(ProgramByteBlockSet blockSet,
|
||||
protected ByteBlockChangeManager newByteBlockChangeManager(ProgramByteBlockSet blocks,
|
||||
ByteBlockChangeManager bbcm) {
|
||||
return new ByteBlockChangeManager(blockSet, bbcm);
|
||||
return new ByteBlockChangeManager(blocks, bbcm);
|
||||
}
|
||||
|
||||
protected ProgramByteBlockSet newByteBlockSet(ByteBlockChangeManager changeManager) {
|
||||
|
|
|
@ -15,9 +15,6 @@
|
|||
*/
|
||||
package ghidra.feature.vt.gui.duallisting;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import javax.swing.Icon;
|
||||
|
||||
import ghidra.app.nav.*;
|
||||
|
@ -33,8 +30,6 @@ public class VTListingNavigator implements Navigatable {
|
|||
|
||||
private final ListingCodeComparisonPanel dualListingPanel;
|
||||
private final ListingPanel listingPanel;
|
||||
private List<NavigatableRemovalListener> listeners =
|
||||
new ArrayList<>();
|
||||
private long id;
|
||||
|
||||
public VTListingNavigator(ListingCodeComparisonPanel dualListingPanel,
|
||||
|
@ -47,7 +42,12 @@ public class VTListingNavigator implements Navigatable {
|
|||
|
||||
@Override
|
||||
public void addNavigatableListener(NavigatableRemovalListener listener) {
|
||||
listeners.add(listener);
|
||||
// not used
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNavigatableListener(NavigatableRemovalListener listener) {
|
||||
// not used
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -121,11 +121,6 @@ public class VTListingNavigator implements Navigatable {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void removeNavigatableListener(NavigatableRemovalListener listener) {
|
||||
listeners.remove(listener);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void requestFocus() {
|
||||
listingPanel.requestFocus();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue