If you look at the way OnDeactivationProcessed is called inside Conductor.cs, it is only used once and then only when the active item is not allowed to close. This does not make any sense.
You would expect the following behaviour:
Collection:
ActivateItem causes a DeactivationProcessed on the current active item with closed = true
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
Collection.OneActive:
ActivateItem causes a DeactivationProcessed on the current active item with closed = false
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
Collection.AllActive
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
DeactivationProcessed should not fire if canClose == false because then nothing got deactivated? What I am suggesting is that DeactivationProcessed be interpreted differently.
Comments: There is no OnDeactivationProcessed() any more. I will close it as it is not relevant any more.
You would expect the following behaviour:
Collection:
ActivateItem causes a DeactivationProcessed on the current active item with closed = true
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
Collection.OneActive:
ActivateItem causes a DeactivationProcessed on the current active item with closed = false
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
Collection.AllActive
DeactivateItem causes a DeactivationProcessed on the current active item with closed = true
DeactivationProcessed should not fire if canClose == false because then nothing got deactivated? What I am suggesting is that DeactivationProcessed be interpreted differently.
Comments: There is no OnDeactivationProcessed() any more. I will close it as it is not relevant any more.