is this by design?
Not quite. It is rather a side-effect of a known design limitation.
Basically, there is only one instance of internal state per tool,
even if that tool is shared between several charts.
So there is a danger of mistakes due to mixups.
To reduce the probability of error,
Deactivate method immediately clears
FChart field (similar to using
FreeAndNil instead of just
Free).
You can quick-fix this by removing line 1677 of TAGraph.pas
(
FChart := nil).
I have to do more thorough analysis before committing this change.