mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-10-19 18:12:14 -09:00
Merge remote-tracking branch 'origin/GP-4601_ghidragon_disposing_code_compare_providers' into Ghidra_11.1
This commit is contained in:
@@ -282,4 +282,9 @@ public class FunctionComparisonProvider extends ComponentProviderAdapter
|
||||
public void setCloseListener(Callback closeListener) {
|
||||
this.closeListener = Callback.dummyIfNull(closeListener);
|
||||
}
|
||||
|
||||
public void dispose() {
|
||||
functionComparisonPanel.dispose();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -20,10 +20,7 @@ import java.util.Set;
|
||||
import java.util.concurrent.CopyOnWriteArraySet;
|
||||
|
||||
import docking.ComponentProviderActivationListener;
|
||||
import ghidra.framework.model.DomainObjectChangeRecord;
|
||||
import ghidra.framework.model.DomainObjectChangedEvent;
|
||||
import ghidra.framework.model.DomainObjectEvent;
|
||||
import ghidra.framework.model.EventType;
|
||||
import ghidra.framework.model.*;
|
||||
import ghidra.program.model.listing.Function;
|
||||
import ghidra.program.model.listing.Program;
|
||||
|
||||
@@ -53,6 +50,7 @@ public class FunctionComparisonProviderManager implements FunctionComparisonProv
|
||||
@Override
|
||||
public void providerClosed(FunctionComparisonProvider provider) {
|
||||
providers.remove(provider);
|
||||
provider.dispose();
|
||||
listeners.stream().forEach(l -> l.componentProviderDeactivated(provider));
|
||||
}
|
||||
|
||||
@@ -217,9 +215,7 @@ public class FunctionComparisonProviderManager implements FunctionComparisonProv
|
||||
*/
|
||||
public void dispose() {
|
||||
for (FunctionComparisonProvider provider : providers) {
|
||||
FunctionComparisonPanel panel = provider.getComponent();
|
||||
panel.setVisible(false);
|
||||
panel.dispose();
|
||||
provider.dispose();
|
||||
}
|
||||
providers.clear();
|
||||
}
|
||||
|
||||
@@ -445,6 +445,7 @@ public abstract class DecompilerCodeComparisonPanel<T extends DualDecompilerFiel
|
||||
|
||||
@Override
|
||||
public void dispose() {
|
||||
removeProgramListeners();
|
||||
setFieldPanelCoordinator(null);
|
||||
cPanels[LEFT].dispose();
|
||||
cPanels[RIGHT].dispose();
|
||||
|
||||
Reference in New Issue
Block a user