cluster: More delegation bugfixes.

This commit is contained in:
Gunnar Beutner 2013-09-12 15:38:01 +02:00
parent 7bc99d3860
commit 6698d09a72
1 changed files with 5 additions and 2 deletions

View File

@ -1133,7 +1133,7 @@ void ClusterComponent::CheckAuthorityHandler(const DynamicObject::Ptr& object, c
BOOST_FOREACH(const Endpoint::Ptr& endpoint, DynamicType::GetObjects<Endpoint>()) {
bool match = false;
if (!endpoint->IsConnected() || !endpoint->HasFeature(type))
if ((!endpoint->IsConnected() && endpoint->GetName() != GetIdentity()) || !endpoint->HasFeature(type))
continue;
if (authorities) {
@ -1153,8 +1153,11 @@ void ClusterComponent::CheckAuthorityHandler(const DynamicObject::Ptr& object, c
endpoints.push_back(endpoint->GetName());
}
if (endpoints.empty())
if (endpoints.empty()) {
result = false;
return;
}
std::sort(endpoints.begin(), endpoints.end());