Index: source/i18n/unicode/translit.h |
diff --git a/source/i18n/unicode/translit.h b/source/i18n/unicode/translit.h |
index 469e94316d9e30c1c0c789beaf020221bcd42b68..22e1e24e500d9f209cbc58acca9534330b60fd41 100644 |
--- a/source/i18n/unicode/translit.h |
+++ b/source/i18n/unicode/translit.h |
@@ -1,6 +1,6 @@ |
/* |
********************************************************************** |
-* Copyright (C) 1999-2013, International Business Machines |
+* Copyright (C) 1999-2014, International Business Machines |
* Corporation and others. All Rights Reserved. |
********************************************************************** |
* Date Name Description |
@@ -965,6 +965,11 @@ public: |
/** |
* Registers a factory function that creates transliterators of |
* a given ID. |
+ * |
+ * Because ICU may choose to cache Transliterators internally, this must |
+ * be called at application startup, prior to any calls to |
+ * Transliterator::createXXX to avoid undefined behavior. |
+ * |
* @param id the ID being registered |
* @param factory a function pointer that will be copied and |
* called later when the given ID is passed to createInstance() |
@@ -987,6 +992,10 @@ public: |
* After this call the Transliterator class owns the adoptedObj |
* and will delete it. |
* |
+ * Because ICU may choose to cache Transliterators internally, this must |
+ * be called at application startup, prior to any calls to |
+ * Transliterator::createXXX to avoid undefined behavior. |
+ * |
* @param adoptedObj an instance of subclass of |
* <code>Transliterator</code> that defines <tt>clone()</tt> |
* @see #createInstance |
@@ -1017,13 +1026,13 @@ protected: |
#ifndef U_HIDE_INTERNAL_API |
/** |
- * @internal |
* @param id the ID being registered |
* @param factory a function pointer that will be copied and |
* called later when the given ID is passed to createInstance() |
* @param context a context pointer that will be stored and |
* later passed to the factory function when an ID matching |
* the registration ID is being instantiated with this factory. |
+ * @internal |
*/ |
static void _registerFactory(const UnicodeString& id, |
Factory factory, |
@@ -1085,6 +1094,10 @@ public: |
* Any attempt to construct an unregistered transliterator based |
* on its ID will fail. |
* |
+ * Because ICU may choose to cache Transliterators internally, this should |
+ * be called during application shutdown, after all calls to |
+ * Transliterator::createXXX to avoid undefined behavior. |
+ * |
* @param ID the ID of the transliterator or class |
* @return the <code>Object</code> that was registered with |
* <code>ID</code>, or <code>null</code> if none was |