Skip to content

Commit

Permalink
Revert "Add more asserts to check matrix validity (flutter#31701)" (f…
Browse files Browse the repository at this point in the history
  • Loading branch information
jonahwilliams authored May 10, 2019
1 parent 0dc290c commit 549b412
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 16 deletions.
3 changes: 1 addition & 2 deletions packages/flutter/lib/src/rendering/layer.dart
Original file line number Diff line number Diff line change
Expand Up @@ -1228,8 +1228,7 @@ class TransformLayer extends OffsetLayer {
/// The [transform] and [offset] properties must be non-null before the
/// compositing phase of the pipeline.
TransformLayer({ Matrix4 transform, Offset offset = Offset.zero })
: assert(transform.storage.every((double value) => value.isFinite)),
_transform = transform,
: _transform = transform,
super(offset: offset);

/// The matrix to apply.
Expand Down
4 changes: 1 addition & 3 deletions packages/flutter/lib/src/rendering/proxy_box.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2280,11 +2280,9 @@ class RenderFittedBox extends RenderProxyBox {
final Rect sourceRect = _resolvedAlignment.inscribe(sizes.source, Offset.zero & childSize);
final Rect destinationRect = _resolvedAlignment.inscribe(sizes.destination, Offset.zero & size);
_hasVisualOverflow = sourceRect.width < childSize.width || sourceRect.height < childSize.height;
assert(scaleX.isFinite && scaleY.isFinite);
_transform = Matrix4.translationValues(destinationRect.left, destinationRect.top, 0.0)
..scale(scaleX, scaleY, 1.0)
..translate(-sourceRect.left, -sourceRect.top);
assert(_transform.storage.every((double value) => value.isFinite));
}
}

Expand All @@ -2298,7 +2296,7 @@ class RenderFittedBox extends RenderProxyBox {

@override
void paint(PaintingContext context, Offset offset) {
if (size.isEmpty || child.size.isEmpty)
if (size.isEmpty)
return;
_updatePaintData();
if (child != null) {
Expand Down
15 changes: 4 additions & 11 deletions packages/flutter/test/rendering/proxy_box_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,32 +15,25 @@ import '../flutter_test_alternative.dart';
import 'rendering_tester.dart';

void main() {
test('RenderFittedBox does not paint with empty sizes', () {
test('RenderFittedBox paint', () {
bool painted;
RenderFittedBox makeFittedBox(Size size) {
RenderFittedBox makeFittedBox() {
return RenderFittedBox(
child: RenderCustomPaint(
preferredSize: size,
painter: TestCallbackPainter(onPaint: () {
painted = true;
}),
),
);
}

// The RenderFittedBox paints if both its size and its child's size are nonempty.
painted = false;
layout(makeFittedBox(Size(1, 1)), phase: EnginePhase.paint);
layout(makeFittedBox(), phase: EnginePhase.paint);
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.
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));
});

Expand Down

0 comments on commit 549b412

Please sign in to comment.