From beaf862dec4c8e82cc11d65342331b3c519aba6a Mon Sep 17 00:00:00 2001 From: Sergey Stepanov Date: Fri, 10 Feb 2023 17:47:58 +0300 Subject: [PATCH] Don't cache nil frames --- pkg/worker/emulator/image/canvas.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkg/worker/emulator/image/canvas.go b/pkg/worker/emulator/image/canvas.go index 83e2d1a4..84194ee1 100644 --- a/pkg/worker/emulator/image/canvas.go +++ b/pkg/worker/emulator/image/canvas.go @@ -60,8 +60,12 @@ func (c *Canvas) Get(w, h int) *Frame { return i } -func (c *Canvas) Put(i *Frame) { c.pool.Put(i) } -func (c *Canvas) Clear() { c.wg = sync.WaitGroup{} } +func (c *Canvas) Put(i *Frame) { + if i != nil { + c.pool.Put(i) + } +} +func (c *Canvas) Clear() { c.wg = sync.WaitGroup{} } func (c *Canvas) Draw(encoding uint32, rot *Rotate, w, h, packedW, bpp int, data []byte, th int) *Frame { dst := c.Get(w, h)