> That's right, perform_action cannot be called while perform_action is
> running. I don't find easily a case where it is useful. Can you show us
> when you needed to call perform_action inside the perform_action function?
> I just can think on fractals or recursive drawing for that kind of cases.
> think that recursive actions can be done using the Super action including
> the action itself inside the Super action (obviously with a condition to
> get out of the recursive)
Yes, Super action is good. Me was need function which sets default
parameters for new layer - colors, width and others which user selects in
toolbox. CanvasInterface::add_layer_to() does all that i need, but cannot
be used inside actions, because it use LayerAdd action. So i've created
function apply_layer_param_defaults() to avoid recursive action