plan skip_all => "Inline won't work in directories with spaces"
if getcwd() =~ / /;
-plan tests => 8;
+plan tests => 9;
require Inline;
Inline->import(with => 'Imager');
ok($im3, "do_lots()")
or print "# ", Imager->_error_as_msg, "\n";
ok($im3->write(file=>'testout/t82lots.ppm'), "write t82lots.ppm");
+
+{ # RT #24992
+ # the T_IMAGER_FULL_IMAGE typemap entry was returning a blessed
+ # hash with an extra ref, causing memory leaks
+
+ my $im = make_10x10();
+ my $im2 = Imager->new(xsize => 10, ysize => 10);
+ use B;
+ my $imb = B::svref_2object($im);
+ my $im2b = B::svref_2object($im2);
+ is ($imb->REFCNT, $im2b->REFCNT,
+ "check refcnt of imager object hash between normal and typemap generated");
+}
HV *hv = newHV();
sv_setref_pv(imobj, \"Imager::ImgRaw\", $var);
hv_store(hv, "IMG", 3, imobj, 0);
- $arg = sv_2mortal(sv_bless(newRV((SV*)hv), gv_stashpv("Imager", 1)));
+ $arg = sv_2mortal(sv_bless(newRV_noinc((SV*)hv), gv_stashpv("Imager", 1)));
}
else {
$arg = &PL_sv_undef;