Merge change Ia8ac904d into eclair

* changes:
  fix [2182249] [MR1] valgrind error in surface flinger
This commit is contained in:
Android (Google) Code Review
2009-10-16 17:26:15 -04:00
2 changed files with 16 additions and 6 deletions

View File

@@ -86,7 +86,7 @@ public:
rasterizer(current);
}
}
} while(!spannerInner.isDone());
} while(!spannerInner.isDone());
} while(!spanner.isDone());
}
@@ -220,18 +220,21 @@ private:
}
inline void prepare(int inside) {
SpannerBase::lhs_head = lhs.rects->left + lhs.dx;
SpannerBase::lhs_tail = lhs.rects->right + lhs.dx;
SpannerBase::rhs_head = rhs.rects->left + rhs.dx;
SpannerBase::rhs_tail = rhs.rects->right + rhs.dx;
if (inside == SpannerBase::lhs_before_rhs) {
SpannerBase::lhs_head = lhs.rects->left + lhs.dx;
SpannerBase::lhs_tail = lhs.rects->right + lhs.dx;
SpannerBase::rhs_head = max_value;
SpannerBase::rhs_tail = max_value;
} else if (inside == SpannerBase::lhs_after_rhs) {
SpannerBase::lhs_head = max_value;
SpannerBase::lhs_tail = max_value;
SpannerBase::rhs_head = rhs.rects->left + rhs.dx;
SpannerBase::rhs_tail = rhs.rects->right + rhs.dx;
} else {
// use both spans
SpannerBase::lhs_head = lhs.rects->left + lhs.dx;
SpannerBase::lhs_tail = lhs.rects->right + lhs.dx;
SpannerBase::rhs_head = rhs.rects->left + rhs.dx;
SpannerBase::rhs_tail = rhs.rects->right + rhs.dx;
}
}

View File

@@ -25,9 +25,16 @@ using namespace android;
int main()
{
Region empty;
Region reg0( Rect( 0, 0, 100, 100 ) );
Region reg1 = reg0;
Region reg2, reg3;
Region reg4 = empty | reg1;
Region reg5 = reg1 | empty;
reg4.dump("reg4");
reg5.dump("reg5");
reg0.dump("reg0");
reg1.dump("reg1");