Page MenuHomePhabricator

Double action execution after AcREMOVEALL in PointSetInteractor
Closed, ResolvedPublic

Description

The case AcREMOVEALL in method mitkPiointSetInteractor::ExecuteAction() does not set the return parameter so false is returned from the selected (this) statemachine. GlobalInteraction then fills the list of possible statemachines and asks this statemachine again. In both cases the actions were successfully executed.
This bug slows down the interaction of the statemachine pattern singlepointinteractorwithoutshiftclick and of all other PointSetInteractor patterns that call AcREMOVEALL.

Bug can be resolved by setting returnparameter "ok" to true after removing all points.

Event Timeline

ingmar can you please add a patch with your changes?

patch for 5327 including changes

As written in the scpecification page a test can't check for this bug. The methods got executed two times with success, checking this doesn't really make sense. But I extended mitkPointSetINteractorTest to also check this pattern (see patch).

...or at least the interface doesn't allow to test this case... ;)

[SVN revision 26074]
FIX (#5327): fixing bug in Action AcREMOVEALL (wrong return statement), testing singlepointinteractorwithoutshiftclick pattern in mitkPointSetInteractorTest and cleaning up pattern