From cae75fac690021bca8e8ed37c03d47f5e8932bfe Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Sat, 3 Sep 2016 23:42:28 +0900 Subject: [PATCH] graphics: Bug fix: Invalid Clear calling in Dispose --- imageimpl.go | 1 - internal/restorable/image.go | 7 +++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/imageimpl.go b/imageimpl.go index 5e6e8ac32..18ce4c793 100644 --- a/imageimpl.go +++ b/imageimpl.go @@ -269,7 +269,6 @@ func (i *imageImpl) Dispose() error { return err } i.disposed = true - i.restorable.Clear() runtime.SetFinalizer(i, nil) return nil } diff --git a/internal/restorable/image.go b/internal/restorable/image.go index 35efb7176..8243f933d 100644 --- a/internal/restorable/image.go +++ b/internal/restorable/image.go @@ -249,6 +249,13 @@ func (p *Image) Recreate(width, height int, filter opengl.Filter) error { } func (p *Image) Dispose() error { + if err := p.image.Dispose(); err != nil { + return err + } p.image = nil + p.basePixels = nil + p.baseColor = color.RGBA{} + p.drawImageHistory = nil + p.stale = false return nil }