Bug 1430550 - Don't keep mutex locked if SourceSurfaceSkia::Map fails. r?bas
This was leading to a mutex never being unlocked, eventually causing a
crash when it was destroyed.
MozReview-Commit-ID: JzEDWzKxZ4S
--- a/gfx/2d/SourceSurfaceSkia.cpp
+++ b/gfx/2d/SourceSurfaceSkia.cpp
@@ -165,16 +165,19 @@ SourceSurfaceSkia::GetData()
bool
SourceSurfaceSkia::Map(MapType, MappedSurface *aMappedSurface)
{
mChangeMutex.Lock();
aMappedSurface->mData = GetData();
aMappedSurface->mStride = Stride();
mIsMapped = !!aMappedSurface->mData;
+ if (!mIsMapped) {
+ mChangeMutex.Unlock();
+ }
return mIsMapped;
}
void
SourceSurfaceSkia::Unmap()
{
mChangeMutex.Unlock();
MOZ_ASSERT(mIsMapped);