summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/library/scala/ref/SoftReference.scala3
-rw-r--r--src/library/scala/ref/WeakReference.scala3
2 files changed, 4 insertions, 2 deletions
diff --git a/src/library/scala/ref/SoftReference.scala b/src/library/scala/ref/SoftReference.scala
index c4c9aa4d03..e1807247ed 100644
--- a/src/library/scala/ref/SoftReference.scala
+++ b/src/library/scala/ref/SoftReference.scala
@@ -18,5 +18,6 @@ class SoftReference[+T <: AnyRef](value : T, queue : ReferenceQueue[T]) extends
val underlying: java.lang.ref.SoftReference[_ <: T] =
if (queue == null) new java.lang.ref.SoftReference[T](value);
else new java.lang.ref.SoftReference[T](value, queue.underlying.asInstanceOf[java.lang.ref.ReferenceQueue[T]])
- queue.register(this)
+ if (queue != null)
+ queue.register(this)
}
diff --git a/src/library/scala/ref/WeakReference.scala b/src/library/scala/ref/WeakReference.scala
index a980183fed..767916cd14 100644
--- a/src/library/scala/ref/WeakReference.scala
+++ b/src/library/scala/ref/WeakReference.scala
@@ -18,5 +18,6 @@ class WeakReference[+T <: AnyRef](value: T, queue: ReferenceQueue[T]) extends Re
val underlying: java.lang.ref.WeakReference[_ <: T] =
if (queue == null) new java.lang.ref.WeakReference[T](value)
else new java.lang.ref.WeakReference[T](value, queue.underlying.asInstanceOf[java.lang.ref.ReferenceQueue[T]])
- queue.register(this)
+ if (queue != null)
+ queue.register(this)
}