Merge remote-tracking branch 'origin/Ghidra_11.1'

This commit is contained in:
Ryan Kurtz 2024-05-16 13:52:48 -04:00
commit 0412b81b88
3 changed files with 9 additions and 7 deletions

View file

@ -282,4 +282,9 @@ public class FunctionComparisonProvider extends ComponentProviderAdapter
public void setCloseListener(Callback closeListener) {
this.closeListener = Callback.dummyIfNull(closeListener);
}
public void dispose() {
functionComparisonPanel.dispose();
}
}

View file

@ -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();
}

View file

@ -445,6 +445,7 @@ public abstract class DecompilerCodeComparisonPanel<T extends DualDecompilerFiel
@Override
public void dispose() {
removeProgramListeners();
setFieldPanelCoordinator(null);
cPanels[LEFT].dispose();
cPanels[RIGHT].dispose();