SOURCES: mozilla-cairo.patch - use delete instead of free (without...
Jakub Bogusz
qboosh w pld-linux.org
Nie, 27 Mar 2005, 12:23:51 CEST
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/
Więcej informacji o liście dyskusyjnej pld-devel-pl