diff options
| author | slewis | 2005-05-20 04:35:23 +0000 |
|---|---|---|
| committer | slewis | 2005-05-20 04:35:23 +0000 |
| commit | b748eff7a1bd35947daeb2b6a5eda45771ec689c (patch) | |
| tree | 0b5deedd40194f3a97779d46720fe3be4812c06b | |
| parent | 77133809cc3e5b86d527902de1e0c374181583af (diff) | |
| download | org.eclipse.ecf-b748eff7a1bd35947daeb2b6a5eda45771ec689c.tar.gz org.eclipse.ecf-b748eff7a1bd35947daeb2b6a5eda45771ec689c.tar.xz org.eclipse.ecf-b748eff7a1bd35947daeb2b6a5eda45771ec689c.zip | |
Fix for bug in shared object message handling. Previously messages sent to a particular group member id (i.e. not to entire group) were being delivered to server instances of the shared object when they shouldn't be. Now the code to deliver the message to the local copy of the shared object is guarded with a test to verify that it's either intended for all participants, or for that particular participant
| -rw-r--r-- | framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java index 98f17277e..3f20ec2f2 100644 --- a/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java +++ b/framework/bundles/org.eclipse.ecf.provider/src/org/eclipse/ecf/provider/generic/SOContainer.java @@ -757,10 +757,12 @@ public abstract class SOContainer implements ISharedObjectContainer { e.printStackTrace(System.err); } synchronized (getGroupMembershipLock()) { - SOWrapper sow = getSharedObjectWrapper(resp + if (toID == null || toID.equals(getID())) { + SOWrapper sow = getSharedObjectWrapper(resp .getFromSharedObjectID()); - if (sow != null) { - sow.deliverSharedObjectMessage(fromID, obj); + if (sow != null) { + sow.deliverSharedObjectMessage(fromID, obj); + } } forward(fromID, toID, mess); } |
