summaryrefslogtreecommitdiff
path: root/cppe/src/IceE/ReferenceFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cppe/src/IceE/ReferenceFactory.cpp')
-rw-r--r--cppe/src/IceE/ReferenceFactory.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/cppe/src/IceE/ReferenceFactory.cpp b/cppe/src/IceE/ReferenceFactory.cpp
index e24c3ad400b..d2632743f61 100644
--- a/cppe/src/IceE/ReferenceFactory.cpp
+++ b/cppe/src/IceE/ReferenceFactory.cpp
@@ -335,7 +335,16 @@ IceInternal::ReferenceFactory::create(const string& str)
ex.str = str;
throw ex;
}
-
+#ifdef ICEE_HAS_WSTRING
+ if(_instance->initializationData().stringConverter)
+ {
+ string tmpFacet;
+ _instance->initializationData().stringConverter->fromUTF8(
+ reinterpret_cast<const Byte*>(facet.data()),
+ reinterpret_cast<const Byte*>(facet.data() + facet.size()), tmpFacet);
+ facet = tmpFacet;
+ }
+#endif
break;
}
@@ -535,6 +544,16 @@ IceInternal::ReferenceFactory::create(const string& str)
ex.str = str;
throw ex;
}
+#ifdef ICEE_HAS_WSTRING
+ if(_instance->initializationData().stringConverter)
+ {
+ string tmpAdapter;
+ _instance->initializationData().stringConverter->fromUTF8(
+ reinterpret_cast<const Byte*>(adapter.data()),
+ reinterpret_cast<const Byte*>(adapter.data() + adapter.size()), tmpAdapter);
+ adapter = tmpAdapter;
+ }
+#endif
#ifdef ICEE_HAS_ROUTER
return create(ident, Ice::Context(), facet, mode, secure, adapter, routerInfo, locatorInfo);