Skip to content

Commit 83013d8

Browse files
committed
Avoid out of bounds access when dismissing overlay stack
1 parent e471a5a commit 83013d8

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

internal/driver/common/canvas.go

+6
Original file line numberDiff line numberDiff line change
@@ -531,6 +531,12 @@ func (o *overlayStack) add(overlay fyne.CanvasObject) {
531531
func (o *overlayStack) remove(overlay fyne.CanvasObject) {
532532
o.OverlayStack.Remove(overlay)
533533
overlayCount := len(o.List())
534+
535+
// it is possible that overlays are removed implicitly and render caches already cleared out
536+
if overlayCount >= len(o.renderCaches) {
537+
return
538+
}
539+
534540
o.renderCaches[overlayCount] = nil // release memory reference to removed element
535541
o.renderCaches = o.renderCaches[:overlayCount]
536542
}

0 commit comments

Comments
 (0)