From 29d0648ef76a698db30c740670db4c121fd52951 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Sun, 18 Mar 2018 17:38:04 +0100
Subject: [PATCH] Improved imagick error

---
 main.go | 5 +++--
 util.go | 4 +++-
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/main.go b/main.go
index 9a08468..02d5993 100644
--- a/main.go
+++ b/main.go
@@ -39,7 +39,6 @@ func processImage(config *Config, client *redis.Client, value string) {
 	errorChannel := make(chan error)
 
 	wand := imagick.NewMagickWand()
-	defer wand.Destroy()
 
 	err := wand.ReadImage(filepath.Join(config.SourceFolder, image.Id))
 	if err != nil {
@@ -47,7 +46,6 @@ func processImage(config *Config, client *redis.Client, value string) {
 	}
 
 	wandLinear := wand.Clone()
-	defer wand.Clear()
 	err = wandLinear.TransformImageColorspace(imagick.COLORSPACE_RGB)
 	if err != nil {
 		panic(err)
@@ -81,6 +79,9 @@ func processImage(config *Config, client *redis.Client, value string) {
 			Success: true,
 		})
 	}
+
+	wand.Clear()
+	wandLinear.Clear()
 }
 
 func main() {
diff --git a/util.go b/util.go
index 0815c40..154dc8b 100644
--- a/util.go
+++ b/util.go
@@ -10,7 +10,6 @@ import (
 func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size, quality Quality, target string) error {
 	var err error
 	var mw *imagick.MagickWand
-	defer mw.Clear()
 
 	if size.Width == 0 && size.Height == 0 {
 		mw = wand.Clone()
@@ -91,5 +90,8 @@ func resize(wand *imagick.MagickWand, wandLinear *imagick.MagickWand, size Size,
 	mw.StripImage()
 
 	err = mw.WriteImage(target)
+
+	mw.Clear()
+
 	return err
 }
-- 
GitLab