summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Hitter <mah@jump-ing.de>2016-11-07 19:02:51 +0100
committerPaul Mackerras <paulus@ozlabs.org>2016-12-12 20:39:37 +1100
commit18ae912082736b4c2c596b2c5bdcf2e032a03467 (patch)
treeb2b1023768339d6b7dcb03645f0e16d160bf3c76
parent0748f41eb83194dbc310fe47b4948f611ac5b3a2 (diff)
downloadgit-18ae912082736b4c2c596b2c5bdcf2e032a03467.tar.gz
gitk: Clear array 'commitinfo' on reload
After a reload we might have an entirely different set of commits, so keeping all of them leaks memory. Remove them all because re-creating them is not more expensive than testing wether they're still valid. Lazy (re-)creation is already well established, so a missing entry can't cause harm. Signed-off-by: Markus Hitter <mah@jump-ing.de> Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
-rwxr-xr-xgitk3
1 files changed, 2 insertions, 1 deletions
diff --git a/gitk b/gitk
index e037a755a5..07e21d42de 100755
--- a/gitk
+++ b/gitk
@@ -588,7 +588,7 @@ proc updatecommits {} {
proc reloadcommits {} {
global curview viewcomplete selectedline currentid thickerline
global showneartags treediffs commitinterest cached_commitrow
- global targetid
+ global targetid commitinfo
set selid {}
if {$selectedline ne {}} {
@@ -609,6 +609,7 @@ proc reloadcommits {} {
getallcommits
}
clear_display
+ unset -nocomplain commitinfo
unset -nocomplain commitinterest
unset -nocomplain cached_commitrow
unset -nocomplain targetid