diff --git a/libvips/foreign/webpsave.c b/libvips/foreign/webpsave.c index 5b945a60..9afda455 100644 --- a/libvips/foreign/webpsave.c +++ b/libvips/foreign/webpsave.c @@ -397,6 +397,8 @@ vips_foreign_save_webp_buffer_build( VipsObject *object ) g_object_set( buffer, "buffer", blob, NULL ); vips_area_unref( VIPS_AREA( blob ) ); + VIPS_UNREF( streamo ); + return( 0 ); } diff --git a/test/test-suite/test_arithmetic.py b/test/test-suite/test_arithmetic.py index b965991c..5d18e8e0 100644 --- a/test/test-suite/test_arithmetic.py +++ b/test/test-suite/test_arithmetic.py @@ -41,6 +41,12 @@ class TestArithmetic: cls.mono = cls.colour.extract_band(1) cls.all_images = [cls.mono, cls.colour] + @classmethod + def teardown_class(cls): + cls.colour = None + cls.mono = None + cls.all_images = None + # test all operator overloads we define def test_add(self): diff --git a/test/test-suite/test_conversion.py b/test/test-suite/test_conversion.py index 0ee88574..c26f7b06 100644 --- a/test/test-suite/test_conversion.py +++ b/test/test-suite/test_conversion.py @@ -44,6 +44,13 @@ class TestConversion: cls.all_images = [cls.mono, cls.colour] cls.image = pyvips.Image.jpegload(JPEG_FILE) + @classmethod + def teardown_class(cls): + cls.colour = None + cls.mono = None + cls.image = None + cls.all_images = None + def test_band_and(self): def band_and(x): if isinstance(x, pyvips.Image): diff --git a/test/test-suite/test_convolution.py b/test/test-suite/test_convolution.py index 1778c5c2..54fc0bb3 100644 --- a/test/test-suite/test_convolution.py +++ b/test/test-suite/test_convolution.py @@ -55,6 +55,17 @@ class TestConvolution: [-1, -2, -1]]) cls.all_masks = [cls.sharp, cls.blur, cls.line, cls.sobel] + @classmethod + def teardown_class(cls): + cls.colour = None + cls.mono = None + cls.all_images = None + cls.sharp = None + cls.blur = None + cls.line = None + cls.sobel = None + cls.all_masks = None + def test_conv(self): for im in self.all_images: for msk in self.all_masks: diff --git a/test/test-suite/test_foreign.py b/test/test-suite/test_foreign.py index 94b4336b..3d9b6b90 100644 --- a/test/test-suite/test_foreign.py +++ b/test/test-suite/test_foreign.py @@ -38,6 +38,11 @@ class TestForeign: @classmethod def teardown_class(cls): shutil.rmtree(cls.tempdir, ignore_errors=True) + cls.colour = None + cls.mono = None + cls.rad = None + cls.cmyk = None + cls.onebit = None # we have test files for formats which have a clear standard def file_loader(self, loader, test_file, validate): diff --git a/test/test-suite/test_stream.py b/test/test-suite/test_stream.py index 4d7c9978..d7ce0c89 100644 --- a/test/test-suite/test_stream.py +++ b/test/test-suite/test_stream.py @@ -37,6 +37,10 @@ class TestStream: @classmethod def teardown_class(cls): shutil.rmtree(cls.tempdir, ignore_errors=True) + cls.colour = None + cls.mono = None + cls.rad = None + cls.cmyk = None def test_streami_new_from_file(self): x = pyvips.Streami.new_from_file(JPEG_FILE)