diff --git a/Pharos/Classes/Observable/Subject.swift b/Pharos/Classes/Observable/Subject.swift index 4e00c74..2f8c83b 100644 --- a/Pharos/Classes/Observable/Subject.swift +++ b/Pharos/Classes/Observable/Subject.swift @@ -16,10 +16,8 @@ public final class Subject: BindableObservable { _wrappedValue } set { - let oldValue = _wrappedValue - _wrappedValue = newValue relay( - changes: Changes(old: oldValue, new: newValue, source: self), + changes: Changes(old: _wrappedValue, new: newValue, source: self), context: PharosContext() ) } diff --git a/Pharos/Classes/Relay/BindableKVOObservable.swift b/Pharos/Classes/Relay/BindableKVOObservable.swift index 5e11e84..323b478 100644 --- a/Pharos/Classes/Relay/BindableKVOObservable.swift +++ b/Pharos/Classes/Relay/BindableKVOObservable.swift @@ -46,8 +46,8 @@ final class BindableKVOObservable: BindableObservabl super.superRelay(changes, context) self.recentSource = .none case .external: - super.superRelay(changes, context) super.callCallback(changes) + super.superRelay(changes, context) case .none: return } diff --git a/Pharos/Classes/Relay/BindableObservable.swift b/Pharos/Classes/Relay/BindableObservable.swift index 1b48e93..3d03ac1 100644 --- a/Pharos/Classes/Relay/BindableObservable.swift +++ b/Pharos/Classes/Relay/BindableObservable.swift @@ -34,8 +34,8 @@ open class BindableObservable: RootObservable { } override func relay(changes: Changes, context: PharosContext) { - superRelay(changes, context) callCallback(changes) + superRelay(changes, context) } public override func relayChanges(to relay: BindableObservable) -> Observed {