Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
31bc220d
Commit
31bc220d
authored
Jan 02, 2016
by
Adam Barth
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #1057 from abarth/fix_assert
ScrollbarPainter exception when scrolling MaterialList
parents
636fa1ab
94843700
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
45 additions
and
2 deletions
+45
-2
block.dart
packages/flutter/lib/src/rendering/block.dart
+4
-2
object.dart
packages/flutter/lib/src/rendering/object.dart
+1
-0
block_test.dart
packages/flutter/test/rendering/block_test.dart
+40
-0
No files found.
packages/flutter/lib/src/rendering/block.dart
View file @
31bc220d
...
...
@@ -313,9 +313,11 @@ class RenderBlockViewport extends RenderBlockBase {
void
set
overlayPainter
(
Painter
value
)
{
if
(
_overlayPainter
==
value
)
return
;
_overlayPainter
?.
detach
();
if
(
attached
)
_overlayPainter
?.
detach
();
_overlayPainter
=
value
;
_overlayPainter
?.
attach
(
this
);
if
(
attached
)
_overlayPainter
?.
attach
(
this
);
markNeedsPaint
();
}
...
...
packages/flutter/lib/src/rendering/object.dart
View file @
31bc220d
...
...
@@ -345,6 +345,7 @@ abstract class Painter {
void
attach
(
RenderObject
renderObject
)
{
assert
(
_renderObject
==
null
);
assert
(
renderObject
!=
null
);
_renderObject
=
renderObject
;
}
...
...
packages/flutter/test/rendering/block_test.dart
0 → 100644
View file @
31bc220d
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import
'package:flutter/material.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:test/test.dart'
;
import
'rendering_tester.dart'
;
class
TestBlockPainter
extends
Painter
{
void
paint
(
PaintingContext
context
,
Offset
offset
)
{
}
}
void
main
(
)
{
test
(
'overlay painters can attach and detach'
,
()
{
TestBlockPainter
first
=
new
TestBlockPainter
();
TestBlockPainter
second
=
new
TestBlockPainter
();
RenderBlockViewport
block
=
new
RenderBlockViewport
(
overlayPainter:
first
);
// The first painter isn't attached because we haven't attached block.
expect
(
first
.
renderObject
,
isNull
);
expect
(
second
.
renderObject
,
isNull
);
block
.
overlayPainter
=
second
;
expect
(
first
.
renderObject
,
isNull
);
expect
(
second
.
renderObject
,
isNull
);
layout
(
block
);
expect
(
first
.
renderObject
,
isNull
);
expect
(
second
.
renderObject
,
equals
(
block
));
block
.
overlayPainter
=
first
;
expect
(
first
.
renderObject
,
equals
(
block
));
expect
(
second
.
renderObject
,
isNull
);
});
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment