diff options
-rw-r--r-- | src/corelib/codecs/qtextcodec_symbian.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/codecs/qtextcodec_symbian.cpp b/src/corelib/codecs/qtextcodec_symbian.cpp index 1b09ec4..e1eb336 100644 --- a/src/corelib/codecs/qtextcodec_symbian.cpp +++ b/src/corelib/codecs/qtextcodec_symbian.cpp @@ -167,8 +167,12 @@ Q_GLOBAL_STATIC(QThreadStorage<CCnvCharacterSetConverter *>,gs_converterStore); CCnvCharacterSetConverter *QSymbianTextCodec::converter() { CCnvCharacterSetConverter *&conv = gs_converterStore()->localData(); - if (!conv) + if (!conv) { + QScopedPointer<CTrapCleanup> trap; + if (!User::TrapHandler()) + trap.reset(CTrapCleanup::New()); QT_TRAP_THROWING(conv = CCnvCharacterSetConverter::NewL()) + } return conv; } |