diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/CHANGES | 8 | ||||
-rw-r--r-- | cpp/src/Ice/CommunicatorI.cpp | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES index 4528276e798..a6558ed588a 100644 --- a/cpp/CHANGES +++ b/cpp/CHANGES @@ -22,13 +22,17 @@ Changes since version 3.1.0 C myCstar; // OK, no problem with 3.1.0. }; -- For non-abstract Slice classes, the C++ code generated now adds a +- For non-abstract Slice classes, the C++ code generator now adds a protected destructor. This prevents accidental allocation of class instances on the stack or as static variables. For the - implementation of abstract Slice classes and for servant classes + implementation of abstract Slice classes, and for servant classes, applications can do the same thing and add a protected destructor to prevent non-heap allocation. +- Fixed a bug in Ice::initialize() that raised a NullHandleException + when the function was called without arguments or when the + properties member of InitializationData was null. + Changes since version 3.0.1 --------------------------- diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp index 16763994f62..1f166743b13 100644 --- a/cpp/src/Ice/CommunicatorI.cpp +++ b/cpp/src/Ice/CommunicatorI.cpp @@ -269,7 +269,7 @@ Ice::CommunicatorI::CommunicatorI(const InitializationData& initData) gcTraceLevel = _instance->traceLevels()->gc; gcTraceCat = _instance->traceLevels()->gcCat; gcLogger = _instance->initializationData().logger; - gcInterval = initData.properties->getPropertyAsInt("Ice.GC.Interval"); + gcInterval = _instance->initializationData().properties->getPropertyAsInt("Ice.GC.Interval"); gcOnce = false; } if(++communicatorCount == 1) |