File tree Expand file tree Collapse file tree 1 file changed +12
-12
lines changed
Expand file tree Collapse file tree 1 file changed +12
-12
lines changed Original file line number Diff line number Diff line change @@ -135,18 +135,16 @@ export function propagate(subs: Link): void {
135135 const subFlags = sub . flags ;
136136
137137 if ( ! ( subFlags & SubscriberFlags . Tracking ) ) {
138- let canPropagate = ! ( subFlags >> 2 ) ;
139- if ( ! canPropagate ) {
140- if ( subFlags & SubscriberFlags . CanPropagate ) {
141- sub . flags = ( subFlags & ~ SubscriberFlags . CanPropagate ) | targetFlag ;
142- canPropagate = true ;
143- } else if ( ! ( subFlags & targetFlag ) ) {
144- sub . flags = subFlags | targetFlag ;
145- }
146- } else {
147- sub . flags = subFlags | targetFlag ;
148- }
149- if ( canPropagate ) {
138+ if (
139+ (
140+ ! ( subFlags >> 2 )
141+ && ( sub . flags = subFlags | targetFlag , true )
142+ )
143+ || (
144+ subFlags & SubscriberFlags . CanPropagate
145+ && ( sub . flags = ( subFlags & ~ SubscriberFlags . CanPropagate ) | targetFlag , true )
146+ )
147+ ) {
150148 const subSubs = ( sub as Dependency ) . subs ;
151149 if ( subSubs !== undefined ) {
152150 if ( subSubs . nextSub !== undefined ) {
@@ -170,6 +168,8 @@ export function propagate(subs: Link): void {
170168 }
171169 queuedEffectsTail = sub ;
172170 }
171+ } else {
172+ sub . flags = subFlags | targetFlag ;
173173 }
174174 } else if ( isValidLink ( link , sub ) ) {
175175 if ( ! ( subFlags >> 2 ) ) {
You can’t perform that action at this time.
0 commit comments