diff options
author | Andrea Canciani <ranma42@gmail.com> | 2011-01-19 14:35:46 +0100 |
---|---|---|
committer | Andrea Canciani <ranma42@gmail.com> | 2011-01-19 14:41:52 +0100 |
commit | 67cfb20bd0908b73efc208b3c5ca0d027f858864 (patch) | |
tree | d927df109710c697b484cfbb0302746ee97c11bb /test | |
parent | b8e7bfdff0478f0515ea470b32fc15ca081d637e (diff) |
test: Workaround pixman limits in large-source-roi
Since 1cc750ed92a936d84b47cac696aaffd226e1c02e pixman won't perform
the compositing if it can't prove that this the computations it has to
perform will fit within the size of the variables it uses.
It looks like in this case it cannot prove that no overflow will
happen unless surface_width <= 30582. Instead of this size (discovered
by bisection), a safer looking 30000 was chosen. It should still
trigger the problems the original test was looking for, because
backends which support 30000xheight surfaces will likely support
32767xheight as well.
Diffstat (limited to 'test')
-rw-r--r-- | test/large-source-roi.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/test/large-source-roi.c b/test/large-source-roi.c index e429f989..dfd3554d 100644 --- a/test/large-source-roi.c +++ b/test/large-source-roi.c @@ -47,7 +47,9 @@ static cairo_test_status_t draw (cairo_t *cr, int width, int height) { cairo_surface_t *source; - double source_width = 32767.0; + /* Since 1cc750ed92a936d84b47cac696aaffd226e1c02e pixman will not + * paint on the source surface if source_width > 30582. */ + double source_width = 30000.0; cairo_set_source_rgb (cr, 1,1,1); cairo_paint (cr); |