diff options
author | Patrick Scott <phanna@android.com> | 2010-11-02 14:38:04 -0400 |
---|---|---|
committer | Patrick Scott <phanna@android.com> | 2010-11-02 14:38:52 -0400 |
commit | 64753df8a61f0423e703d76bbdba820d085b7f3a (patch) | |
tree | 4dc85b778d34900a256fe4ec09defefeacb183a2 /src/core | |
parent | 95662ea6ee460cc84014c41a8c13e881cd8be8ed (diff) | |
download | external_skia-64753df8a61f0423e703d76bbdba820d085b7f3a.zip external_skia-64753df8a61f0423e703d76bbdba820d085b7f3a.tar.gz external_skia-64753df8a61f0423e703d76bbdba820d085b7f3a.tar.bz2 |
Fix drawing pictures in different threads.
Use a mutex to avoid trying to concurrently draw the same picture.
Change-Id: I6bef66d7824b12e796f32b635f2c344b4170fcd8
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkPicturePlayback.cpp | 2 | ||||
-rw-r--r-- | src/core/SkPicturePlayback.h | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/core/SkPicturePlayback.cpp b/src/core/SkPicturePlayback.cpp index f488565..c73e21c 100644 --- a/src/core/SkPicturePlayback.cpp +++ b/src/core/SkPicturePlayback.cpp @@ -528,6 +528,8 @@ void SkPicturePlayback::draw(SkCanvas& canvas) { SkipClipRec skipRect, skipRegion, skipPath; #endif + SkAutoMutexAcquire autoMutex(fDrawMutex); + TextContainer text; fReader.rewind(); diff --git a/src/core/SkPicturePlayback.h b/src/core/SkPicturePlayback.h index ae9641a..f5bf038 100644 --- a/src/core/SkPicturePlayback.h +++ b/src/core/SkPicturePlayback.h @@ -12,6 +12,7 @@ #include "SkRegion.h" #include "SkPictureFlat.h" #include "SkShape.h" +#include "SkThread.h" class SkPictureRecord; class SkStream; @@ -172,6 +173,7 @@ private: SkRefCntPlayback fRCPlayback; SkTypefacePlayback fTFPlayback; SkFactoryPlayback* fFactoryPlayback; + SkMutex fDrawMutex; }; #endif |