Skip to content

Commit 6935bf8

Browse files
committed
Fix environmentDidChange
1 parent 6cd16c1 commit 6935bf8

5 files changed

+9
-9
lines changed

Diff for: ViewEnvironmentUI/Sources/UIView+ViewEnvironmentPropagatingObject.swift

-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,6 @@ extension UIView: ViewEnvironmentPropagatingObject {
2929
@_spi(ViewEnvironmentWiring)
3030
public func setNeedsApplyEnvironment() {
3131
setNeedsLayout()
32-
33-
if let observing = self as? ViewEnvironmentObserving {
34-
observing.environmentDidChange()
35-
}
3632
}
3733
}
3834

Diff for: ViewEnvironmentUI/Sources/UIViewController+ViewEnvironmentPropagatingObject.swift

-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,6 @@ extension UIViewController: ViewEnvironmentPropagatingObject {
3737
@_spi(ViewEnvironmentWiring)
3838
public func setNeedsApplyEnvironment() {
3939
viewIfLoaded?.setNeedsLayout()
40-
41-
if let observing = self as? ViewEnvironmentObserving {
42-
observing.environmentDidChange()
43-
}
4440
}
4541
}
4642

Diff for: ViewEnvironmentUI/Sources/ViewEnvironmentPropagating.swift

+3-1
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ extension ViewEnvironmentPropagating {
137137
// If the descendant's ancestor is nil it has opted out of environment updates and is likely acting as
138138
// a root for propagation bridging purposes (e.g. from a Workflow ViewEnvironment update).
139139
// Avoid updating the descendant if this is the case.
140-
guard descendant.environmentAncestor != nil else { continue }
140+
guard descendant.environmentAncestor != nil else {
141+
continue
142+
}
141143

142144
descendant.setNeedsEnvironmentUpdate()
143145
}

Diff for: ViewEnvironmentUI/Sources/ViewEnvironmentPropagatingObject.swift

+4
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,10 @@ extension ViewEnvironmentPropagatingObject {
214214
public func setNeedsEnvironmentUpdate() {
215215
needsEnvironmentUpdate = true
216216

217+
if let observing = self as? ViewEnvironmentObserving {
218+
observing.environmentDidChange()
219+
}
220+
217221
if !needsUpdateObservers.isEmpty {
218222
let environment = self.environment
219223

Diff for: ViewEnvironmentUI/Sources/ViewEnvironmentPropagationNode.swift

+2
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,8 @@ public class ViewEnvironmentPropagationNode: ViewEnvironmentCustomizing, ViewEnv
7474
public func setNeedsEnvironmentUpdate() {
7575
needsEnvironmentUpdate = true
7676

77+
environmentDidChange()
78+
7779
setNeedsEnvironmentUpdateOnAppropriateDescendants()
7880
}
7981

0 commit comments

Comments
 (0)