Unverified Commit 549b4126 authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

Revert "Add more asserts to check matrix validity (#31701)" (#32496)

parent 0dc290c0
...@@ -1228,8 +1228,7 @@ class TransformLayer extends OffsetLayer { ...@@ -1228,8 +1228,7 @@ class TransformLayer extends OffsetLayer {
/// The [transform] and [offset] properties must be non-null before the /// The [transform] and [offset] properties must be non-null before the
/// compositing phase of the pipeline. /// compositing phase of the pipeline.
TransformLayer({ Matrix4 transform, Offset offset = Offset.zero }) TransformLayer({ Matrix4 transform, Offset offset = Offset.zero })
: assert(transform.storage.every((double value) => value.isFinite)), : _transform = transform,
_transform = transform,
super(offset: offset); super(offset: offset);
/// The matrix to apply. /// The matrix to apply.
......
...@@ -2280,11 +2280,9 @@ class RenderFittedBox extends RenderProxyBox { ...@@ -2280,11 +2280,9 @@ class RenderFittedBox extends RenderProxyBox {
final Rect sourceRect = _resolvedAlignment.inscribe(sizes.source, Offset.zero & childSize); final Rect sourceRect = _resolvedAlignment.inscribe(sizes.source, Offset.zero & childSize);
final Rect destinationRect = _resolvedAlignment.inscribe(sizes.destination, Offset.zero & size); final Rect destinationRect = _resolvedAlignment.inscribe(sizes.destination, Offset.zero & size);
_hasVisualOverflow = sourceRect.width < childSize.width || sourceRect.height < childSize.height; _hasVisualOverflow = sourceRect.width < childSize.width || sourceRect.height < childSize.height;
assert(scaleX.isFinite && scaleY.isFinite);
_transform = Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0) _transform = Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0)
..scale(scaleX, scaleY, 1.0) ..scale(scaleX, scaleY, 1.0)
..translate(-sourceRect.left, -sourceRect.top); ..translate(-sourceRect.left, -sourceRect.top);
assert(_transform.storage.every((double value) => value.isFinite));
} }
} }
...@@ -2298,7 +2296,7 @@ class RenderFittedBox extends RenderProxyBox { ...@@ -2298,7 +2296,7 @@ class RenderFittedBox extends RenderProxyBox {
@override @override
void paint(PaintingContext context, Offset offset) { void paint(PaintingContext context, Offset offset) {
if (size.isEmpty || child.size.isEmpty) if (size.isEmpty)
return; return;
_updatePaintData(); _updatePaintData();
if (child != null) { if (child != null) {
......
...@@ -15,12 +15,11 @@ import '../flutter_test_alternative.dart'; ...@@ -15,12 +15,11 @@ import '../flutter_test_alternative.dart';
import 'rendering_tester.dart'; import 'rendering_tester.dart';
void main() { void main() {
test('RenderFittedBox does not paint with empty sizes', () { test('RenderFittedBox paint', () {
bool painted; bool painted;
RenderFittedBox makeFittedBox(Size size) { RenderFittedBox makeFittedBox() {
return RenderFittedBox( return RenderFittedBox(
child: RenderCustomPaint( child: RenderCustomPaint(
preferredSize: size,
painter: TestCallbackPainter(onPaint: () { painter: TestCallbackPainter(onPaint: () {
painted = true; painted = true;
}), }),
...@@ -28,19 +27,13 @@ void main() { ...@@ -28,19 +27,13 @@ void main() {
); );
} }
// The RenderFittedBox paints if both its size and its child's size are nonempty.
painted = false; painted = false;
layout(makeFittedBox(Size(1, 1)), phase: EnginePhase.paint); layout(makeFittedBox(), phase: EnginePhase.paint);
expect(painted, equals(true)); expect(painted, equals(true));
// The RenderFittedBox should not paint if its child is empty-sized.
painted = false;
layout(makeFittedBox(Size.zero), phase: EnginePhase.paint);
expect(painted, equals(false));
// The RenderFittedBox should not paint if it is empty. // The RenderFittedBox should not paint if it is empty.
painted = false; painted = false;
layout(makeFittedBox(Size(1, 1)), constraints: BoxConstraints.tight(Size.zero), phase: EnginePhase.paint); layout(makeFittedBox(), constraints: BoxConstraints.tight(Size.zero), phase: EnginePhase.paint);
expect(painted, equals(false)); expect(painted, equals(false));
}); });
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment