diff options
Diffstat (limited to 'cpp/src/Ice/Initialize.cpp')
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index b8bd4946e72..ca108e8db85 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -148,7 +148,7 @@ Ice::getDefaultProperties(int& argc, char* argv[]) } CommunicatorPtr -Ice::initialize(int& argc, char* argv[], InitializationData initData, Int version) +Ice::initialize(int& argc, char* argv[], const InitializationData& initData, Int version) { #ifndef ICE_IGNORE_VERSION // @@ -168,15 +168,16 @@ Ice::initialize(int& argc, char* argv[], InitializationData initData, Int versio } #endif - if(initData.properties == 0) + InitializationData tmpData = initData; + if(tmpData.properties == 0) { - initData.properties = getDefaultProperties(argc, argv); + tmpData.properties = getDefaultProperties(argc, argv); } StringSeq args = argsToStringSeq(argc, argv); - args = initData.properties->parseIceCommandLineOptions(args); + args = tmpData.properties->parseIceCommandLineOptions(args); stringSeqToArgs(args, argc, argv); - CommunicatorI* communicatorI = new CommunicatorI(initData); + CommunicatorI* communicatorI = new CommunicatorI(tmpData); CommunicatorPtr result = communicatorI; // For exception safety. communicatorI->finishSetup(argc, argv); return result; |