diff options
author | Caolán McNamara <caolanm@redhat.com> | 2011-09-11 22:49:36 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2011-09-12 09:10:03 +0100 |
commit | 06e0aff60a7ac8b3a92253ff30dec55f71e437de (patch) | |
tree | e5f39ed7c3138b68b2199e2ac8931b42e90d9957 /vcl/unx/generic | |
parent | 90e9a26aa5be3cbb286fd8363623284d49b6edc9 (diff) |
can return a ref, not a pointer, and make local static instead of global leak
Diffstat (limited to 'vcl/unx/generic')
-rw-r--r-- | vcl/unx/generic/printergfx/psputil.cxx | 22 | ||||
-rw-r--r-- | vcl/unx/generic/printergfx/psputil.hxx | 2 | ||||
-rw-r--r-- | vcl/unx/generic/printergfx/text_gfx.cxx | 4 |
3 files changed, 14 insertions, 14 deletions
diff --git a/vcl/unx/generic/printergfx/psputil.cxx b/vcl/unx/generic/printergfx/psputil.cxx index 9a5de44960e6..e0f82d3fff6a 100644 --- a/vcl/unx/generic/printergfx/psputil.cxx +++ b/vcl/unx/generic/printergfx/psputil.cxx @@ -28,13 +28,11 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_vcl.hxx" - #include <string.h> - +#include <tools/debug.hxx> +#include <rtl/instance.hxx> #include "psputil.hxx" -#include "tools/debug.hxx" - namespace psp { /* @@ -254,15 +252,17 @@ ConverterFactory::Convert (const sal_Unicode *pText, int nTextLen, return nSize; } -ConverterFactory* -GetConverterFactory () +namespace { - static ConverterFactory* pCvt = NULL; - - if (pCvt == NULL) - pCvt = new ConverterFactory; + class theConverterFactory + : public rtl::Static<ConverterFactory, theConverterFactory> + { + }; +} - return pCvt; +ConverterFactory& GetConverterFactory() +{ + return theConverterFactory::get(); } diff --git a/vcl/unx/generic/printergfx/psputil.hxx b/vcl/unx/generic/printergfx/psputil.hxx index 878fd9c7791a..2aaffda6519f 100644 --- a/vcl/unx/generic/printergfx/psputil.hxx +++ b/vcl/unx/generic/printergfx/psputil.hxx @@ -71,7 +71,7 @@ private: std::map< rtl_TextEncoding, rtl_UnicodeToTextConverter > m_aConverters; }; -ConverterFactory* GetConverterFactory (); +ConverterFactory& GetConverterFactory (); } /* namespace psp */ diff --git a/vcl/unx/generic/printergfx/text_gfx.cxx b/vcl/unx/generic/printergfx/text_gfx.cxx index 3cad66ee948c..14dd8c332d27 100644 --- a/vcl/unx/generic/printergfx/text_gfx.cxx +++ b/vcl/unx/generic/printergfx/text_gfx.cxx @@ -583,8 +583,8 @@ PrinterGfx::LicenseWarning(const Point& rPoint, const sal_Unicode* pStr, sal_Size nSize = 4 * nLen; sal_uChar* pBuffer = (sal_uChar*)alloca (nSize* sizeof(sal_uChar)); - ConverterFactory* pCvt = GetConverterFactory (); - nSize = pCvt->Convert (pStr, nLen, pBuffer, nSize, RTL_TEXTENCODING_ISO_8859_1); + ConverterFactory &rCvt = GetConverterFactory (); + nSize = rCvt.Convert (pStr, nLen, pBuffer, nSize, RTL_TEXTENCODING_ISO_8859_1); PSMoveTo (rPoint); PSShowText (pBuffer, nLen, nSize, pDeltaArray); |