Constraint/Scripts not Updated on ESC key

Hi,as I’m trying to do a good Ikspline setup for spine riggings I found an annoying problem.
When you start a transformation,moving a bone in pose mode and after pressing esc key without finishing the transformation the position of driven elements(bones,empty,and so on)remain fixed to the previous position just before pressing esc,not where they should be(they follow the movement correctly but when you press ESC they do not return to the original position).
pressing G,R or Alt+A after this updates the redrawing correctly,bones and control objects go in the right position.
Other than in this case,there is the same problem when you open a scene with this kind of setup,only pressing G,R,Alt+A(forcing redrawing)update the bones positions correctly.
The same problems can be found on some scripts,even if you do a script link with redraw as option when pressing ESC elements don’t update correctly(but after you force redraw all goes fine).
This is really a pity,as really good setups can be done allready in Blender(as true IKSpline)but this problem make it less usable.
What I’m asking is if some core coder can take a look at this,this problem is 2/3 years old I think(2 years ago I have pointed out to mailing list and emailed Ton too for this but without luck),I have waited to see if the dependency graph (developed some times ago) fixed these problems but apparently not.
For me the problem is that Blender doesn’t update the dependency graphs for bones in pose mode when the user press ESC key,but I’m not sure.
I’ll not post on bug tracker,because this is not a bug(only a little annoying thing),and happens on different kind of setups,and tracking all the cases is too much for me.
I can send email and test files if someone want to fix,but I don’t know who is the blender coder that maintains this stuff.

It sounds like you’re trying to do something which the depsgraph currently cannot handle (i.e. most likely it’s a somewhat ‘cyclic’ situation).

But it works correctly,only the esc key and the opening of the file miss the redraw(and when you start again trasformation all goes fine).
The problem is that I have to drive the curve control points position with bones(hook doesn’t seem to work with bones,only with object)
To solve this,I have tried 2 ways,the first is indirect control(empty hooks contrained to bones in position drive the curve control points).
The second way is coding with python hook/cluster deformation for bones(basically I snap
curve controls point where bones are,using bone pose matrix).
All 2 method works good,but they have this ESC redraw problem.
There is some way to force the redraw?
I can agree that it can be a cyclic problem,but only because bones are a special object in blender,if you drive some object with bones and that object drive others(different)bones this isn’t a real cyclic problem(the bone that drive and the bone that is driven are different,not the same one) IMHO in this case the system should work well.

Most certainly you’ve got a cyclic problem. When I made a simple test file, I did not have any such problems.

This file was setup so that:

  1. a bezier curve was added (with 3 control points)
  2. each control point gets a new hook using Ctrl-H -> Add to New Empty
  3. each empty was parented to a relevant bone in an armature

You only have problems if you try to drive some other bones in the same armature with something that depends on bones in that armature.

That’s is not good,how can I do ikspline ?
My bones drive the curve that drive my other bones spine,I prefer do all in the same armature to make it easier posing and reusing the rig(and I’m not sure using only empty will fix this,but I’ll give it a try).
In theory if I constraint a bone to another one(in location,track to,rotation and so on)all works,there is no way to allow user to do some indirect constraining?
All this kind of setup are easily feasable in xsi,maya,and 3dmax(basically I have done what xsi call isner spine),I know blender is different but honestly a good rigging system should allow that things,there is no way to make at least some workaround for this?
I’ll send you some test scenes with my ikspline setup,I hope it helps(personally I can live with this problem,but fixing it could grow the quality of the program very much).
Thanks for the answer Aligorith