diff --git a/gfx/src/motif/nsFontMetricsUnix.cpp b/gfx/src/motif/nsFontMetricsUnix.cpp index 34b8c500885..f5d8796d373 100644 --- a/gfx/src/motif/nsFontMetricsUnix.cpp +++ b/gfx/src/motif/nsFontMetricsUnix.cpp @@ -38,14 +38,17 @@ nsFontMetricsUnix :: nsFontMetricsUnix() nsFontMetricsUnix :: ~nsFontMetricsUnix() { - if (nsnull != mFont) - { + if (nsnull != mFont) { delete mFont; mFont = nsnull; } - + if (nsnull != mXstring) PR_Free(mXstring); + + if (nsnull != mFontHandle) + ::XUnloadFont(XtDisplay((Widget)mContext->GetNativeWidget()), mFontHandle); + } NS_IMPL_ISUPPORTS(nsFontMetricsUnix, kIFontMetricsIID) @@ -148,7 +151,7 @@ nsresult nsFontMetricsUnix :: Init(const nsFont& aFont, nsIDeviceContext* aCX) #ifdef NOISY_FONTS fprintf(stderr, " is: %s\n", nametouse); #endif - + ::XFreeFontInfo(fnames, fonts, numnames); } else