srand() + rand() -> SkRandom
rand() makes these two GMs thread-unsafe. When run concurrently they can interfere with each other. Use SkRandom instead to guarantee independence. BUG=skia:1590 R=jvanverth@google.com Review URL: https://codereview.chromium.org/24105003 git-svn-id: http://skia.googlecode.com/svn/trunk@11295 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
b6e915da2e
commit
cfa7ba7753
@ -7,6 +7,7 @@
|
||||
|
||||
#include "gm.h"
|
||||
#include "SkBlurImageFilter.h"
|
||||
#include "SkRandom.h"
|
||||
|
||||
#define WIDTH 500
|
||||
#define HEIGHT 500
|
||||
@ -33,14 +34,15 @@ protected:
|
||||
paint.setImageFilter(new SkBlurImageFilter(24.0f, 0.0f))->unref();
|
||||
canvas->saveLayer(NULL, &paint);
|
||||
const char* str = "The quick brown fox jumped over the lazy dog.";
|
||||
srand(1234);
|
||||
|
||||
SkRandom rand;
|
||||
SkPaint textPaint;
|
||||
textPaint.setAntiAlias(true);
|
||||
for (int i = 0; i < 25; ++i) {
|
||||
int x = rand() % WIDTH;
|
||||
int y = rand() % HEIGHT;
|
||||
textPaint.setColor(rand() % 0x1000000 | 0xFF000000);
|
||||
textPaint.setTextSize(SkIntToScalar(rand() % 300));
|
||||
int x = rand.nextULessThan(WIDTH);
|
||||
int y = rand.nextULessThan(HEIGHT);
|
||||
textPaint.setColor(rand.nextBits(24) | 0xFF000000);
|
||||
textPaint.setTextSize(rand.nextULessThan(300));
|
||||
canvas->drawText(str, strlen(str), SkIntToScalar(x),
|
||||
SkIntToScalar(y), textPaint);
|
||||
}
|
||||
|
@ -7,6 +7,7 @@
|
||||
|
||||
#include "gm.h"
|
||||
#include "SkMagnifierImageFilter.h"
|
||||
#include "SkRandom.h"
|
||||
|
||||
#define WIDTH 500
|
||||
#define HEIGHT 500
|
||||
@ -44,12 +45,12 @@ protected:
|
||||
canvas->saveLayer(NULL, &paint);
|
||||
paint.setAntiAlias(true);
|
||||
const char* str = "The quick brown fox jumped over the lazy dog.";
|
||||
srand(1234);
|
||||
SkRandom rand;
|
||||
for (int i = 0; i < 25; ++i) {
|
||||
int x = rand() % WIDTH;
|
||||
int y = rand() % HEIGHT;
|
||||
paint.setColor(rand() % 0x1000000 | 0xFF000000);
|
||||
paint.setTextSize(SkIntToScalar(rand() % 300));
|
||||
int x = rand.nextULessThan(WIDTH);
|
||||
int y = rand.nextULessThan(HEIGHT);
|
||||
paint.setColor(rand.nextBits(24) | 0xFF000000);
|
||||
paint.setTextSize(rand.nextULessThan(300));
|
||||
canvas->drawText(str, strlen(str), SkIntToScalar(x),
|
||||
SkIntToScalar(y), paint);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user