Group: Unstable (example)
As i was build a rig, i noticed that the bones in edit-mode moved on their own while switching between bone editmode and something else (objectmode, posemode,...). After searching for the reason i found out that blender has two different representations for bones in editmode and posemode (structs: EditBone and Bone). Every time you switch between modes blender computes the representation again. Since there are a lot of floating point operations involved, the precession gets lost, resulting in bones that aren't at the locations anymore you put them.
If you use a more complex rig you will soon see the problem directly, as in this example i posted on blenderartist.org: http://blenderartists.org/forum/showthread.php?t=208460
The patch avoids this issue. It does not compute them again and again. Instead it stores the edit-mode locations and roll as extra variables (e_roll, e_head, e_tail) inside the "Bone struct". That way this values only get copied between EditBone and corresponding Bone structs. This ensures that bones keep their original locations in editmode, while EditBone can be used as before.
The current patch has one issue. It has no way to open existing files, in which the variables e_roll, e_head and e_tail aren't present. They will be initialized with 0. Making all imported bones useless. (party at ground 0,0,0)
Someone might help me to figure out how i can initialize the imported bones with the correct values, as they get read from the file and allocated. Any newly created file is unaffected, since all variables are stored correctly.
Inside the code that initializes the Bone struct should be a short check if e_roll, e_head and e_tail are 0. If so, compute them once, as it was done before every time switching between modes.