@@ -217,6 +217,8 @@ vips_foreign_save_webp_dispose(GObject *gobject)
217
217
{
218
218
VipsForeignSaveWebp * webp = (VipsForeignSaveWebp * ) gobject ;
219
219
220
+ vips_foreign_save_webp_unset (webp );
221
+
220
222
VIPS_UNREF (webp -> target );
221
223
222
224
VIPS_FREE (webp -> frame_bytes );
@@ -583,7 +585,6 @@ vips_foreign_save_webp_init_config(VipsForeignSaveWebp *webp)
583
585
*/
584
586
WebPMemoryWriterInit (& webp -> memory_writer );
585
587
if (!WebPConfigInit (& webp -> config )) {
586
- vips_foreign_save_webp_unset (webp );
587
588
vips_error ("webpsave" ,
588
589
"%s" , _ ("config version error" ));
589
590
return -1 ;
@@ -596,7 +597,6 @@ vips_foreign_save_webp_init_config(VipsForeignSaveWebp *webp)
596
597
if (!(webp -> lossless || webp -> near_lossless ) &&
597
598
!WebPConfigPreset (& webp -> config , get_preset (webp -> preset ),
598
599
webp -> Q )) {
599
- vips_foreign_save_webp_unset (webp );
600
600
vips_error ("webpsave" , "%s" , _ ("config version error" ));
601
601
return -1 ;
602
602
}
@@ -613,7 +613,6 @@ vips_foreign_save_webp_init_config(VipsForeignSaveWebp *webp)
613
613
webp -> config .use_sharp_yuv = 1 ;
614
614
615
615
if (!WebPValidateConfig (& webp -> config )) {
616
- vips_foreign_save_webp_unset (webp );
617
616
vips_error ("webpsave" , "%s" , _ ("invalid configuration" ));
618
617
return -1 ;
619
618
}
@@ -730,7 +729,6 @@ vips_foreign_save_webp_build(VipsObject *object)
730
729
page_height = vips_image_get_page_height (save -> ready );
731
730
if (save -> ready -> Xsize > 16383 || page_height > 16383 ) {
732
731
vips_error ("webpsave" , _ ("image too large" ));
733
- vips_foreign_save_webp_unset (webp );
734
732
return -1 ;
735
733
}
736
734
@@ -742,7 +740,6 @@ vips_foreign_save_webp_build(VipsObject *object)
742
740
if (webp -> frame_bytes == NULL ) {
743
741
vips_error ("webpsave" ,
744
742
_ ("failed to allocate %zu bytes" ), frame_size );
745
- vips_foreign_save_webp_unset (webp );
746
743
return -1 ;
747
744
}
748
745
@@ -773,16 +770,12 @@ vips_foreign_save_webp_build(VipsObject *object)
773
770
if (vips_foreign_save_webp_finish_anim (webp ))
774
771
return -1 ;
775
772
776
- if (vips_webp_add_metadata (webp )) {
777
- vips_foreign_save_webp_unset (webp );
773
+ if (vips_webp_add_metadata (webp ))
778
774
return -1 ;
779
- }
780
775
781
776
if (vips_target_write (webp -> target ,
782
- webp -> memory_writer .mem , webp -> memory_writer .size )) {
783
- vips_foreign_save_webp_unset (webp );
777
+ webp -> memory_writer .mem , webp -> memory_writer .size ))
784
778
return -1 ;
785
- }
786
779
787
780
if (vips_target_end (webp -> target ))
788
781
return -1 ;
0 commit comments