Page MenuHome

Undoing 'create transformation orientation' makes selected transform orientation blank.
Confirmed, NormalPublicTO DO

Description

System Information
Linux 64bit

Blender Version
Broken: 2.72b, 2.71 (and lower?)

Short description of error

Creating custom transformation orientation can be undone, but doing so will set transformation orientation dropdown in 3D view header to blank value.

Exact steps for others to reproduce the error

  1. Create new file
  2. Run 'create transformation orientation' operator (ctrl+alt+space in default keymap): transformation orientation dropdown in 3D view header should change to show the name of newly created orientation
  3. Undo (ctrl+z): transformation orientation dropdown becomes blank.

Event Timeline

Campbell Barton (campbellbarton) lowered the priority of this task from 90 to 50.Nov 3 2014, 4:13 PM

The issue here is screen data is stored separate to blend-file data, so undo/redo can make them out-of-sync.

@Campbell Barton (campbellbarton), shall we run some sort of validation of the screen data after undo or we just mark the operator as non-undoable?

Cant really see a good solution here - making it non-undoable wont help since some other operation can push the undo stack.

We could just work-around the problem with a fallback - if the index is out of range use world-space, but even in this case undo will switch back and forget the space that was set previously...

Another way could be to store 2 indices's.

  • Index of built-in manipulator.
  • Index of custom manipulator.

Then if the index of the custom manipulator is out of range it can used the built-in value.
But this seems like a reasonable amount of effort just to workaround this bug.

@Campbell Barton (campbellbarton), think it's better to just clamp transform index and don't worry about previously used space. Would at least prevent inconsistent state of .blend file even tho wouldn't be totally nice solution from user's perspective. Further improvements could b then moved to TODO.

The reason I dont much like to clamp on undo, - is (undo/redo) will then change your manipulator.

Looked into possible fix, but not really happy with it because its searching the list on each access. P210

Setting as TODO.

I guess this one is now different: name seems to be kept, but the operation isn't undone (transform orientation remains after undo).