Properly track mimics that move in the tree
We weren't telling the new mimicable that we wanted to start mimicing it.
This commit is contained in:
parent
4923f0cd08
commit
15e8f741fb
@ -75,10 +75,7 @@ class Mimic extends GlobalKeyWatcher {
|
||||
|
||||
void didUnmount() {
|
||||
super.didUnmount();
|
||||
if (_mimicable != null) {
|
||||
_mimicable.stopMimic();
|
||||
_mimicable = null;
|
||||
}
|
||||
_stopMimic();
|
||||
}
|
||||
|
||||
void didSyncWatchedKey(GlobalKey key, Widget widget) {
|
||||
@ -91,9 +88,18 @@ class Mimic extends GlobalKeyWatcher {
|
||||
_setMimicable(null);
|
||||
}
|
||||
|
||||
void _stopMimic() {
|
||||
if (_mimicable != null) {
|
||||
_mimicable.stopMimic();
|
||||
_mimicable = null;
|
||||
}
|
||||
}
|
||||
|
||||
void _setMimicable(widget) {
|
||||
if (_mimicable == null && widget != null)
|
||||
if (_mimicable != widget) {
|
||||
_stopMimic();
|
||||
widget.startMimic();
|
||||
}
|
||||
setState(() {
|
||||
_mimicable = widget;
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user