Skip to content

Commit e1929ee

Browse files
fix: fix propagation of reinitializealg in SymbolicDiscreteCallback
1 parent 2e3eaf3 commit e1929ee

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

src/systems/callbacks.jl

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -438,9 +438,12 @@ struct SymbolicDiscreteCallback <: AbstractCallback
438438
c = is_timed_condition(condition) ? condition : value(scalarize(condition))
439439

440440
if isnothing(reinitializealg)
441-
reinitializealg = SciMLBase.CheckInit()
442-
else
443-
reinitializealg = SciMLBase.NoInit()
441+
if any(a -> (a isa FunctionalAffect || a isa ImperativeAffect),
442+
[affect, initialize, finalize])
443+
reinitializealg = SciMLBase.CheckInit()
444+
else
445+
reinitializealg = SciMLBase.NoInit()
446+
end
444447
end
445448
new(c, make_affect(affect; kwargs...),
446449
make_affect(initialize; kwargs...),

0 commit comments

Comments
 (0)