From 373a2a570c12a33f045d41f15b1ead5b2eec3927 Mon Sep 17 00:00:00 2001 From: beveloper Date: Sun, 23 Mar 2003 01:06:22 +0000 Subject: [PATCH] Fix crashing bug on BBufferGroup deletion. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2994 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/kits/media/BufferConsumer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kits/media/BufferConsumer.cpp b/src/kits/media/BufferConsumer.cpp index d044eaa7f3..2b31b734e8 100644 --- a/src/kits/media/BufferConsumer.cpp +++ b/src/kits/media/BufferConsumer.cpp @@ -7,6 +7,7 @@ #include #include #include +#include //for debugging #include #include "debug.h" #include "MediaMisc.h" @@ -291,7 +292,7 @@ BBufferConsumer::SetOutputBuffersFor(const media_source &source, if (rv == B_OK) { if (fDeleteBufferGroup) // XXX will leak memory if port write failed delete fDeleteBufferGroup; - fDeleteBufferGroup = will_reclaim ? group : NULL; + fDeleteBufferGroup = will_reclaim ? NULL : group; } return rv; } @@ -366,6 +367,7 @@ BBufferConsumer::HandleMessage(int32 message, BBuffer *buffer; buffer = fBufferCache->GetBuffer(command->buffer); buffer->SetHeader(&command->header); + TRACE("calling BBufferConsumer::BufferReceived buffer %ld at perf %Ld and TimeSource()->Now() is %Ld\n", buffer->Header()->buffer, buffer->Header()->start_time, TimeSource()->Now()); BufferReceived(buffer); return B_OK; }