summaryrefslogtreecommitdiffstats
path: root/virtual-programs
diff options
context:
space:
mode:
authorOmar Rizwan <omar@omar.website>2023-10-13 20:52:36 +0000
committerOmar Rizwan <omar@omar.website>2023-10-13 20:52:36 +0000
commit4e944eb62b0b1be680f6e4aa372de9c2cbb2d195 (patch)
treecbe059d2ccfc4f3bdad2a6109c2de5bef3a0c406 /virtual-programs
parentimage,Gpu: Fix cache, for the most part (was double-freeing) (diff)
downloadfolk-4e944eb62b0b1be680f6e4aa372de9c2cbb2d195.tar.gz
folk-4e944eb62b0b1be680f6e4aa372de9c2cbb2d195.zip
image: Actually fix cache math
Diffstat (limited to 'virtual-programs')
-rw-r--r--virtual-programs/display/image.folk4
1 files changed, 2 insertions, 2 deletions
diff --git a/virtual-programs/display/image.folk b/virtual-programs/display/image.folk
index 28c66a3b..23246d45 100644
--- a/virtual-programs/display/image.folk
+++ b/virtual-programs/display/image.folk
@@ -62,7 +62,7 @@ On process "display" {
proc evict {} {
variable cache
variable CACHE_MAX_SIZE
- set numToEvict [expr {$CACHE_MAX_SIZE - [dict size $cache]}]
+ set numToEvict [expr {([dict size $cache] + 1) - $CACHE_MAX_SIZE}]
set numEvicted [list]
# Evict stale.
dict for {im v} $cache {
@@ -76,7 +76,7 @@ On process "display" {
foreach im $numEvicted { dict unset cache $im }
# Evict old.
dict for {im v} $cache {
- if {$numToEvict - [llength $numEvicted] == 0} {
+ if {$numToEvict - [llength $numEvicted] <= 0} {
break
}
lassign $v gim