Backed out changeset 171edffe0641 (bug 1006957) for crash at BaseAutoLock<mozilla::Mutex>::BaseAutoLock(mozilla::Mutex&) from layers::AsyncTransactionTrackersHolder::ClearAllAsyncTransactionTrackers on a CLOSED TREE

This commit is contained in:
Steve Fink
2014-05-23 21:16:02 -07:00
parent b811d459dd
commit 278d129227
33 changed files with 322 additions and 534 deletions

View File

@@ -6,7 +6,6 @@
#ifdef MOZ_WIDGET_GONK
#include "mozilla/gfx/2D.h"
#include "mozilla/layers/AsyncTransactionTracker.h" // for AsyncTransactionTracker
#include "mozilla/layers/GrallocTextureClient.h"
#include "mozilla/layers/CompositableForwarder.h"
#include "mozilla/layers/ISurfaceAllocator.h"
@@ -82,19 +81,8 @@ GrallocTextureClientOGL::SetReleaseFenceHandle(FenceHandle aReleaseFenceHandle)
}
void
GrallocTextureClientOGL::SetRemoveFromCompositableTracker(AsyncTransactionTracker* aTracker)
GrallocTextureClientOGL::WaitReleaseFence()
{
mRemoveFromCompositableTracker = aTracker;
}
void
GrallocTextureClientOGL::WaitForBufferOwnership()
{
if (mRemoveFromCompositableTracker) {
mRemoveFromCompositableTracker->WaitComplete();
mRemoveFromCompositableTracker = nullptr;
}
#if defined(MOZ_WIDGET_GONK) && ANDROID_VERSION >= 17
if (mReleaseFenceHandle.IsValid()) {
android::sp<Fence> fence = mReleaseFenceHandle.mFence;
@@ -122,7 +110,7 @@ GrallocTextureClientOGL::Lock(OpenMode aMode)
return true;
}
WaitForBufferOwnership();
WaitReleaseFence();
uint32_t usage = 0;
if (aMode & OpenMode::OPEN_READ) {