mpx/playbackframework/playbackserver/src/mpxplaybackserversession.cpp
changeset 58 c76ea6caa649
parent 32 edd273b3192a
--- a/mpx/playbackframework/playbackserver/src/mpxplaybackserversession.cpp	Tue Aug 24 03:26:23 2010 -0500
+++ b/mpx/playbackframework/playbackserver/src/mpxplaybackserversession.cpp	Fri Sep 03 20:07:59 2010 -0500
@@ -173,10 +173,15 @@
             }
         case EPbsGetAsyncBuffer:
             {
+            //In case of other application leaving, causing us to leave
+            //we could have a task that does not get removed from the top of the queue
+            //but the data for that task has been deleted.
+            //When the task runs again, there will be no data causing a panic - leave if this occurs
+            User::LeaveIfNull(iAsyncBuffer);                         
             aMessage.WriteL(0,iAsyncBuffer->Ptr(0));
             delete iAsyncBuffer;
-            iAsyncBuffer = NULL;
-            break;
+            iAsyncBuffer = NULL;       
+            break;                            
             }
         case EPbsInitFromCollection:
             {