Bug 955911. r=roc, a=abillings
authorPaul Adenot <paul@paul.cx>
Mon, 13 Jan 2014 17:38:30 +0100
changeset 176356 84f6530e4f9c3fed6b639340249a194a596cedd0
parent 176355 0fe8271076588bc841831c0fde68eb7b6d758ede
child 176357 fcd76aa1816e6820c12f6f10e98d7c6245556942
push id445
push userffxbld
push dateMon, 10 Mar 2014 22:05:19 +0000
treeherdermozilla-release@dc38b741b04e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersroc, abillings
bugs955911
milestone28.0
Bug 955911. r=roc, a=abillings
content/media/MediaStreamGraph.cpp
--- a/content/media/MediaStreamGraph.cpp
+++ b/content/media/MediaStreamGraph.cpp
@@ -1906,16 +1906,22 @@ MediaStream::ChangeExplicitBlockerCount(
       ControlMessage(aStream), mDelta(aDelta) {}
     virtual void Run()
     {
       mStream->ChangeExplicitBlockerCountImpl(
           mStream->GraphImpl()->mStateComputedTime, mDelta);
     }
     int32_t mDelta;
   };
+
+  // This can happen if this method has been called asynchronously, and the
+  // stream has been destroyed since then.
+  if (mMainThreadDestroyed) {
+    return;
+  }
   GraphImpl()->AppendMessage(new Message(this, aDelta));
 }
 
 void
 MediaStream::AddListenerImpl(already_AddRefed<MediaStreamListener> aListener)
 {
   MediaStreamListener* listener = *mListeners.AppendElement() = aListener;
   listener->NotifyBlockingChanged(GraphImpl(),