diff options
author | Markus Alexander Kuppe | 2013-10-26 11:06:52 +0000 |
---|---|---|
committer | Markus Alexander Kuppe | 2013-10-26 11:06:52 +0000 |
commit | d6974177e8a57716afe6fe2f598b23edda6c45f5 (patch) | |
tree | 8e0cde0ea60c5ff85b286bb7cb64c0f4abe74a42 /protocols | |
parent | eaff9f4fb8fb0f15a85429e3d59f65c4fbfb5bea (diff) | |
download | org.eclipse.ecf-d6974177e8a57716afe6fe2f598b23edda6c45f5.tar.gz org.eclipse.ecf-d6974177e8a57716afe6fe2f598b23edda6c45f5.tar.xz org.eclipse.ecf-d6974177e8a57716afe6fe2f598b23edda6c45f5.zip |
NEW - bug 420433: [r-OSGi] NPE inR-Release_HEAD-sdk_feature-128_2013-10-27_15-02-02R-Release_HEAD-sdk_feature-127_2013-10-27_09-40-07R-Release_HEAD-sdk_feature-125_2013-10-27_08-32-40
ch.ethz.iks.r_osgi.impl.ChannelEndpointImpl.handleMessage(RemoteOSGiMessage)
when SERVICE_MODIFIED received before SERVICE_ADDED
https://bugs.eclipse.org/bugs/show_bug.cgi?id=420433
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java index 933184a19..87896fba1 100644 --- a/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java +++ b/protocols/bundles/ch.ethz.iks.r_osgi.remote/src/main/java/ch/ethz/iks/r_osgi/impl/ChannelEndpointImpl.java @@ -1091,6 +1091,13 @@ public final class ChannelEndpointImpl implements ChannelEndpoint { } final RemoteServiceReferenceImpl ref = getRemoteReference(serviceURI); //$NON-NLS-1$ + // If r-OSGi receives a SERVICE_MODIFIED for service X before it + // knows about X (SERVICE_ADDED), there is no point in updating + // the local service instance. It will fail with an NPE anyway. + // (see https://bugs.eclipse.org/420433) + if (ref == null && reg == null) { + return null; + } ref.setProperties(properties); RemoteOSGiServiceImpl .notifyRemoteServiceListeners(new RemoteServiceEvent( |