diff options
-rw-r--r-- | src/library/scala/ref/SoftReference.scala | 3 | ||||
-rw-r--r-- | src/library/scala/ref/WeakReference.scala | 3 |
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) } |