From 95552235594b15d74922e606d2a3c54f7e05224a Mon Sep 17 00:00:00 2001 From: Benjamin Chausse Date: Fri, 12 Jul 2024 10:37:24 -0400 Subject: nil pointer management --- internal/render/renderer.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'internal/render/renderer.go') diff --git a/internal/render/renderer.go b/internal/render/renderer.go index 265c3ab..088134a 100644 --- a/internal/render/renderer.go +++ b/internal/render/renderer.go @@ -126,6 +126,7 @@ func (r *Renderer) DrawFrame() { // Create buffers drwBuf := r.bufferize(r.drwStack) clrBuf := r.bufferize(r.clrStack) + var stack []Instruction // fmt.Println(len(drwBuf)) // fmt.Println(len(clrBuf)) // squash overlapping clear instructions @@ -164,10 +165,17 @@ func (r *Renderer) DrawFrame() { } } // Draw + for _, clr := range clrBuf { + if clr != nil { + stack = append(stack, clr) + } + } for _, drw := range drwBuf { - drw.Write(r.stream) + if drw != nil { + stack = append(stack, drw) + } } - for _, clr := range clrBuf { - clr.Write(r.stream) + for _, inst := range stack { + inst.Write(r.stream) } } -- cgit v1.2.3