summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES6
-rw-r--r--cpp/src/Ice/Proxy.cpp7
2 files changed, 10 insertions, 3 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index e9c8945754f..893d8efd890 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -1,10 +1,12 @@
Changes since version 1.2.0
---------------------------
+- Fixed a problem with the random selection of SSL endpoints.
+
- Ice is now supported on Windows 98 SE. See INSTALL.WINDOWS.
-- Fixed an incorrect complaint in the Slice parser about a change
- of meaning for enumeration constant definitions.
+- Fixed an incorrect complaint in the Slice parser about a change of
+ meaning for enumeration constant definitions.
- The glacierrouter and glacierstarter processes used to abort if
given a non-existent config file.
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index 59b913bb774..32125a10628 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -1215,7 +1215,12 @@ IceDelegateM::Ice::Object::filterEndpoints(const vector<EndpointPtr>& allEndpoin
}
else
{
- partition(endpoints.begin(), endpoints.end(), not1(::Ice::constMemFun(&Endpoint::secure)));
+ //
+ // We must use stable_partition() instead of just simply
+ // partition(), because otherwise some STL implementations
+ // order our now randomized endpoints.
+ //
+ stable_partition(endpoints.begin(), endpoints.end(), not1(::Ice::constMemFun(&Endpoint::secure)));
}
return endpoints;