summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES8
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp2
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)