Skip to content

Commit 5d75967

Browse files
Merge pull request #1066 from akarnokd/CompositeSubscriptionFix422
CompositeSubscription fix
2 parents f04cd5f + 96b06f9 commit 5d75967

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

rxjava-core/src/main/java/rx/subscriptions/CompositeSubscription.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ State remove(Subscription s) {
7272
for (Subscription _s : subscriptions) {
7373
if (!_s.equals(s)) {
7474
// was not in this composite
75-
if (idx == subscriptions.length) {
75+
if (idx == newSubscriptions.length) {
7676
return this;
7777
}
7878
newSubscriptions[idx] = _s;

rxjava-core/src/test/java/rx/subscriptions/CompositeSubscriptionTest.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -324,4 +324,17 @@ public void run() {
324324
// we should have only unsubscribed once
325325
assertEquals(1, counter.get());
326326
}
327+
@Test
328+
public void testTryRemoveIfNotIn() {
329+
CompositeSubscription csub = new CompositeSubscription();
330+
331+
CompositeSubscription csub1 = new CompositeSubscription();
332+
CompositeSubscription csub2 = new CompositeSubscription();
333+
334+
csub.add(csub1);
335+
csub.remove(csub1);
336+
csub.add(csub2);
337+
338+
csub.remove(csub1); // try removing agian
339+
}
327340
}

0 commit comments

Comments
 (0)