File 1204-dialyzer-Fix-handling-of-PLTs-in-GUI.patch of Package erlang
From 84bc3ec7f7d467d52b331347ea8a5f266c6657b1 Mon Sep 17 00:00:00 2001
From: Hans Bolinder <hasse@erlang.org>
Date: Mon, 21 Dec 2020 09:23:59 +0100
Subject: [PATCH] dialyzer: Fix handling of PLTs in GUI
The analysis PLT was erroneously deleted.
The bug was introduced in 3ffed20, or earlier.
Doc PLTs were never deleted, which caused ETS table leakage.
---
lib/dialyzer/src/dialyzer_gui_wx.erl | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/dialyzer/src/dialyzer_gui_wx.erl b/lib/dialyzer/src/dialyzer_gui_wx.erl
index f47d90b91f..dd0d1b8979 100644
--- a/lib/dialyzer/src/dialyzer_gui_wx.erl
+++ b/lib/dialyzer/src/dialyzer_gui_wx.erl
@@ -498,10 +498,10 @@ gui_loop(#gui_state{backend_pid = BackendPid, doc_plt = DocPlt,
end,
ExplanationPid = spawn_link(Fun),
gui_loop(State#gui_state{expl_pid = ExplanationPid});
- {BackendPid, done, NewPlt, NewDocPlt} ->
+ {BackendPid, done, _NewPlt, NewDocPlt} ->
message(State, "Analysis done"),
- dialyzer_plt:delete(NewPlt),
config_gui_stop(State),
+ dialyzer_plt:delete(State#gui_state.doc_plt),
gui_loop(State#gui_state{doc_plt = NewDocPlt});
{'EXIT', BackendPid, {error, Reason}} ->
free_editor(State, ?DIALYZER_ERROR_TITLE, Reason),
--
2.26.2