On Sun, Mar 27, 2005 at 11:38:54AM +0200, havner wrote: > Author: havner Date: Sun Mar 27 09:38:54 2005 GMT > Module: SOURCES Tag: HEAD > ---- Log message: > - use delete instead of free (without even including stdlib.h)
> +diff -ur > mozilla.orig/layout/svg/renderer/src/cairo/nsSVGCairoGlyphMetrics.cpp > mozilla/layout/svg/renderer/src/cairo/nsSVGCairoGlyphMetrics.cpp > +--- mozilla.orig/layout/svg/renderer/src/cairo/nsSVGCairoGlyphMetrics.cpp > 2004-03-16 22:40:07.000000000 +0100 > ++++ mozilla/layout/svg/renderer/src/cairo/nsSVGCairoGlyphMetrics.cpp > 2005-03-27 11:38:00.253917800 +0200 > +@@ -321,7 +321,7 @@ > + font.GetFirstFamily(family); > + char *f = ToNewCString(family); > + cairo_select_font(mCT, f, slant, weight); > +- free(f); > ++ delete f; > + mFont = cairo_current_font(mCT); > + > + nsCOMPtr<nsIPresContext> presContext; ToNewCString wywołuje nsMemory::Alloc, co (za pośrednictwem kolejnych klas) przekłada się na PR_Malloc (z nspr). PR_Malloc w zależności od czegoś (występowania symbolu nspr_use_zone_allocator albo zmiennej środowiskowej NSPR_USE_ZONE_ALLOCATOR) wywołuje malloc albo własne przydzielanie pamięci. Czyli najbezpieczniej jest wywołać PR_Free(f). delete może zaszkodzić. -- Jakub Bogusz http://cyber.cs.net.pl/~qboosh/ _______________________________________________ pld-devel-pl mailing list [email protected] http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl
